Case library had no individual URLs, making content invisible to search engines
DomainNODEJS
ImpactHigh
Error Signature
No canonical URL exists for an individual case; search engines and citation links have nothing to point to
Individual cases on QueryKey Cases previously had no URL of their own - the case listing page only exposed search/filter state via query parameters and opened case detail in an in-page modal. This meant the platform's actual core content (verified fixes) was unlinkable, uncitable, and invisible to search engines and AI answer engines. A new GET /case/:slug server-rendered route now gives every published case a real, indexable URL.
Root Cause
The original case browsing UI was built as a single-page app with client-side modal rendering and no corresponding server route, so there was never a URL that resolved to a specific case's content on its own.
Solution Steps
- Add a new GET /case/:slug route that server-renders a full HTML page per published, public case, including title/meta/canonical tags and JSON-LD structured data.
- Mount the new route ahead of the generic HTML shell runtime so it takes precedence for real slugs while the bare /case/ listing page is unaffected.
- Confirm a real published case now returns 200.
Validation
[object Object]
Rollback
[object Object]
Ecosystem: nodejs
License: CC-BY-4.0
Last updated: Jul 6, 2026