# SEO Audit — Marketing Skill for AI Agents

An SEO audit follows a fixed priority order: first confirm Google can crawl and index the site (robots.txt, XML sitemap, canonicals, noindex tags), then check technical foundations (Core Web Vitals — LCP under 2.5s, INP under 200ms, CLS under 0.1 — HTTPS, mobile-friendliness), then on-page elements (unique title tags at 50-60 characters, meta descriptions, one H1 per page, internal links), then content quality and E-E-A-T, and finally authority and links. Fix crawl and index blockers before anything else, since a fast, well-written page that Google can't index will never rank. Note that web_fetch and curl cannot detect JavaScript-injected schema markup — use the Rich Results Test or a rendering crawler instead of reporting 'no schema found.' Each finding should carry an issue, impact rating, evidence, a specific fix, and a priority.

> Maintained by Corey Haines · v2.0.0 · Updated 2026-05-13

Install: `npx skills add coreyhaines31/marketingskills`
Source: https://github.com/coreyhaines31/marketingskills/tree/main/skills/seo-audit

## When to use it

- "SEO audit,"
- "technical SEO,"
- "why am I not ranking,"
- "SEO issues,"
- "on-page SEO,"
- "meta tags review,"
- "SEO health check,"
- "my traffic dropped,"

## What's inside

**The playbook covers:** Initial Assessment, Audit Framework, Technical SEO Audit, International SEO & Localization, On-Page SEO Audit, Content Quality Assessment, Common Issues by Site Type, Output Format, References, Tools Referenced, Task-Specific Questions

### Reference library

- [AI Writing Detection](https://github.com/coreyhaines31/marketingskills/blob/main/skills/seo-audit/references/ai-writing-detection.md) — Words, phrases, and punctuation patterns commonly associated with AI-generated text. Avoid these to ensure writing sounds natural and human.
- [International SEO: Evidence & Sources](https://github.com/coreyhaines31/marketingskills/blob/main/skills/seo-audit/references/international-seo.md) — Detailed evidence backing the International SEO & Localization section of the SEO Audit skill. Organized by topic with source URLs and key quotes.

## Example

**Prompt:** Can you do an SEO audit of our SaaS website? We're getting about 2,000 organic visits/month but feel like we should be getting more. URL: https://example.com

**Prioritized audit findings**

1. [CRITICAL] Homepage canonical points to staging URL
   Impact: High — Google may drop the live homepage from the index
   Evidence: <link rel="canonical"> resolves to staging.example.com
   Fix: Point canonical to https://example.com/ (self-referencing)

2. [HIGH] 14 blog posts share the same title tag
   Impact: High — duplicate titles cause cannibalization and lost CTR
   Evidence: site: search shows identical "Blog | Example" titles
   Fix: Write unique 50-60 char titles with the primary keyword up front

3. [QUICK WIN] LCP is 4.1s on mobile (hero image unoptimized)
   Impact: Medium — above the 2.5s CWV threshold
   Fix: Serve WebP, add width/height, preload the hero image

## FAQ

### Why is my page not ranking even though it's optimized?

Work through the audit order before assuming it's the content. First confirm the page is actually indexed (site: search, Search Console coverage) and that no noindex tag or wrong-direction canonical is suppressing it. Then check that the title, H1, and URL all align to the target keyword, that you're not cannibalizing the keyword with another page, and that the content genuinely beats the current top-ranking results on depth and search intent.

### My traffic dropped after a site migration — what should I check first?

Treat it as an urgent migration diagnostic. Verify 301 redirects map every old URL to its new equivalent, that canonical tags on the new pages are correct, that robots.txt isn't blocking crawlers, and that an updated XML sitemap has been submitted. Then hunt for redirect chains or loops and soft 404s, and cross-reference the Search Console coverage report. Recovery typically takes weeks, not days.

### Can an SEO tool detect schema markup with a simple page fetch?

No. web_fetch and curl strip <script> tags, so any JSON-LD injected client-side by plugins like Yoast, RankMath, or AIOSEO won't appear in the static HTML. Reporting 'no schema found' from a raw fetch produces false findings. Validate schema with Google's Rich Results Test, a browser querying script[type="application/ld+json"], or a rendering crawler like Screaming Frog instead.

## Related skills

- **ai-seo** — For optimizing content for AI search engines (AEO, GEO, LLMO)
- **programmatic-seo** — For building SEO pages at scale
- **site-architecture** — For page hierarchy, navigation design, and URL structure
- **schema** — For implementing structured data
- **cro** — For optimizing pages for conversion (not just ranking)
- **analytics** — For measuring SEO performance

---
Canonical: https://marketing-skills.com/skills/seo-audit