When this skill is activated, always start your first response with the 🧢 emoji.
SEO Audit
The SEO audit skill provides a systematic methodology for evaluating a website's search
optimization across all dimensions: technical infrastructure, on-page elements, content
quality, off-page signals, and AI search readiness. It produces a structured scorecard
with PASS/FAIL/WARN ratings and prioritized recommendations so every finding is actionable,
not just observed. This is the orchestration layer that connects all 13 specialized SEO
skills - use it to diagnose, then hand off to the right skill for each fix.
When to use this skill
Trigger this skill when the task involves:
- Running a full SEO audit across a website or specific section
- Performing a technical-only audit (crawlability, indexing, performance)
- Running a content audit (thin pages, cannibalization, freshness, intent)
- Pre-launch SEO check before a new site or major redesign goes live
- Periodic SEO health check (monthly, quarterly)
- Comparing your site's SEO posture against a competitor
- Producing a structured SEO report for a client or stakeholder
Do NOT trigger this skill for:
- Implementing specific fixes - once audit findings are known, load the specialized skill
(e.g.,
core-web-vitals, schema-markup, link-building) for the actual fix work
- Keyword research phase before content planning - use
keyword-research skill instead
Key principles
- Audit systematically - never skip a category because you assume it is fine. The
most damaging SEO issues are often in the areas least recently checked.
- Prioritize by impact x effort - not all issues are equal. A missing sitemap
outranks a missing alt text. Score severity honestly.
- PASS/FAIL/WARN scoring removes subjectivity - every check has a defined threshold.
WARN means partially compliant or approaching a threshold, not "kind of okay".
- An audit without actionable recommendations is useless - every FAIL and every WARN
must link to a specific next action, tool, or specialized skill.
- Re-audit quarterly to catch regressions - deployments, CMS updates, and content
changes silently break SEO. Set a recurring audit cadence.
Core concepts
The 5 audit categories
| Category |
Checks |
Covers |
| Technical SEO |
10 |
Crawlability, indexing, performance, rendering |
| On-Page SEO |
8 |
Titles, metas, headings, images, internal links, OG |
| Content SEO |
7 |
Thin pages, cannibalization, clusters, E-E-A-T, freshness |
| Off-Page SEO |
5 |
Backlinks, toxic links, anchor text, local, citations |
| AEO & GEO Readiness |
5 |
Featured snippets, schema, AI extraction, entities, LLMs.txt |
Scoring methodology
| Status |
Meaning |
| PASS |
Meets best practice - no action required |
| WARN |
Partially compliant, approaching a threshold, or inconsistently applied |
| FAIL |
Missing, broken, or clearly below best practice - fix required |
| N/A |
Check does not apply to this site type (mark explicitly, never skip silently) |
Priority matrix
| Priority |
Definition |
Timeframe |
| Critical |
Directly blocks indexing or causes major ranking loss |
Fix immediately (this week) |
| High |
Measurable ranking/traffic impact, moderate effort |
Fix this sprint |
| Medium |
Best practice gap, gradual compounding effect |
Fix this quarter |
| Low |
Nice to have, marginal gain |
Backlog |
The audit-fix-verify cycle
- Audit - run all 35 checks, record status and evidence
- Prioritize - assign Critical/High/Medium/Low to each FAIL and WARN
- Assign - link each finding to a specialized skill or tool for the fix
- Verify - re-run the specific check after the fix is deployed (not a full re-audit)
- Re-audit - full audit quarterly to catch new issues
Common tasks
Run a full SEO audit
Present the complete scorecard to the user. Fill in Status and Details as you analyze
the site. Every row must have a status - never leave a row blank.
Section 1: Technical SEO
| # |
Check |
Status |
Details |
| T1 |
Robots.txt configured correctly |
|
|
| T2 |
XML sitemap valid and submitted |
|
|
| T3 |
Canonical URLs set on all pages |
|
|
| T4 |
No redirect chains (max 1 hop) |
|
|
| T5 |
HTTPS everywhere, no mixed content |
|
|
| T6 |
Mobile-friendly (responsive or adaptive) |
|
|
| T7 |
Core Web Vitals pass (LCP, CLS, INP) |
|
|
| T8 |
No orphan pages |
|
|
| T9 |
Clean URL structure (no parameters, lowercase) |
|
|
| T10 |
Rendering strategy appropriate (SSR/SSG/CSR) |
|
|
Section 2: On-Page SEO
| # |
Check |
Status |
Details |
| O1 |
Unique title tags (50-60 chars) |
|
|
| O2 |
Meta descriptions present (120-160 chars) |
|
|
| O3 |
Single H1 per page with target keyword |
|
|
| O4 |
Heading hierarchy correct (H1 > H2 > H3) |
|
|
| O5 |
Image alt text present on all images |
|
|
| O6 |
Internal linking structure is logical |
|
|
| O7 |
Open Graph tags complete (og:title, og:description, og:image) |
|
|
| O8 |
Semantic HTML used (article, nav, main, aside) |
|
|
Section 3: Content SEO
| # |
Check |
Status |
Details |
| C1 |
No thin content pages (< 300 words on indexable pages) |
|
|
| C2 |
No keyword cannibalization (one URL per keyword cluster) |
|
|
| C3 |
Topic clusters defined with pillar + supporting pages |
|
|
| C4 |
E-E-A-T signals present (author, credentials, date, sources) |
|
|
| C5 |
Content freshness maintained (no stale pages > 18 months) |
|
|
| C6 |
No duplicate content (internal or cross-domain) |
|
|
| C7 |
Search intent alignment (informational/commercial/transactional match) |
|
|
Section 4: Off-Page SEO
| # |
Check |
Status |
Details |
| L1 |
Backlink profile is healthy (quality > quantity) |
|
|
| L2 |
No toxic or spammy links pointing to the site |
|
|
| L3 |
Anchor text diversity (branded, generic, partial-match mix) |
|
|
| L4 |
Local SEO configured (if applicable: GMB, NAP consistency) |
|
|
| L5 |
Brand mentions and citations exist on authoritative sources |
|
|
Section 5: AEO & GEO Readiness
| # |
Check |
Status |
Details |
| A1 |
Content optimized for featured snippets (definitions, lists, tables) |
|
|
| A2 |
FAQ and HowTo schema implemented where applicable |
|
|
| A3 |
Content structured for AI extraction (clear Q&A, headers, summaries) |
|
|
| A4 |
Entity authority signals present (linked data, Wikidata, consistent mentions) |
|
|
| A5 |
LLMs.txt present (if applicable to the site's AI discoverability goals) |
|
|
Scorecard summary:
| Category |
PASS |
WARN |
FAIL |
N/A |
Score |
| Technical SEO (10) |
|
|
|
|
/10 |
| On-Page SEO (8) |
|
|
|
|
/8 |
| Content SEO (7) |
|
|
|
|
/7 |
| Off-Page SEO (5) |
|
|
|
|
/5 |
| AEO & GEO (5) |
|
|
|
|
/5 |
| Total (35) |
|
|
|
|
/35 |
Score interpretation:
- 32-35 PASS: Excellent - monitor and maintain
- 26-31 PASS: Good - address WARNs before they become FAILs
- 18-25 PASS: Needs work - prioritize Critical and High items
- Under 18 PASS: Significant SEO debt - consider a full remediation project
Prioritize audit findings
After completing the scorecard, categorize every FAIL and WARN into the priority matrix:
Critical - fix immediately:
- Checks that block indexing: robots.txt disallowing key pages, no sitemap, canonical loops
- Checks that cause major visibility loss: HTTPS failures, redirect chains on key pages
- Rendering issues causing entire page sections to be invisible to Googlebot
High - fix this sprint:
- Missing or duplicate title tags across more than 10% of pages
- Core Web Vitals failing on high-traffic templates
- Keyword cannibalization on money pages
- Toxic backlinks that could trigger a manual penalty
Medium - fix this quarter:
- Missing alt text, inconsistent heading hierarchy
- Thin content on secondary pages
- Missing OG tags, incomplete schema markup
- Stale content on secondary pages
Low - backlog:
- LLMs.txt optimization
- Minor anchor text imbalances
- Brand mention acquisition on marginal sources
Present findings as a prioritized table:
| Priority |
Check ID |
Finding |
Recommended action |
Skill |
| Critical |
T1 |
Robots.txt disallowing /products/ |
Update robots.txt to allow crawl |
technical-seo |
| High |
T7 |
LCP > 4s on mobile (template-wide) |
Optimize hero images, reduce TTFB |
core-web-vitals |
| ... |
|
|
|
|
Generate audit report
Use the full report template in references/audit-report-template.md. The report has
four sections:
- Executive summary - overall score, top 3 findings, business impact statement
- Scorecard - the full 35-check table with status and evidence
- Detailed findings - one entry per FAIL/WARN with: what was found, why it matters,
how to fix it, and which specialized skill to use
- Action plan - week 1, month 1, and quarter 1 timeline with assigned owners
Load references/audit-report-template.md to get the full report template with
placeholder text and formatting.
Run a quick SEO health check
For a rapid 10-check assessment (15-20 minutes, not a full audit):
| # |
Check |
Status |
| Q1 |
Site accessible and indexable (not blocked by robots.txt) |
|
| Q2 |
HTTPS and no mixed content |
|
| Q3 |
Sitemap present and submitted to GSC |
|
| Q4 |
No redirect chains on homepage and top 5 pages |
|
| Q5 |
Title tags unique and under 60 chars on top pages |
|
| Q6 |
Mobile-friendly (Google Mobile-Friendly Test pass) |
|
| Q7 |
Core Web Vitals: at least PASS on mobile for key templates |
|
| Q8 |
No obvious cannibalization on primary keywords |
|
| Q9 |
Backlink profile: no manual actions in GSC |
|
| Q10 |
Structured data: at least one schema type implemented |
|
A quick health check surfaces showstopper issues only. Any FAIL here is Critical priority.
For a complete picture, run the full 35-check audit.
Gotchas
GSC data lags by 2-3 days - Google Search Console performance data has a processing delay. If you run an audit on Monday, the most recent data in GSC is from Thursday or Friday. Do not interpret the most recent 2-3 days as a traffic drop - it is always incomplete.
Robots.txt check T1 can return false PASS if crawled from the wrong user-agent - A robots.txt that disallows Googlebot but allows all other agents will pass generic crawl tests. Always test with User-agent: Googlebot specifically, or use the robots.txt tester in Google Search Console directly.
Canonical to a redirecting URL creates a canonical-redirect chain - If the canonical tag points to a URL that itself 301s to another URL, Google may choose to follow the redirect rather than the canonical, or may not honor either. Canonicals must point to the final destination URL, not an intermediate redirect.
Core Web Vitals field data vs lab data diverge - PageSpeed Insights lab data (Lighthouse) and the CrUX field data (real user measurements) frequently disagree. A page can show LCP < 2.5s in lab but fail in field data due to geography, network conditions, or device mix. Always treat field data as the ground truth for audit scoring.
Hreflang errors silently break international rankings - Invalid hreflang attributes (missing return links, wrong locale codes, self-referencing inconsistencies) are not reported as errors in GSC - they are silently ignored. International SEO issues must be audited with a dedicated hreflang validator tool.
Anti-patterns / common mistakes
| Anti-pattern |
Problem |
Fix |
| Cherry-picking only easy wins |
Leaves Critical issues unresolved while the site hemorrhages traffic |
Always start with the priority matrix - easy is not the same as important |
| Auditing without GSC and Analytics access |
You are guessing at traffic impact and missing crawl error data |
Get read access before starting; a blind audit is decoration |
| Treating all FAIL items as equal priority |
Team burns time on alt text while a canonical loop causes deindexing |
Use the priority matrix on every engagement, no exceptions |
| Auditing once and never re-checking |
Deployments break SEO silently; regressions are invisible without cadence |
Schedule quarterly audits; automate continuous checks where possible |
| Reporting findings without recommended fixes |
Stakeholders don't know what to do; audit report sits unread |
Every finding must link to a specific action and a responsible party |
| Running only a technical audit and calling it done |
Content and off-page issues often cause more ranking loss than technical issues |
Always cover all 5 categories even at a surface level |
| Confusing WARN with acceptable |
WARNs compound - five WARNs in the same category indicate a systemic issue |
Treat three or more WARNs in a category the same as a FAIL |
References
For detailed audit checklists with per-check verification methods and fix guidance, load:
references/audit-checklist-technical.md - Detailed technical SEO checks with
how-to-verify steps, tool recommendations, and PASS/FAIL/WARN criteria
references/audit-checklist-content.md - On-page and content audit methodology
with verification methods for all 15 checks
references/audit-checklist-offpage.md - Off-page and AEO/GEO audit methodology
for all 10 checks
references/audit-report-template.md - Full audit report template with
executive summary, scorecard, findings, and action plan sections
Only load a reference file when actively working on that audit category - they are
detailed and will consume context if loaded all at once.
For deep fixes on specific categories, load the specialized skill:
keyword-research - Search intent analysis and keyword opportunity mapping
schema-markup - Structured data implementation (JSON-LD, FAQ, HowTo, Product)
core-web-vitals - LCP, CLS, INP optimization and performance budgets
technical-seo - Crawlability, indexing, rendering, redirect management
content-seo - Topic clusters, E-E-A-T, cannibalization resolution
link-building - Backlink acquisition strategy and toxic link removal
local-seo - Google Business Profile, NAP consistency, local citations
international-seo - Hreflang, multi-language/region SEO architecture
ecommerce-seo - Product pages, faceted navigation, category SEO
programmatic-seo - Page generation at scale, template optimization
aeo-optimization - Featured snippets, voice search, AI answer optimization
geo-optimization - Generative engine optimization for ChatGPT, Perplexity, Gemini
on-site-seo - Framework-specific on-page fixes (Next.js, Nuxt, WordPress, etc.)
Companion check
On first activation of this skill in a conversation: check which companion skills are installed by running ls ~/.claude/skills/ ~/.agent/skills/ ~/.agents/skills/ .claude/skills/ .agent/skills/ .agents/skills/ 2>/dev/null. Compare the results against the recommended_skills field in this file's frontmatter. For any that are missing, mention them once and offer to install:
npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name>
Skip entirely if recommended_skills is empty or all companions are already installed.
1---2name: seo-audit-173description: Use this skill when performing a comprehensive SEO audit - technical audit, on-page audit, content audit, off-page audit, and AEO/GEO readiness assessment. Provides a structured scorecard with 30-40 checks rated PASS/FAIL/WARN across all SEO categories, prioritized recommendations, and links to specialized skills for deep fixes. This is the master audit skill that orchestrates all other SEO skills.4license: MIT5---6
7When this skill is activated, always start your first response with the 🧢 emoji.
8
9# SEO Audit
10
11The SEO audit skill provides a systematic methodology for evaluating a website's search
12optimization across all dimensions: technical infrastructure, on-page elements, content
13quality, off-page signals, and AI search readiness. It produces a structured scorecard
14with PASS/FAIL/WARN ratings and prioritized recommendations so every finding is actionable,
15not just observed. This is the orchestration layer that connects all 13 specialized SEO
16skills - use it to diagnose, then hand off to the right skill for each fix.
17
18---
19
20## When to use this skill
21
22Trigger this skill when the task involves:
23- Running a full SEO audit across a website or specific section
24- Performing a technical-only audit (crawlability, indexing, performance)
25- Running a content audit (thin pages, cannibalization, freshness, intent)
26- Pre-launch SEO check before a new site or major redesign goes live
27- Periodic SEO health check (monthly, quarterly)
28- Comparing your site's SEO posture against a competitor
29- Producing a structured SEO report for a client or stakeholder
30
31Do NOT trigger this skill for:
32- Implementing specific fixes - once audit findings are known, load the specialized skill
33 (e.g., `core-web-vitals`, `schema-markup`, `link-building`) for the actual fix work
34- Keyword research phase before content planning - use `keyword-research` skill instead
35
36---
37
38## Key principles
39
401. **Audit systematically** - never skip a category because you assume it is fine. The
41 most damaging SEO issues are often in the areas least recently checked.
422. **Prioritize by impact x effort** - not all issues are equal. A missing sitemap
43 outranks a missing alt text. Score severity honestly.
443. **PASS/FAIL/WARN scoring removes subjectivity** - every check has a defined threshold.
45 WARN means partially compliant or approaching a threshold, not "kind of okay".
464. **An audit without actionable recommendations is useless** - every FAIL and every WARN
47 must link to a specific next action, tool, or specialized skill.
485. **Re-audit quarterly to catch regressions** - deployments, CMS updates, and content
49 changes silently break SEO. Set a recurring audit cadence.
50
51---
52
53## Core concepts
54
55### The 5 audit categories
56
57| Category | Checks | Covers |
58|---|---|---|
59| Technical SEO | 10 | Crawlability, indexing, performance, rendering |
60| On-Page SEO | 8 | Titles, metas, headings, images, internal links, OG |
61| Content SEO | 7 | Thin pages, cannibalization, clusters, E-E-A-T, freshness |
62| Off-Page SEO | 5 | Backlinks, toxic links, anchor text, local, citations |
63| AEO & GEO Readiness | 5 | Featured snippets, schema, AI extraction, entities, LLMs.txt |
64
65### Scoring methodology
66
67| Status | Meaning |
68|---|---|
69| PASS | Meets best practice - no action required |
70| WARN | Partially compliant, approaching a threshold, or inconsistently applied |
71| FAIL | Missing, broken, or clearly below best practice - fix required |
72| N/A | Check does not apply to this site type (mark explicitly, never skip silently) |
73
74### Priority matrix
75
76| Priority | Definition | Timeframe |
77|---|---|---|
78| Critical | Directly blocks indexing or causes major ranking loss | Fix immediately (this week) |
79| High | Measurable ranking/traffic impact, moderate effort | Fix this sprint |
80| Medium | Best practice gap, gradual compounding effect | Fix this quarter |
81| Low | Nice to have, marginal gain | Backlog |
82
83### The audit-fix-verify cycle
84
851. **Audit** - run all 35 checks, record status and evidence
862. **Prioritize** - assign Critical/High/Medium/Low to each FAIL and WARN
873. **Assign** - link each finding to a specialized skill or tool for the fix
884. **Verify** - re-run the specific check after the fix is deployed (not a full re-audit)
895. **Re-audit** - full audit quarterly to catch new issues
90
91---
92
93## Common tasks
94
95### Run a full SEO audit
96
97Present the complete scorecard to the user. Fill in Status and Details as you analyze
98the site. Every row must have a status - never leave a row blank.
99
100---
101
102**Section 1: Technical SEO**
103
104| # | Check | Status | Details |
105|---|---|---|---|
106| T1 | Robots.txt configured correctly | | |
107| T2 | XML sitemap valid and submitted | | |
108| T3 | Canonical URLs set on all pages | | |
109| T4 | No redirect chains (max 1 hop) | | |
110| T5 | HTTPS everywhere, no mixed content | | |
111| T6 | Mobile-friendly (responsive or adaptive) | | |
112| T7 | Core Web Vitals pass (LCP, CLS, INP) | | |
113| T8 | No orphan pages | | |
114| T9 | Clean URL structure (no parameters, lowercase) | | |
115| T10 | Rendering strategy appropriate (SSR/SSG/CSR) | | |
116
117**Section 2: On-Page SEO**
118
119| # | Check | Status | Details |
120|---|---|---|---|
121| O1 | Unique title tags (50-60 chars) | | |
122| O2 | Meta descriptions present (120-160 chars) | | |
123| O3 | Single H1 per page with target keyword | | |
124| O4 | Heading hierarchy correct (H1 > H2 > H3) | | |
125| O5 | Image alt text present on all images | | |
126| O6 | Internal linking structure is logical | | |
127| O7 | Open Graph tags complete (og:title, og:description, og:image) | | |
128| O8 | Semantic HTML used (article, nav, main, aside) | | |
129
130**Section 3: Content SEO**
131
132| # | Check | Status | Details |
133|---|---|---|---|
134| C1 | No thin content pages (< 300 words on indexable pages) | | |
135| C2 | No keyword cannibalization (one URL per keyword cluster) | | |
136| C3 | Topic clusters defined with pillar + supporting pages | | |
137| C4 | E-E-A-T signals present (author, credentials, date, sources) | | |
138| C5 | Content freshness maintained (no stale pages > 18 months) | | |
139| C6 | No duplicate content (internal or cross-domain) | | |
140| C7 | Search intent alignment (informational/commercial/transactional match) | | |
141
142**Section 4: Off-Page SEO**
143
144| # | Check | Status | Details |
145|---|---|---|---|
146| L1 | Backlink profile is healthy (quality > quantity) | | |
147| L2 | No toxic or spammy links pointing to the site | | |
148| L3 | Anchor text diversity (branded, generic, partial-match mix) | | |
149| L4 | Local SEO configured (if applicable: GMB, NAP consistency) | | |
150| L5 | Brand mentions and citations exist on authoritative sources | | |
151
152**Section 5: AEO & GEO Readiness**
153
154| # | Check | Status | Details |
155|---|---|---|---|
156| A1 | Content optimized for featured snippets (definitions, lists, tables) | | |
157| A2 | FAQ and HowTo schema implemented where applicable | | |
158| A3 | Content structured for AI extraction (clear Q&A, headers, summaries) | | |
159| A4 | Entity authority signals present (linked data, Wikidata, consistent mentions) | | |
160| A5 | LLMs.txt present (if applicable to the site's AI discoverability goals) | | |
161
162---
163
164**Scorecard summary:**
165
166| Category | PASS | WARN | FAIL | N/A | Score |
167|---|---|---|---|---|---|
168| Technical SEO (10) | | | | | /10 |
169| On-Page SEO (8) | | | | | /8 |
170| Content SEO (7) | | | | | /7 |
171| Off-Page SEO (5) | | | | | /5 |
172| AEO & GEO (5) | | | | | /5 |
173| **Total (35)** | | | | | **/35** |
174
175Score interpretation:
176- 32-35 PASS: Excellent - monitor and maintain
177- 26-31 PASS: Good - address WARNs before they become FAILs
178- 18-25 PASS: Needs work - prioritize Critical and High items
179- Under 18 PASS: Significant SEO debt - consider a full remediation project
180
181---
182
183### Prioritize audit findings
184
185After completing the scorecard, categorize every FAIL and WARN into the priority matrix:
186
187**Critical - fix immediately:**
188- Checks that block indexing: robots.txt disallowing key pages, no sitemap, canonical loops
189- Checks that cause major visibility loss: HTTPS failures, redirect chains on key pages
190- Rendering issues causing entire page sections to be invisible to Googlebot
191
192**High - fix this sprint:**
193- Missing or duplicate title tags across more than 10% of pages
194- Core Web Vitals failing on high-traffic templates
195- Keyword cannibalization on money pages
196- Toxic backlinks that could trigger a manual penalty
197
198**Medium - fix this quarter:**
199- Missing alt text, inconsistent heading hierarchy
200- Thin content on secondary pages
201- Missing OG tags, incomplete schema markup
202- Stale content on secondary pages
203
204**Low - backlog:**
205- LLMs.txt optimization
206- Minor anchor text imbalances
207- Brand mention acquisition on marginal sources
208
209Present findings as a prioritized table:
210
211| Priority | Check ID | Finding | Recommended action | Skill |
212|---|---|---|---|---|
213| Critical | T1 | Robots.txt disallowing /products/ | Update robots.txt to allow crawl | `technical-seo` |
214| High | T7 | LCP > 4s on mobile (template-wide) | Optimize hero images, reduce TTFB | `core-web-vitals` |
215| ... | | | | |
216
217---
218
219### Generate audit report
220
221Use the full report template in `references/audit-report-template.md`. The report has
222four sections:
223
2241. **Executive summary** - overall score, top 3 findings, business impact statement
2252. **Scorecard** - the full 35-check table with status and evidence
2263. **Detailed findings** - one entry per FAIL/WARN with: what was found, why it matters,
227 how to fix it, and which specialized skill to use
2284. **Action plan** - week 1, month 1, and quarter 1 timeline with assigned owners
229
230Load `references/audit-report-template.md` to get the full report template with
231placeholder text and formatting.
232
233---
234
235### Run a quick SEO health check
236
237For a rapid 10-check assessment (15-20 minutes, not a full audit):
238
239| # | Check | Status |
240|---|---|---|
241| Q1 | Site accessible and indexable (not blocked by robots.txt) | |
242| Q2 | HTTPS and no mixed content | |
243| Q3 | Sitemap present and submitted to GSC | |
244| Q4 | No redirect chains on homepage and top 5 pages | |
245| Q5 | Title tags unique and under 60 chars on top pages | |
246| Q6 | Mobile-friendly (Google Mobile-Friendly Test pass) | |
247| Q7 | Core Web Vitals: at least PASS on mobile for key templates | |
248| Q8 | No obvious cannibalization on primary keywords | |
249| Q9 | Backlink profile: no manual actions in GSC | |
250| Q10 | Structured data: at least one schema type implemented | |
251
252A quick health check surfaces showstopper issues only. Any FAIL here is Critical priority.
253For a complete picture, run the full 35-check audit.
254
255---
256
257## Gotchas
258
2591. **GSC data lags by 2-3 days** - Google Search Console performance data has a processing delay. If you run an audit on Monday, the most recent data in GSC is from Thursday or Friday. Do not interpret the most recent 2-3 days as a traffic drop - it is always incomplete.
260
2612. **Robots.txt check T1 can return false PASS if crawled from the wrong user-agent** - A robots.txt that disallows Googlebot but allows all other agents will pass generic crawl tests. Always test with `User-agent: Googlebot` specifically, or use the robots.txt tester in Google Search Console directly.
262
2633. **Canonical to a redirecting URL creates a canonical-redirect chain** - If the canonical tag points to a URL that itself 301s to another URL, Google may choose to follow the redirect rather than the canonical, or may not honor either. Canonicals must point to the final destination URL, not an intermediate redirect.
264
2654. **Core Web Vitals field data vs lab data diverge** - PageSpeed Insights lab data (Lighthouse) and the CrUX field data (real user measurements) frequently disagree. A page can show LCP < 2.5s in lab but fail in field data due to geography, network conditions, or device mix. Always treat field data as the ground truth for audit scoring.
266
2675. **Hreflang errors silently break international rankings** - Invalid hreflang attributes (missing return links, wrong locale codes, self-referencing inconsistencies) are not reported as errors in GSC - they are silently ignored. International SEO issues must be audited with a dedicated hreflang validator tool.
268
269---
270
271## Anti-patterns / common mistakes
272
273| Anti-pattern | Problem | Fix |
274|---|---|---|
275| Cherry-picking only easy wins | Leaves Critical issues unresolved while the site hemorrhages traffic | Always start with the priority matrix - easy is not the same as important |
276| Auditing without GSC and Analytics access | You are guessing at traffic impact and missing crawl error data | Get read access before starting; a blind audit is decoration |
277| Treating all FAIL items as equal priority | Team burns time on alt text while a canonical loop causes deindexing | Use the priority matrix on every engagement, no exceptions |
278| Auditing once and never re-checking | Deployments break SEO silently; regressions are invisible without cadence | Schedule quarterly audits; automate continuous checks where possible |
279| Reporting findings without recommended fixes | Stakeholders don't know what to do; audit report sits unread | Every finding must link to a specific action and a responsible party |
280| Running only a technical audit and calling it done | Content and off-page issues often cause more ranking loss than technical issues | Always cover all 5 categories even at a surface level |
281| Confusing WARN with acceptable | WARNs compound - five WARNs in the same category indicate a systemic issue | Treat three or more WARNs in a category the same as a FAIL |
282
283---
284
285## References
286
287For detailed audit checklists with per-check verification methods and fix guidance, load:
288
289- `references/audit-checklist-technical.md` - Detailed technical SEO checks with
290 how-to-verify steps, tool recommendations, and PASS/FAIL/WARN criteria
291- `references/audit-checklist-content.md` - On-page and content audit methodology
292 with verification methods for all 15 checks
293- `references/audit-checklist-offpage.md` - Off-page and AEO/GEO audit methodology
294 for all 10 checks
295- `references/audit-report-template.md` - Full audit report template with
296 executive summary, scorecard, findings, and action plan sections
297
298Only load a reference file when actively working on that audit category - they are
299detailed and will consume context if loaded all at once.
300
301For deep fixes on specific categories, load the specialized skill:
302
303- `keyword-research` - Search intent analysis and keyword opportunity mapping
304- `schema-markup` - Structured data implementation (JSON-LD, FAQ, HowTo, Product)
305- `core-web-vitals` - LCP, CLS, INP optimization and performance budgets
306- `technical-seo` - Crawlability, indexing, rendering, redirect management
307- `content-seo` - Topic clusters, E-E-A-T, cannibalization resolution
308- `link-building` - Backlink acquisition strategy and toxic link removal
309- `local-seo` - Google Business Profile, NAP consistency, local citations
310- `international-seo` - Hreflang, multi-language/region SEO architecture
311- `ecommerce-seo` - Product pages, faceted navigation, category SEO
312- `programmatic-seo` - Page generation at scale, template optimization
313- `aeo-optimization` - Featured snippets, voice search, AI answer optimization
314- `geo-optimization` - Generative engine optimization for ChatGPT, Perplexity, Gemini
315- `on-site-seo` - Framework-specific on-page fixes (Next.js, Nuxt, WordPress, etc.)
316
317---
318
319## Companion check
320
321> On first activation of this skill in a conversation: check which companion skills are installed by running `ls ~/.claude/skills/ ~/.agent/skills/ ~/.agents/skills/ .claude/skills/ .agent/skills/ .agents/skills/ 2>/dev/null`. Compare the results against the `recommended_skills` field in this file's frontmatter. For any that are missing, mention them once and offer to install:
322> ```
323> npx skills add AbsolutelySkilled/AbsolutelySkilled --skill <name>
324> ```
325> Skip entirely if `recommended_skills` is empty or all companions are already installed.