site: add SEO metadata (rel=me, JSON-LD) and crawlable GitHub URL#329
Merged
ojongerius merged 1 commit intomainfrom May 6, 2026
Merged
site: add SEO metadata (rel=me, JSON-LD) and crawlable GitHub URL#329ojongerius merged 1 commit intomainfrom
ojongerius merged 1 commit intomainfrom
Conversation
bb0b97a to
0d063f6
Compare
Adds a `<link rel="me">` and a schema.org WebSite/Organization JSON-LD block to every page so search engines can connect the site to its GitHub org. Overrides Starlight's `SocialIcons` so the GitHub anchor text on desktop reads "github.com/agent-receipts" (visually hidden on mobile to keep the icon-only header layout).
0d063f6 to
a9ea858
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds machine-readable SEO identity metadata to the Starlight docs site and makes the GitHub social link include crawlable text (visible on desktop, visually hidden on smaller viewports).
Changes:
- Adds a
<link rel="me">and schema.org JSON-LD (WebSite+publisher: Organization) to the Starlightheadconfiguration. - Overrides Starlight’s
SocialIconscomponent to render the GitHub URL as text (desktop-visible, mobile visually hidden) while keeping icon rendering.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
site/src/components/SocialIcons.astro |
Adds a Starlight component override that renders GitHub link text (desktop-visible, mobile visually hidden) alongside the icon. |
site/astro.config.mjs |
Injects rel="me" + JSON-LD into <head> and wires up the SocialIcons override. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds three SEO additions to the Starlight docs site (
site/):<link rel="me">in<head>pointing tohttps://github.com/agent-receipts— confirms the GitHub org is "us" for IndieAuth / verified-link consumers.<head>— aWebSitewith apublisherOrganizationwhosesameAspoints to the GitHub org. Helps search engines connect the site to the org's knowledge-graph entity.SocialIconscomponent override — the GitHub social link now contains the visible anchor textgithub.com/agent-receipts(derived from the configuredhref) on desktop (≥ 50em). On mobile the text issr-only-style hidden viaclip-path: inset(50%)— still in the DOM and crawlable, but the header keeps its icon-only layout on phones.Why
The site previously emitted no machine-readable signal connecting
agentreceipts.aito the GitHub org, and the only GitHub link was an icon-only social anchor (no crawlable text). Together that meant search engines had to infer the relationship. These three additions give them an explicit, conventional signal on every page.Notes for review
WebSite+publisher: Organizationrather thanSoftwareApplication. The latter is intended for installable apps and would have flagged "missingapplicationCategory/operatingSystem" in structured-data validators. The chosen shape has no required-but-missing properties.icon === "github"rather than a hardcoded URL string-equality, and derives the visible text from the configuredhref. Single source of truth lives in the existingsocialarray inastro.config.mjs.sameAs: the npm registry confirmsagnt-rcptis a scope, not an npm Organization (the/-/org/agnt-rcptendpoint returns 404), so I omitted the npm URL rather than ship a 404 in our schema.org markup.Checklist
SocialIcons.astro,Head.astro,headschema) on GitHub for API compatibility..astro/ config in this repo's lint setup.Note
I could not run
pnpm install && pnpm buildin my sandbox (no Node toolchain available). Please verify the build locally before merging.