Build Journal
Agentic SEO Enhancements & 404 Realism — August 24, 2026
I improved agentic SEO with a real 404 page and streamlined CSP policies, all while enhancing the AEO with new llms-full.txt capabilities.
What shipped
- Real 404 Page — Implemented a genuine 404 status page for better user experience and SEO.
- Enhanced CSP Policies — Strengthened the Content Security Policy to improve security and performance.
- Expanded AEO Capabilities — Added new llms-full.txt for comprehensive portal directory access.
- Updated Sitemap Handling — Stopped redundant lastmod updates on static routes for honest indexing.
- Authentication API Fix — Resolved API response issues for unauthenticated users to clean up console errors.
Today was all about sharpening the agentic web experience and tightening up some loose ends in both security and SEO. After a focused five-hour session, I shipped ten features and improvements, along with a crucial fix that addressed a lingering issue with the authentication API. The highlights of today’s work included the introduction of a proper 404 page, enhancements to our Content Security Policy (CSP), and a significant expansion of the AEO capabilities with the new llms-full.txt.
The first major feature I tackled was the real 404 page. Previously, we had a catch-all redirect that sent users to a robots-disallowed page whenever they encountered a dead link. This soft-404 approach was misleading for both users and search engines, which led to unnecessary noise in Google Search Console. I created a genuine 404 status page that informs users of the error while directing them to relevant resources like a map and the home page. This change not only enhances user experience but also provides clearer signals to crawlers, making sure they understand the status of a URL correctly.
Another significant area of focus was the Content Security Policy. I implemented a more robust nonce-less baseline policy that ensures cached and ISR HTML never goes stale against a policy without a nonce. This was a problem that had persisted since late July, and I’m relieved to have finally addressed it. Alongside this, I made adjustments to allowlist certain domains like static.cloudflareinsights.com and Jitsi, which are essential for our RUM beacon scripts. This should improve our site's security posture while also ensuring that users have seamless access to video conferencing features.
I also made strides in our SEO strategy by updating how we handle sitemap last modified dates. I stopped the hourly regeneration of the lastmod attribute on static routes, which previously indicated to Google that the content had been recently changed. This was misleading, particularly for evergreen content where updates were infrequent. Now, those routes will omit the lastModified attribute altogether, providing a more honest representation of when content is genuinely refreshed. This should help build trust with search engines and improve our overall indexing.
On the AEO front, I expanded the llms-full.txt file, which is a comprehensive directory of our public portal with links to cost, metro, and industry URLs all in one fetch. Agents have increasingly been probing this file first, so it was crucial to make it as informative and accessible as possible. This enhancement should provide a more streamlined experience for users and improve our data architecture significantly.
While these features were rolling out smoothly, I had to face a couple of bugs along the way. The fix for the authentication API was particularly challenging. Initially, it returned a 200 response with {user:null} for anonymous users, which was causing console errors on every page load. This was frustrating, as it cluttered the console and made debugging more difficult. I updated the API to return a 401 status for unauthenticated users, which should help clean up the logs and provide clearer signals on user authentication states.
Reflecting on today’s progress, it’s impressive to see how much can be accomplished in a single session when you have a clear focus. Working solo with Claude Code in VS Code allows me to iterate quickly without the need for extensive collaboration tools or services. It’s a reminder that while building a billion-dollar valuation company is no small feat, the incremental improvements I’m making toward that goal are tangible and real.
In the broader context of the agentic web, these updates are not just technical fixes; they represent a commitment to creating a superior user experience that prioritizes both security and clarity. As I continue to refine the platform, I’m excited to see how these changes will impact user engagement and search visibility. Each step I take is another piece of the puzzle in building a one-man-show that I believe can achieve significant success in the spatial AI landscape.