Build Journal
Cade SEO Enhancements & Local Image Fixes — October 2, 2026
I shipped significant Cade SEO enhancements and fixed local image loading issues, tackling bugs and improving site functionality in one long 22-hour day.
What shipped
- Real Link-Tree Emulation — Implemented link-tree feature for resources pages.
- Local Image Loading Fix — Resolved protocol-relative URL issues for images.
- Content Engine Migration — Enabled dynamic content management for Cade resources.
- Footer Rendering Improvements — Adjusted footer visibility for better UX and accessibility.
- Cade SEO Enhancements — Boosted SEO capabilities with several new features.
Today, I set out to enhance the Cade SEO capabilities and resolve some nagging issues with local image loading across the platform. What I shipped was a combination of six feature improvements and eleven critical fixes, all stemming from a grueling 22-hour workday. The improvements not only bolster the functionality of the Cade SEO plugin but also ensure that our local feed images work seamlessly within the site, which is vital for the user experience and SEO performance.
One of the standout features I implemented was the real link-tree emulation. This involved creating a system to store the cade_link_tree post meta and rendering it on every resources page. While the concept sounds straightforward, the implementation required a deep dive into existing data structures and ensuring that the new system integrated smoothly with the current architecture. The port of the cade-seo plugin was faithful, but it also required careful attention to detail to ensure that the output matched the expectations laid out in the verification items. This was a win for user navigation, as it now provides a clear path for visitors to access additional resources directly from every resources page.
On the flip side, I wrestled with a series of bugs that threatened to derail the day. One of the most time-consuming fixes was addressing the local image loading issue. The regex I had initially implemented failed to account for protocol-relative URLs from the image hosting service. This oversight meant that images were not being properly localized, which triggered a cascade of errors in the site’s validation checks. After a few hours of debugging and testing, I managed to implement a solution that not only normalized these URLs but also ensured that the images were served from our own domain, improving both load times and SEO.
Another significant challenge was ensuring that the footer displayed correctly without disrupting the site layout. I had to resolve multiple rendering issues, including ensuring that the footer was only visible to screen readers and not interfering with the main site navigation. This required a careful reorganization of the HTML structure, and I spent a considerable amount of time verifying that the changes did not break any existing functionality. The result is a footer that meets accessibility standards without compromising the user interface.
Additionally, I focused on the Content Engine migration rails, which were crucial for the ongoing development of the Cade resources. Implementing the POST/GET/DELETE functionality for the cade_resources custom post type was a significant step forward. This feature allows for dynamic content management, which will be essential as we scale the platform. It was a complex task, but after overcoming some initial roadblocks, I managed to integrate it successfully, ensuring that all endpoints functioned as intended.
Reflecting on the day, I’m proud of the progress I made, but I can't ignore the grind. Working solo with AI assistance in VS Code certainly has its advantages, but it also means that every bug and feature falls squarely on my shoulders. I often find myself in a race against the clock, trying to balance feature development with necessary fixes. Each commit tells a story of both progress and the challenges I faced, and today was no different.
In the grand scheme of building this one-man-show toward a billion-dollar valuation, every hour spent on debugging and refining the platform is an investment in the future. As I enhance the capabilities of the Cade SEO plugin and improve the overall functionality of the site, I am not just addressing immediate concerns; I am laying the groundwork for long-term success. Today’s work is a testament to that vision, blending technical improvements with a user-focused approach. I look forward to continuing this journey, tackling the next set of challenges head-on, and sharing the lessons learned along the way.