Skip to content

[seo] Add missing social/SEO metadata #155

Description

@WalksWithASwagger

Context

This issue was refreshed after PR #166 and production probe #167. The old preview-only metadata audit is stale; use the verified production findings here.

Production was sampled on 2026-07-03 after PR #166 deployed to https://www.punkrockai.com/.

Verified current gaps:

  • site/favicon.ico exists, but sampled HTML pages do not include explicit favicon/basic icon <link> tags.
  • / has canonical URL and description, but no og:image in sampled production HTML.
  • /library has canonical URL and description, but no og:url and no og:image in sampled production HTML.
  • /widgets/conductor, /widgets/cutting-room-buckets, and /widgets/receipt-tells have canonical URLs, descriptions, and og:url, but no og:image.

Acceptance Criteria

  • Sampled pages include explicit icon links to the existing site/favicon.ico asset.
  • /, /library, /widgets/conductor, /widgets/cutting-room-buckets, and /widgets/receipt-tells include og:image values using existing assets.
  • /library includes og:url equal to https://www.punkrockai.com/library.
  • npm run eval passes.
  • npm run seo:index-hygiene passes.
  • Any remaining missing og:image outside the sampled pages is either fixed or documented as intentionally out of scope in the PR body.

Tests/Evals

Run:

npm run eval
npm run seo:index-hygiene

Then verify local or production HTML for the sampled pages includes the expected metadata:

curl -L https://www.punkrockai.com/ | rg -i "canonical|og:url|og:image|description|icon"
curl -L https://www.punkrockai.com/library | rg -i "canonical|og:url|og:image|description|icon"
curl -L https://www.punkrockai.com/widgets/conductor | rg -i "canonical|og:url|og:image|description|icon"
curl -L https://www.punkrockai.com/widgets/cutting-room-buckets | rg -i "canonical|og:url|og:image|description|icon"
curl -L https://www.punkrockai.com/widgets/receipt-tells | rg -i "canonical|og:url|og:image|description|icon"

Verification

Before opening a PR, confirm:

  • npm run eval exits 0.
  • npm run seo:index-hygiene exits 0.
  • The five sampled URLs expose the expected icon, canonical, og:url, description, and og:image tags.
  • The PR body lists exact pages changed and any intentionally deferred metadata gaps.

Agent Instructions

Make the smallest static HTML changes needed to satisfy the acceptance criteria. Prefer existing assets:

  • Homepage: https://www.punkrockai.com/public/slides/neither-are-we.webp or another already-used homepage hero/section image.
  • /library: https://www.punkrockai.com/public/slides/taste-full.webp.
  • /widgets/conductor: https://www.punkrockai.com/public/slides/taste-full.webp.
  • /widgets/cutting-room-buckets: https://www.punkrockai.com/public/slides/taste-drip.webp.
  • /widgets/receipt-tells: https://www.punkrockai.com/public/slides/feed-machine-stamp.webp.

Keep canonical URLs and clean URL behavior unchanged. Do not rewrite page copy unless a metadata value is genuinely missing or wrong.

Out of Scope

  • Creating new image assets.
  • Changing sitemap, redirects, or canonical URL policy.
  • Search Console validation.
  • Merch, Release Day submission smoke tests, or unrelated SEO cleanup.

Related Evidence

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions