# PageGraph > Route-declared SEO for TanStack Start and TanStack Router: head tags, sitemap, robots.txt, JSON-LD and a CI gate from one declaration per route. Install with `bun add pagegraph`. Source and issues: https://github.com/aryasaatvik/pagegraph ## Docs - [Docs | PageGraph](https://pagegraph.arya.sh/docs.md): Learn PageGraph: a tutorial, how-to guides, the CLI and configuration reference, and how the route graph works. - [The graph | PageGraph docs](https://pagegraph.arya.sh/docs/concepts/the-graph.md): Why PageGraph has each route declare its SEO once, how nodes, typed edges and collections form a graph, and how head, sitemap and checks read it. - [How-to guides | PageGraph docs](https://pagegraph.arya.sh/docs/guides.md): Task-focused guides for gating CI, Open Graph images, Markdown twins, coverage, claims, agent workflows, audits and TanStack Router. - [Run agent workflows | PageGraph docs](https://pagegraph.arya.sh/docs/guides/agent-workflows.md): Scaffold the agent preset, run research, analyze, plan and improve workflows, then review and apply the recorded edits with pagegraph apply. - [Audit any website | PageGraph docs](https://pagegraph.arya.sh/docs/guides/audit.md): Run pagegraph audit against any URL without a config file, then compare two audit reports to catch SEO regressions between revisions. - [Gate CI with pagegraph check | PageGraph docs](https://pagegraph.arya.sh/docs/guides/ci-check.md): Fail CI on structural SEO violations with pagegraph check, and verify the server-rendered HTML of every declared page with the --site flag. - [Gate claims in page copy | PageGraph docs](https://pagegraph.arya.sh/docs/guides/claims-gate.md): Declare probability rules against rendered page sections, commit the answers, and fail the build when a section violates your policy. - [Check contextual links | PageGraph docs](https://pagegraph.arya.sh/docs/guides/contextual-links.md): Set minimum inbound links per page, verify the links a crawler actually receives, assert coverage on served anchors and propose missing links. - [Enforce route coverage in Vite | PageGraph docs](https://pagegraph.arya.sh/docs/guides/coverage-gate.md): Fail vite build when a page in an enforced route group declares neither staticData nor head, and derive robots exclusions from the route tree. - [Publish Markdown twins and llms.txt | PageGraph docs](https://pagegraph.arya.sh/docs/guides/markdown-twins.md): Capture rendered TanStack Start pages as Markdown twins at prerender, wire the Cloudflare prerender Worker, and serve a graph-derived llms.txt. - [Add per-page Open Graph images | PageGraph docs](https://pagegraph.arya.sh/docs/guides/og-images.md): Declare an Open Graph image on each route, share one resolver between the plugin and createSeo, and fail CI when a page has no image. - [Use PageGraph without TanStack Start | PageGraph docs](https://pagegraph.arya.sh/docs/guides/without-tanstack-start.md): Build the same graph from any TanStack Router tree, render the sitemap and robots.txt yourself, and point the CLI at it with viteGraphLoader. - [Quick start | PageGraph docs](https://pagegraph.arya.sh/docs/quick-start.md): Add PageGraph to an existing TanStack Start app in five steps and finish by running pagegraph check against your own routes. - [Reference | PageGraph docs](https://pagegraph.arya.sh/docs/reference.md): Reference pages for PageGraph CLI commands, package entries, check rules and configuration options, with the facts to look up while you work. - [Check rules | PageGraph docs](https://pagegraph.arya.sh/docs/reference/check-rules.md): Every PageGraph check rule by name and severity, covering graph rules, rendered-content rules, Open Graph images, robots conflicts and stale pages. - [CLI commands | PageGraph docs](https://pagegraph.arya.sh/docs/reference/cli.md): Every pagegraph CLI command with a one-line description, the agentic workflow command table, and the stdout and stderr convention. - [Configuration | PageGraph docs](https://pagegraph.arya.sh/docs/reference/configuration.md): Options for the pagegraph() Vite plugin, createSeo, and the defineSeoConfig fields in pagegraph.config.ts, with defaults and what each controls. - [Package entries | PageGraph docs](https://pagegraph.arya.sh/docs/reference/entries.md): Where each pagegraph package entry runs, what it exports and which peers it needs, plus the stub and zero-dependency guarantees. ## Pages - [PageGraph: route-declared SEO for TanStack Start](https://pagegraph.arya.sh/index.md): Head tags, sitemap, robots.txt, JSON-LD and a CI gate for TanStack Start, from one declaration per route.