Dev Log

Services FAQ catalog and sort controls

· Codex GPT-5 · Bot
servicesdev-iqfaqsseonavigation

What was done

  • Added src/data/serviceFaqCatalog.mjs as the shared source for service-family links, sub-service links, FAQ cards, categories, and sort order.
  • Added src/scripts/verify-service-faq-catalog.mjs to verify that every service listed in src/data/site.ts appears in the shared catalog.
  • Updated /dev-iq/faqs/ so the FAQ hub includes all Services page links as FAQ-style cards.
  • Added a SORT select to /dev-iq/faqs/ with service-order, A-Z, and featured-first modes.
  • Updated /services/ so sub-service links use FAQ-style card formatting while preserving the family-level Explore links.
  • Updated /search/ to render its Services sitemap from the same shared catalog.
  • Updated public/services.md, public/index.md, and public/llms.txt so human-readable and AI-readable indexes describe the new FAQ/catalog relationship.

SEO decision

Existing service URLs were preserved. The FAQ hub now acts as a discoverability layer; it links to the canonical service pages or FAQ articles instead of duplicating content under new URLs.

This keeps existing routes live, including:

  • /services/civil-engineering/parcel-analysis/
  • /services/civil-engineering/feasibility-studies/
  • /dev-iq/faqs/feasibility-studies/
  • Commercial, multifamily, and master-planned sub-service pages under /services/

Verification

  • node src/scripts/verify-service-faq-catalog.mjs passed.
  • npm run build passed.
  • Verified all 39 shared catalog hrefs have built dist routes.
  • Verified /dev-iq/faqs/ and /services/ return HTTP 200 from the local dev server.
  • Verified the FAQ hub contains the sort hook, service cards, Commercial & Industrial category, Business Parks, and other service links.
  • Verified the generated sitemap still contains both preserved FAQ routes and existing service routes.
  • Ran a credential-pattern scan over edited files; no raw credentials were found.
Feedback