Skip to content

feat: improve SEO#1818

Open
isadorable-png wants to merge 3 commits intodevfrom
feat/SEO-improvements
Open

feat: improve SEO#1818
isadorable-png wants to merge 3 commits intodevfrom
feat/SEO-improvements

Conversation

@isadorable-png
Copy link
Copy Markdown
Collaborator

This branch mainly improves titles/descriptions and social previews, adds structured data where it helps (home, DAO home, FAQ, glossary), adds llms.txt, tightens sitemap/robots, and makes proposal pages use real proposal copy in metadata, plus off-chain proposal OG images.

Request Document ↗️


Site-wide / plumbing

  • shared/seo/site.ts — getSiteUrl() / helpers so metadata and JSON-LD use a consistent absolute base URL.
  • shared/seo/graphql.ts — Server-side GraphQL helpers to load proposal titles/descriptions (on-chain and off-chain) for generateMetadata.
  • shared/seo/JsonLd.tsx — Small component to inject <script type="application/ld+json">.
  • app/layout.tsx — Stronger default metadata (metadataBase, keywords, Open Graph / Twitter copy aligned with the product).

Crawling & discovery

  • app/sitemap.ts — Adjusted how static and dynamic URLs are emitted (still driven by DAO config + proposal paths where applicable).
  • app/robots.ts — Tweaked rules for crawlers.
  • app/llms.txt/route.ts — New /llms.txt plain-text file pointing at important URLs (site, FAQ, glossary, contact, terms, DAO home pages).

Home & global marketing surface

  • app/page.tsx — Refined title/description (including OG/Twitter) and SoftwareApplication JSON-LD.
  • DAO area
  • app/[daoId]/(main)/page.tsx — DAO overview metadata plus SoftwareApplication JSON-LD for that DAO dashboard.
  • app/[daoId]/(main)/activity-feed/page.tsx — Richer, DAO-specific title/description and explicit Open Graph + Twitter fields (not only og:url).

Governance / proposals

  • .../governance/proposal/[proposalId]/page.tsx — Dynamic metadata from getOnchainProposalSeoData (with sensible fallbacks).
  • .../governance/offchain-proposal/[proposalId]/page.tsx — Same pattern with getOffchainProposalSeoData and decoded proposal id.
  • .../proposal/[proposalId]/opengraph-image.tsx — Small OG image label tweak for proposals.
  • .../offchain-proposal/[proposalId]/opengraph-image.tsx — New OG image route for off-chain proposal URLs (aligned with other DAO section images).

Static content pages

  • app/faq/page.tsx — FAQPage JSON-LD built from existing FAQ items (plus metadata wiring as in the diff).
  • app/glossary/page.tsx — DefinedTermSet / DefinedTerm JSON-LD; minor description text normalization; renders JsonLd next to the client glossary UI.
  • app/terms-of-service/page.tsx — Clearer, more descriptive title + description (including OG/Twitter).

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 14, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
anticapture Ready Ready Preview, Comment Apr 16, 2026 9:15pm
anticapture-storybook Ready Ready Preview, Comment Apr 16, 2026 9:15pm

Request Review

@claude
Copy link
Copy Markdown

claude Bot commented Apr 14, 2026

Claude encountered an error —— View job


I'll analyze this and get back to you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants