# Astro SEO repository checklist

Use this checklist inside an Astro repository. It covers facts that a deployed
URL alone cannot prove. The matching public checker verifies the HTML and
responses that actually shipped.

Checker: https://genten.studio/tools/astro-seo-checker/

Before editing, read the repository instructions and find which layouts, route
data, and hosting configuration own each SEO output.

## Project and URL settings

- [ ] Confirm `site` in `astro.config.*` matches the production canonical origin.
- [ ] Confirm the chosen trailing-slash behavior matches hosting redirects,
  canonicals, sitemap URLs, and internal links.
- [ ] Confirm production never emits preview URLs. Keep preview deployments out
  of search, and document whether their canonicals point to production or stay
  preview-local.
- [ ] Inspect host redirects, including HTTP to HTTPS and preferred host behavior.

## Routes and sitemaps

- [ ] Confirm every intended public route is generated in the production build.
- [ ] Confirm dynamic routes and content collections generate the expected paths.
- [ ] Confirm a sitemap integration or intentional alternative emits valid,
  absolute production URLs.
- [ ] Keep each route's noindex decision and sitemap inclusion in the same source
  of truth where possible.
- [ ] Inspect the built sitemap instead of assuming an installed package worked.

## Shared metadata

- [ ] Keep title composition in one shared layout.
- [ ] Emit one absolute canonical for each intended indexable page.
- [ ] Supply page-specific title and description values from route data or frontmatter.
- [ ] Confirm the final document has one head and that titles, canonicals, and
  other metadata are rendered inside it.
- [ ] Keep Open Graph and card metadata aligned with the canonical page.
- [ ] Confirm social images are absolute, reachable, and sized for sharing.

## Structured data

- [ ] Give one component or helper clear ownership of each JSON-LD block.
- [ ] Serialize JSON-LD as valid JSON and inspect the production output.
- [ ] Add only schema types and properties supported by visible page content.
- [ ] Validate relevant pages with the search engine tools that consume the schema.

## Images

- [ ] Use `astro:assets` when its processing, dimensions, or responsive output is useful.
- [ ] Give every image an intentional alt value, including empty alt for decoration.
- [ ] Reserve image space with width and height or a real aspect ratio.
- [ ] Do not lazy-load the actual above-the-fold key image.
- [ ] Check remote-image configuration and production optimization behavior.

## Islands and initial HTML

- [ ] Review every `client:*` directive and confirm the interaction needs hydration.
- [ ] Keep important copy and crawlable links in the initial HTML.
- [ ] Confirm interactive navigation still emits real anchor href values.
- [ ] Test useful fallback behavior when client JavaScript fails or is delayed.

## Robots and deployment

- [ ] Identify whether robots.txt is static, generated, or owned by the platform.
- [ ] Confirm that any crawl blocks on private or unfinished routes are intentional.
- [ ] Do not use robots.txt as access control. Protect genuinely private content
  with authentication.
- [ ] Run the production build and inspect `dist` or the adapter output.
- [ ] Check redirects, headers, canonicals, robots, and sitemap behavior on a
  deployed preview where possible, then confirm the final behavior in production.
- [ ] Re-run the deployed URL through the Genten Astro SEO Checker after changes.

This checklist recommends outcomes, not mandatory packages. Inspect the project
before installing or replacing an integration.
