Skip to content

seo: give every page its own description, og:title and canonical - #15

Merged
lintdeveloper merged 1 commit into
mainfrom
chore/per-page-seo-meta
Aug 29, 2026
Merged

lintdeveloper merged 1 commit into
mainfrom
chore/per-page-seo-meta

Conversation

@lintdeveloper

Copy link
Copy Markdown
Owner

All 19 pages shipped identical metadata — VitePress makes <title> unique but leaves description and og:* at the site level.

  • Search Console flags duplicate meta descriptions
  • every search snippet was the same paragraph
  • deep links shared the homepage's social card
  • no canonicals at all

transformPageData now derives all three per page; descriptions are written per page since they are the search snippets. Verified unique across all 19.

Auditing the site right after handing it to Google and Bing found that all 19
pages shipped identical metadata. VitePress gives each page a unique <title>
but leaves `description` and the og:* tags at whatever the site config says, so:

  · Search Console reports duplicate meta descriptions
  · every search snippet is the same paragraph, whatever the page
  · sharing a deep link shows the homepage's social card
  · no page had a canonical URL at all

transformPageData now derives all three per page. Descriptions come from
frontmatter, written for each of the 18 content pages — these are the search
snippets, so they say what that page answers rather than repeating the pitch.

Verified on the built output: title, description, og:title and canonical are
each unique across all 19 pages, and nothing is missing a canonical. The
verification file and 404 are excluded from the audit, correctly — neither
should be indexed.
@lintdeveloper
lintdeveloper merged commit 92c8605 into main Aug 29, 2026
11 of 12 checks passed
@lintdeveloper
lintdeveloper deleted the chore/per-page-seo-meta branch August 29, 2026 20:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant