← Back to Case Library

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

  1. 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.
  2. 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.
  3. 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

Case ID: dc8df2b3-d653-434c-ad44-3644f580deb5