Skip to content

feat: add meta descriptions to all pages - #180

Merged
magnus-madsen merged 3 commits into
masterfrom
seo/meta-descriptions
Aug 3, 2026
Merged

feat: add meta descriptions to all pages#180
magnus-madsen merged 3 commits into
masterfrom
seo/meta-descriptions

Conversation

@magnus-madsen

Copy link
Copy Markdown
Member

None of the ten pages carried a <meta name="description">. Search engines were synthesising snippets from page content — on the homepage that means starting from <h1>Flix &mdash;</h1> — and chat clients had no text to unfurl.

Changes

Layout.astro gains a typed Props interface and renders the tag:

interface Props {
  title: string;
  description: string;
}

description is required rather than optional, so a page added later without one fails astro check — already run by CI on every push and PR. This also types title, which was previously implicit any.

Each of the ten pages then passes a description written from its actual content, 69–157 characters, front-loaded so the distinctive part survives truncation.

Scope

Description tag only. og:* and twitter:* are still absent — those need a 1200×630 card image designed before the markup does anything, so they are left for a follow-up. No JSON-LD.

Verification

  • npm run check — 0 errors, 0 warnings, 0 hints across 20 files
  • npm run build — clean, 10 pages
  • Confirmed in the built HTML that all ten pages carry a unique description

🤖 Generated with Claude Code

magnus-madsen and others added 3 commits August 3, 2026 14:30
None of the ten pages carried a <meta name="description">, so search
engines synthesised snippets from page content and chat clients had no
text to unfurl.

Add a typed Props interface to Layout.astro and render the tag, then
give each page a description written from its actual content. The prop
is required rather than optional so that a page added without one fails
`astro check`, which CI already runs on every push and PR.

This covers the description tag only; og:* and twitter:* are still
absent and need a 1200x630 card image before they are worth adding.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The previous description listed paradigms and features, which reads much
like the other effect-oriented research languages. Lead instead with the
claim the homepage itself makes and the tooling comparison table backs:
compiler, LSP, REPL, and build tool in a single binary.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Reuse the first paragraph of the homepage rather than a rewrite, so the
search snippet and the landing page open in the same voice and credit
both Aarhus University and the open source contributors.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@magnus-madsen
magnus-madsen merged commit 0d47488 into master Aug 3, 2026
2 checks passed
@magnus-madsen
magnus-madsen deleted the seo/meta-descriptions branch August 3, 2026 12:56
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