Build Journal

Agentic SEO Improvements & Security Enhancements — August 24, 2026

I improved agentic SEO and security with a real 404 page, CSP updates, and a sitemap fix, all while tackling bugs and enhancing performance.

11 changes3 min readby Rob

What shipped

  • Real 404 PageImplemented a proper 404 page to improve user experience.
  • CSP EnhancementsStrengthened security with a nonce-less CSP and allowed specific sources.
  • SEO ImprovementsAdjusted sitemap handling to ensure accurate last-modified dates.
  • Security.txt AddedIntroduced a security.txt file for better transparency.
  • Performance OptimizationsDisabled unnecessary headers and improved caching for marketing assets.

Today, I focused on enhancing the agentic SEO functionalities and security measures of my platform, hashtag.org. I shipped a total of 11 commits in a solid 5-hour session, tackling various areas including dependencies, security policies, sitemap improvements, and fixing a few bugs that had been causing headaches. The most significant updates include a real 404 page implementation and major Content Security Policy (CSP) adjustments that I believe will significantly improve user experience and search engine trust.

The first major feature I tackled was the implementation of a real 404 page. Previously, any dead or mistyped URL was redirected to a soft-404 page, which not only confused users but also cluttered up Google Search Console with misleading data. This time, I ensured that every non-existent page returns a proper 404 status. Now, users will see a helpful map and a link back to the homepage rather than being left in a dead-end. This change took longer than expected due to the need for thorough testing, as I had to ensure that the new implementation did not interfere with existing routes.

Next, I made significant strides in refining the Content Security Policy (CSP). I allowed specific sources such as static.cloudflareinsights.com and the Jitsi host to ensure that necessary scripts load correctly without compromising security. I also enforced a nonce-less baseline policy, which helps prevent potential vulnerabilities without relying on dynamic nonce generation. This was a challenge, as I had to ensure that every script was accounted for and that no essential functionality was lost in the process. The first-enforce-day console showed a few blocked scripts initially, but after some adjustments, everything fell into place.

On the SEO front, I stopped the practice of stamping the last modified date on static routes. This was causing Google to distrust the last-modified field, as it was being updated too frequently and incorrectly. By omitting these updates for evergreen routes, I believe I can provide a more honest representation of the content's freshness to search engines. This change was part of a broader strategy to ensure that my platform remains trustworthy in the eyes of Google, which is essential for our long-term visibility.

I also introduced a security.txt file to comply with RFC 9116. This addition provides a clear point of contact for security issues and helps establish a transparent communication line. While this was a relatively small change, it adds a layer of professionalism to the platform that I believe is vital as we scale up.

In terms of performance enhancements, I disabled the poweredBy header to eliminate unnecessary framework fingerprints. This small change can help obscure the underlying technology from potential attackers and improve security. I also optimized cache settings for static marketing assets, which had been unnecessarily refetched every four hours. By adjusting the caching rules, I reduced server load and improved load times for users.

Finally, I tackled a bug in the authentication process where anonymous users received a 200 response with a user:null status instead of the correct 401. This was causing red console errors for every signed-out visitor, which detracted from the user experience. By correcting this behavior, I ensured that the application behaves more predictably for users, thus enhancing the overall experience.

Reflecting on today’s work, I feel a mix of pride and exhaustion. Building this platform solo, with the assistance of AI tools like Claude Code in VS Code, allows me to streamline many processes and focus on what matters — delivering a superior product. Each feature I ship brings me closer to my vision of creating a one-man-show company with a billion-dollar valuation. However, the path is fraught with challenges, and today was no exception. Navigating through dependencies, security concerns, and SEO intricacies is no easy feat, but it’s all part of the grind. I’m excited to see how these updates will impact user experience and search engine performance in the coming days.

← Back to the full build journal