GATSBY SEO AUDIT · REACT · GRAPHQL · STATIC GENERATION

Free Gatsby SEO Audit

Gatsby's SSG approach gives you an SEO-friendly foundation — but missing <Head> exports, lazy-loaded LCP images, and client-only routes returning empty HTML are the gaps a generic audit won't surface. DeepSEOAnalysis audits Gatsby sites with framework-specific context.

Audit my Gatsby site →How we score

WHAT WE CHECK

6 Gatsby-specific SEO checks

Beyond the 80+ general checks, the engine applies Gatsby-aware analysis when it detects a Gatsby site — covering metadata APIs, image plugins, sitemap configuration, and rendering strategy.

📝

Head API and metadata coverage

Gatsby's `<Head>` export (introduced in Gatsby 5, replacing `gatsby-plugin-react-helmet`) is the recommended way to set `<title>`, `<meta name="description">`, Open Graph tags, and canonical for each page. Pages that don't export a `<Head>` component inherit only the root-level metadata — producing duplicate or missing title tags across the site. The audit checks every crawled page for unique, present title tags and meta descriptions, flagging pages that appear to share the same title or have no description.

🖼️

GatsbyImage and LCP

`gatsby-plugin-image`'s `<GatsbyImage>` and `<StaticImage>` components automatically generate responsive srcsets, WebP and AVIF formats, and a blur-up placeholder. However, they lazy-load images by default — the `loading` prop defaults to `"lazy"`. The LCP image (the largest above-the-fold element at page load) should use `loading="eager"` to preload immediately. The audit identifies the LCP element on each page and flags `<GatsbyImage>` components on LCP elements that are missing `loading="eager"`.

🗺️

gatsby-plugin-sitemap configuration

`gatsby-plugin-sitemap` auto-generates sitemap XML from all pages Gatsby knows about at build time. Common issues: pages added via `createPage` with custom `path` values may not be included if the plugin's `query` doesn't cover them; pages with `noindex` are sometimes included in the sitemap (creating a conflicting signal); the sitemap output URL in `gatsby-config.js` may not match the `Sitemap:` directive in robots.txt. The audit checks whether all crawled pages appear in the sitemap and flags any missing or conflicting entries.

🤖

gatsby-plugin-robots-txt and AI crawler access

`gatsby-plugin-robots-txt` generates robots.txt from your Gatsby config. A common misconfiguration blocks AI crawlers (GPTBot, ClaudeBot, PerplexityBot) — either explicitly with `User-agent: GPTBot / Disallow: /` rules or via a wildcard `User-agent: * / Disallow: /` left over from development that accidentally shipped. Blocking these crawlers cuts off AI visibility without any benefit to traditional SEO. The audit checks whether AI crawler user-agents are allowed and whether the robots.txt Sitemap directive points to the correct sitemap URL.

⚙️

Static routes vs. client-only routes

Gatsby's default SSG path (using `createPages` or file-system routing) generates static HTML for every route — fully crawlable by Googlebot on first fetch. Gatsby also supports client-only routes (configured via `createPage` with `matchPath`) that render after JavaScript hydration — these pages return a near-empty HTML shell to crawlers, similar to a single-page app. Important content pages should never be client-only routes. The audit identifies pages that return minimal HTML on first fetch and flags them as JavaScript-rendering risks.

🧠

AI visibility for Gatsby sites

Gatsby makes AI visibility tasks straightforward: `llms.txt` goes in the `/static/` folder (auto-served at `/llms.txt`), FAQPage JSON-LD can be added via the `<Head>` API with a `<script type="application/ld+json">` tag, and `gatsby-plugin-schema-org` provides composable schema utilities. The audit checks all five AI visibility signals — llms.txt presence, AI crawler access, FAQPage/HowTo schema, question-heading ratio, and content chunkability — and surfaces the exact Gatsby pattern to implement each fix.

HOW IT WORKS

Audit your Gatsby site in 60 seconds

  1. Enter your deployed Gatsby URL. Works with Netlify, Vercel, Cloudflare Pages, GitHub Pages, AWS Amplify, or any static hosting. No source code or GraphQL access needed — the audit crawls the built site.
  2. We crawl and analyse. The engine crawls up to 50 pages (free) or 1,000 pages (paid), checks metadata coverage across all routes, validates all JSON-LD schema, measures CrUX Core Web Vitals from real user data, and evaluates all five AI visibility signals.
  3. You get a prioritised report. Framework-aware issues first — missing Head API exports, LCP image lazy-loading, client-only route gaps — then general SEO, each with a specific Gatsby plugin or API to use for the fix.

FAQ

Questions about the Gatsby SEO audit

Does DeepSEOAnalysis detect Gatsby-specific SEO issues?

Yes. The engine detects Gatsby signals — pre-rendered static HTML from Gatsby's build pipeline, GatsbyImage output, sitemap plugin patterns, and Head API metadata usage — and surfaces framework-specific guidance alongside the 80+ general checks.

Is Gatsby good for SEO?

Gatsby's default SSG (static site generation) approach is excellent for SEO: every page is pre-rendered to static HTML at build time, served from a CDN edge, and fully crawlable by Googlebot on the first fetch. The common Gatsby SEO gaps aren't in the rendering approach — they're in metadata coverage (pages missing Head API exports), GatsbyImage LCP configuration (lazy-loading the hero image), and sitemap completeness (dynamic routes not always registered).

How does the audit handle Gatsby's static HTML output?

Gatsby pre-renders all pages to static HTML during the build, so the audit fetches fully-rendered pages from the first request — no JavaScript execution delay, no second-wave crawl needed. The audit checks the HTML output directly for metadata, JSON-LD, heading structure, and content completeness. If a page uses Gatsby's client-only routes (pages that render after hydration), those are flagged as non-static.

Is the Gatsby SEO audit free?

Yes. The complete audit is free with no signup and no email gate. Paid plans add saved history, scheduled monitoring, larger crawls (up to 1,000 pages), and agency workflows.