Technical Audit & JS Fix for a National Furniture Retailer
Conducted a comprehensive technical SEO audit for a national furniture retailer that uncovered critical JavaScript rendering and indexation issues silently killing organic performance. Key product and category pages weren't being properly rendered or indexed by Google — a problem that had gone undetected through multiple previous agency engagements. After identifying the root cause and implementing the technical fixes, organic revenue increased by 30% and non-branded traffic saw a dramatic recovery.
The Challenge
What was breaking
Organic traffic was eroding despite heavy content and link investment, and two prior agencies had run the standard playbook without moving the numbers. The actual problem was invisible unless you inspected the rendering layer.
Declining organic despite ongoing investment
Content, links, and on-page optimization were all being executed cleanly. Numbers kept sliding, which meant the real problem was somewhere nobody was looking.
JS-rendered product grids invisible to crawlers
Product data, category listings, and merchandising blocks loaded client-side after initial paint. For users the site looked fine; for Googlebot the commercial surface was effectively blank.
Two prior audits missed the root cause
Both previous agencies ran tool-based audits that reported clean. Neither compared rendered HTML against crawled HTML, which is the only way this class of bug surfaces.
Non-branded traffic collapsing fastest
Non-branded queries depend entirely on Google's confidence in page topical relevance. Once rendering broke, that confidence degraded and rankings followed.
Our Approach
How we solved it
We audited the site the way Googlebot actually sees it. Parallel crawls with Puppeteer and Screaming Frog simulated different render budgets, pulled rendered HTML from Google's live inspection tools, and compared against the DOM served to a normal browser. The gap was immediate and severe. From there we documented the specific rendering paths that were failing, built reproducible test cases, and coordinated with the internal dev team on a server-side rendering fix for the critical commercial paths — plus execution-order restructuring for paths that had to remain client-side.
Architecture
How the system works
Crawler Simulation
Puppeteer and Screaming Frog crawls configured to mimic Googlebot's render budget and execution environment, capturing exactly what the crawler would see.
Comparison Audit
Rendered HTML from Google's live inspection tools compared side-by-side against the browser DOM to surface the content gap.
Root Cause Analysis
Traced the rendering failure to a JS execution dependency chain that pushed commercial content past the crawler's render window.
SSR Fix
Coordinated with internal engineering to ship server-side rendering for product detail, category listings, and merchandising blocks. Client-side paths restructured for execution order.
Monitoring
Automated render QA added to CI — any regression in crawler-visible content fails the build before it reaches production.
The Impact
Before vs. after
Outcomes
Beyond the headline numbers
30% increase in organic revenue after the fix deployed
Thousands of commercial pages fully re-ingested by Google within weeks
Non-branded traffic — the cleanest signal of restored relevance — recovered fastest
Automated render QA in CI prevents this class of regression going forward
Root cause identified that two prior agency audits had missed entirely
Engineering team now ships with SEO rendering constraints as a first-class test
Takeaways
What transferred
When the standard SEO playbook is not moving the numbers, the problem is almost always in the rendering, crawling, or indexing layer — the parts of the stack most tools do not inspect by default. The audits that find real revenue are the ones that treat the site the way Google's crawler actually treats it, not the way a human browser does. Everything else is theater.
Want results like these?
Every engagement starts with a conversation about your goals. No pitch deck — just a straightforward discussion about what's possible.
Start a Conversation