Skip to content
This repository was archived by the owner on Oct 4, 2026. It is now read-only.
This repository was archived by the owner on Oct 4, 2026. It is now read-only.

Correct Ghost Radio sitemap namespace for Search Console #69

Closed

Description

@WalksWithASwagger

Correct Ghost Radio's sitemap namespace for Search Console

Context

On 2026-08-13, Google Search Console auto-verified https://ghost.radio.fm/ via the deployed HTML verification file and accepted sitemap.xml. After processing, Search Console reported that the sitemap was readable and discovered both canonical URLs, but returned one error: Incorrect namespace at line 2 on the urlset tag.

The production sitemap declares http://www.sitemaps.org/protocol/sitemap/0.9; the sitemap protocol requires http://www.sitemaps.org/schemas/sitemap/0.9. Existing issue #46 completed the Netlify production-host and discovery-file deployment, and its agent instructions require newly evidenced code defects to be split into a scoped issue.

The homepage is already indexed. /classic was Discovered - currently not indexed; an indexing request was accepted and added it to Google's priority crawl queue.

Acceptance Criteria

  • examples/playground/public/sitemap.xml declares http://www.sitemaps.org/schemas/sitemap/0.9 on the urlset element.
  • A regression test fails for the non-standard protocol namespace and passes for the standard schemas namespace.
  • The sitemap retains exactly the two canonical URLs https://ghost.radio.fm/ and https://ghost.radio.fm/classic.
  • The full unit suite, typecheck, package build, and SEO checker pass.
  • After a separately approved merge and production deployment, the live sitemap serves the corrected namespace and Search Console no longer reports the namespace error after reprocessing.

Tests/Evals

  • Add a focused assertion to test/seoCheck.test.ts for the exact standard namespace.
  • Preserve the existing sitemap URL-order check in scripts/check-seo.mjs.
  • Re-run Google Search Console sitemap processing only after production serves the corrected XML.

Verification

  • pnpm exec vitest run test/seoCheck.test.ts
  • pnpm test:run
  • pnpm typecheck
  • pnpm build
  • pnpm check:seo
  • git diff --check

Agent Instructions

  • Keep the code change to the sitemap namespace and its regression test.
  • Preserve player behavior, tracks, audio, package exports, skins, routes, metadata, and committed dist/.
  • Commit and push the verified branch, then open a draft PR.
  • Do not merge, deploy, resubmit the sitemap, or request indexing without explicit human approval and live production evidence.

Out of Scope

Linear

Activity

  1. added a commit that references this issue on Aug 21, 2026
    d08cc1f
  2. WalksWithASwagger commented on Aug 21, 2026

    @WalksWithASwagger
    OwnerAuthor

    Production receipt (2026-08-21):

    • Merged in PR fix(seo): correct Ghost Radio sitemap namespace #70 at d08cc1f9a202546aa2699c760bd082c02b42453c.
    • Main CI run 32505131884 passed: typecheck, unit tests, dist/package checks, and Playwright E2E.
    • Netlify production deploy 6a88828c69ff9f78a6d6ca4b: https://app.netlify.com/projects/ghost-radio-fm/deploys/6a88828c69ff9f78a6d6ca4b
    • Live https://ghost.radio.fm/sitemap.xml returns HTTP 200 / application/xml, parses successfully, and now uses http://www.sitemaps.org/schemas/sitemap/0.9.
    • Sitemap contains exactly the two canonical URLs: / and /classic.
    • Fresh Chromium smoke passed for modern playback/pause and classic-skin readiness with zero page/browser errors.
    • Rollback remains available at deploy 6a7f6640857881e42e4b7ca8.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions