Home
cd ../playbooks
Marketing & ContentIntermediate

Firecrawl SEO Audit: Evidence-Backed Fixes

Audit pages for SEO metadata, headings, canonicals, schema, and link issues using the actual page HTML, with prioritized fixes and unverified checks kept separate

10 minutes
By FirecrawlSource
#firecrawl#seo#technical-seo#metadata#canonicals#structured-data

Most automated SEO audits report "issues" from cleaned-up page text and invent a score. This playbook has Claude fetch the raw HTML, check the real head markup, headings, canonicals, and links, and report only what it observed, with the affected URLs, the likely impact, a concrete fix, and how to verify it.

Who it's for: SEO specialists, marketers, small-business owners, web developers, agencies auditing client sites, content teams reviewing their own pages

Example

"Audit these five pages for SEO issues" → a prioritized audit with, for each finding, the affected URLs, observed evidence, likely impact, a concrete fix, and how to verify it, grouped by shared template issues, with confirmed defects separate from opportunities and unverified concerns, plus the inspected scope and check date

CLAUDE.md Template

New here? 3-minute setup guide → | Already set up? Copy the template below.

Or install from your terminal:
npx ccplaybooks add firecrawl-seo-audit
# Audit a site's SEO

**When to use:** Inspect named pages for SEO metadata, headings, canonicals, schema, and link issues. Use for source-backed SEO audits and prioritized fixes; distinguish unverified checks from observed defects.

Source: https://github.com/firecrawl/firecrawl-claude-plugin/blob/main/skills/seo-audit/SKILL.md (MIT, Firecrawl).

## Prerequisite: the Firecrawl MCP

This workflow runs on Firecrawl's hosted MCP server (tools such as `firecrawl_search` and `firecrawl_scrape`). If those tools are not available, tell the user to connect Firecrawl (in Claude Code, run `/mcp` and connect the account) instead of guessing at tools or arguments. Requests send search queries, page URLs, and any provider inputs to Firecrawl, so include only what the task needs.

1. Use the Firecrawl MCP to inspect the website and produce an evidence-backed SEO audit. Establish the target site or pages and use any supplied business goals, keywords and geography. Ask only for missing information that blocks a useful audit. Choose pages covering the relevant templates and user priorities, and record the inspected scope; a sample does not establish complete site coverage.
2. Start with supplied page URLs; use site-restricted `firecrawl_search` and links returned by `firecrawl_scrape` when URLs must be discovered for a wider audit. Before reporting page issues, retrieve the needed content with `firecrawl_scrape`, requesting `markdown`, `rawHtml` and `links` with `onlyMainContent: false` when supported. Use supported `maxAge: 0` for current checks. Inspect returned page metadata, status and content; API success does not prove the target returned a healthy page. Check the actual head markup before declaring metadata absent. If raw HTML or headers are unavailable, mark dependent checks unverified rather than treating cleaned output as complete source.

Get new playbooks like this one

One email a week with new Claude Code workflows. Free, like everything here.

No spam. Unsubscribe anytime.

README.md

What This Does

Inspects a website's pages and produces an evidence-backed SEO audit.

The process:

  1. Set the scope. The target site or pages, plus any business goals, keywords, and geography you give. Claude picks pages covering the relevant templates and your priorities, and records the inspected scope, because a sample doesn't establish complete site coverage.
  2. Fetch the real page. Starting with your URLs (or site-restricted search for a wider audit), it retrieves markdown, raw HTML, and links with onlyMainContent: false, using a fresh capture for current checks. It inspects the returned status and content, and checks the actual head markup before declaring metadata absent. If raw HTML isn't available, dependent checks are marked unverified.
  3. Check titles and descriptions, heading structure, content relevance, image alt text, internal links, canonical declarations, robots directives, and structured data where relevant. Findings are related to each page's purpose, and robots.txt and sitemaps are read when needed.
  4. Compare keywords if asked. It searches and inspects relevant comparison pages, keeping the query, location, and observation date. For missing ranking, keyword, or backlink measurements, it looks for fitting data providers and runs one only if its source, domain, and period fit.
  5. Report. Highest-priority fixes first. Each finding has affected URLs, observed evidence, likely impact, a concrete fix, and a way to verify it. Shared template issues are grouped with example URLs.

Before You Start

This workflow runs on Firecrawl's hosted MCP server, which gives Claude tools to search the live web and read pages. You need a Firecrawl account and a connected MCP server.

Easiest route: the Firecrawl plugin. In Claude Code:

/plugin marketplace add firecrawl/firecrawl-claude-plugin
/plugin install firecrawl@firecrawl

Then run /reload-plugins (or start a new session) and /mcp to connect your Firecrawl account. Installing the plugin and connecting the account are separate steps. The plugin bundles all thirteen Firecrawl skills, so this playbook is mainly for people who want just this one workflow as a standalone CLAUDE.md. Choose one installation of Firecrawl so the skills don't duplicate.

Cost and privacy. Web, developer, and paper searches are billed per request, page retrieval is billed per URL, and provider data uses each capability's listed price. Government search and provider discovery are free. Check your Firecrawl plan. Requests send search queries, page URLs, and any provider inputs to Firecrawl, so include only what the task needs.


Quick Start

Step 1: Create a Project Folder

mkdir -p ~/Documents/SEOAudit

Step 2: Download the Template

Click Download above, then:

mv ~/Downloads/CLAUDE.md ~/Documents/SEOAudit/

Step 3: Start Working

cd ~/Documents/SEOAudit
claude

Then ask in plain language:

"Audit https://example.com/pricing and https://example.com/blog for SEO issues"
"Audit my site for [keyword] in [country]. Start with the homepage and top 5 pages"
"Check canonicals and structured data on these product pages: [URLs]"

What It Won't Claim

The template guards against the usual overreach:

  • Crawl vs. index. It distinguishes crawl restrictions from indexing directives, and declared canonicals from search-engine-selected ones.
  • Broken links need corroboration. A scrape access error isn't proof a destination is broken.
  • Absence isn't a diagnosis. Missing search results or discovered links don't prove a page is orphaned or deindexed. A deliberately excluded page isn't automatically defective.
  • Unmeasured stays unmeasured. It doesn't infer search volume, traffic, indexing status, Core Web Vitals, or ranking causes from scrape output or result order, and it identifies what remains unmeasured.
  • No made-up score and no traffic forecasts.

Tips & Best Practices

  • Give goals and keywords. Findings are tied to each page's purpose.
  • Pick representative pages. One page per template covers more ground than many near-duplicates.
  • Fix shared templates first. One template change can resolve the same issue on many URLs.
  • Verify fixes. Each finding includes how to check it afterwards.
  • Pair with a rank tracker or Search Console for real performance data, which this audit doesn't measure.

Limitations

  • Sample, not a full crawl. The audit covers the inspected scope, and Claude doesn't broaden it into an unrequested crawl.
  • Read-only. It doesn't edit your website.
  • Page-level evidence only. Search performance, traffic, and indexing status need other tools.
  • Raw HTML dependency. Without it, metadata and markup checks are marked unverified.

$Related Playbooks

Marketing & Content

Free Backlink Opportunity Finder

Give Claude a website URL and get a verified list of relevant backlink opportunities you can pursue for free, with the exact page to link to and how to ask

5 minutes
Intermediate
Marketing & Content

GEO Audit: Score Your Site for AI Search Citation

A full Generative Engine Optimization audit that crawls a site, scores it 0-100 across six weighted categories, and returns a prioritized 30-day fix list

10 minutes
Intermediate
Marketing & Content

AI Citability Scoring: Make Your Pages Quotable

Score any page 0-100 on how likely ChatGPT, Perplexity, and Gemini are to quote it, with block-level rewrites for the passages that score worst

10 minutes
Intermediate
Marketing & Content

GEO Content Quality: Score Your Pages on E-E-A-T

Grade any page on Experience, Expertise, Authoritativeness, and Trustworthiness, then get the specific rewrites that make AI engines trust it enough to cite

10 minutes
Intermediate
Marketing & Content

GEO Platform Optimizer: Tune for Each AI Engine Separately

Five separate audits for Google AI Overviews, ChatGPT, Perplexity, Gemini, and Bing Copilot, each with its own checklist and 0-100 rubric

10 minutes
Intermediate
Marketing & Content

Form CRO

Optimize lead capture, contact, demo, application, and survey forms for maximum completion rates.

10 minutes
Intermediate
Marketing & Content

Free Tool Strategy

Plan and evaluate free tools (calculators, generators, graders) as a marketing channel for leads, SEO, and brand.

15 minutes
Intermediate
Marketing & Content

First 100 Customers Playbook

A concentric-circles sales playbook for getting to 100 paying customers one conversation at a time — friends, community, then cold outreach. No launch, no ads, no virality.

10 minutes
Beginner
Marketing & Content

Focus Group

Run synthetic focus groups.

15 minutes
Intermediate
Marketing & Content

Funnel Audit

Audit funnel performance.

15 minutes
Intermediate
Marketing & Content

Follower Research Briefing

Get a daily brief on your newest followers — who's worth engaging with, what they care about, and a personalized conversation starter for each.

10 minutes
Intermediate
Marketing & Content

Hreflang Check

Audit hreflang tags.

15 minutes
Intermediate

Browse all Marketing & Content playbooks →