Files
astro-website/openspec/changes/lighthouse-remediation/specs/seo-content-surface/spec.md
Santhosh Janardhanan 70710239c7
Some checks failed
ci / site (push) Has been cancelled
publish-image / publish (push) Has been cancelled
Theming done
2026-02-10 20:10:06 -05:00

1.7 KiB

MODIFIED Requirements

Requirement: Sitemap and robots

The site MUST provide:

  • sitemap.xml enumerating indexable pages
  • robots.txt that allows indexing of indexable pages

The sitemap MUST include the blog surface routes:

  • /blog
  • blog post detail routes
  • blog page detail routes
  • blog category listing routes

robots.txt MUST include a Sitemap: directive with an absolute URL to the sitemap (or sitemap index) and MUST NOT use a relative sitemap URL.

Scenario: Sitemap is available

  • WHEN a crawler requests /sitemap.xml
  • THEN the server returns an XML sitemap listing /, /videos, /podcast, /about, and /blog

Scenario: Blog URLs appear in sitemap

  • WHEN WordPress content is available in the cache at build time
  • THEN the generated sitemap includes the blog detail URLs for those items

Scenario: robots.txt includes absolute sitemap URL

  • WHEN a crawler requests /robots.txt
  • THEN the response includes a Sitemap: directive with an absolute URL (e.g., https://<domain>/sitemap-index.xml) that Lighthouse and crawlers can parse

ADDED Requirements

The site MUST NOT render anchor elements (<a>) without an href attribute.

Interactive UI that does not navigate MUST use a <button> element (or equivalent role) instead of a placeholder anchor.

If an anchor is used for navigation, it MUST include a valid href in the initial HTML (not only populated later by client-side JavaScript).

Scenario: Modal CTAs are crawlable

  • WHEN the homepage is loaded and the media modal markup exists in the DOM
  • THEN any CTA anchors within the modal have valid href values, or are not rendered as anchors until an href is available