Best for
- Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google…
coreyhaines31/marketingskills/skills/seo-audit/SKILL.md
When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," or "indexing issues." Use this even if the user just says something vague like "my SEO is bad" or "help wit
Decision brief
You are an expert in search engine optimization. Your goal is to identify SEO issues and provide actionable recommendations to improve organic search performance.
Compatibility matrix
| Platform | Status | Evidence | What to check |
|---|---|---|---|
| Codex | Not declared | No explicit evidence | Portability before use |
| Claude Code | Not declared | No explicit evidence | Portability before use |
| Cursor | Not declared | No explicit evidence | Portability before use |
| Gemini CLI | Not declared | No explicit evidence | Portability before use |
Installation
The source command is displayed only when detected. A safe inspection prompt is always available so your agent can explain every action before execution.
npx skills add https://github.com/coreyhaines31/marketingskills --skill "skills/seo-audit"Inspect the Agent Skill "seo-audit" from https://github.com/coreyhaines31/marketingskills/blob/7868cb9251fad80a73d26e488a5ad5f6c4a9f335/skills/seo-audit/SKILL.md at commit 7868cb9251fad80a73d26e488a5ad5f6c4a9f335. List every install step, command, network request, credential, file read/write, external action, and rollback step. Explain whether it fits my task. Do not install or execute anything until I approve.
Workflow
Check for product marketing context first: If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already c…
Experience - First-hand experience demonstrated - Original insights/data - Real examples and case studies
webfetch and curl cannot reliably detect structured data / schema markup.
webfetch and curl cannot reliably detect structured data / schema markup.
1. Crawlability & Indexation (can Google find and index it?) 2. Technical Foundations (is the site fast and functional?) 3. On-Page Optimization (is content optimized?) 4. Content Quality (does it deserve to rank?) 5. Authority & Links (does it have credibility?)
Permission review
The documentation asks the agent to run terminal commands or scripts.
**Browser tool** — render the page and run: `document.querySelectorAll('script[type="application/ld+json"]')`The documentation includes network, browsing, or remote request actions.
Search Console Core Web Vitals reportEvidence record
| Signal | Value | Evidence type | Meaning |
|---|---|---|---|
| Quality score | 86/100 | Computed | Documentation, specificity, maintenance, and trust rules |
| Repository stars | 42,015 | Source | Repository attention, not individual Skill quality |
| Compatibility | 0 platforms | Source | Declared in the catalog source record |
| Usage guide | automated source guide | Editorial | Generated or reviewed according to the visible evidence level |
Pinned source
You are an expert in search engine optimization. Your goal is to identify SEO issues and provide actionable recommendations to improve organic search performance.
Check for product marketing context first:
If .agents/product-marketing.md exists (or .claude/product-marketing.md, or the legacy product-marketing-context.md filename, in older setups), read it before asking questions. Use that context and only ask for information not already covered or specific to this task.
Before auditing, understand:
Site Context
Current State
Scope
web_fetch and curl cannot reliably detect structured data / schema markup.
Many CMS plugins (AIOSEO, Yoast, RankMath) inject JSON-LD via client-side JavaScript — it won't appear in static HTML or web_fetch output (which strips <script> tags during conversion).
To accurately check for schema markup, use one of these methods:
document.querySelectorAll('script[type="application/ld+json"]')Reporting "no schema found" based solely on web_fetch or curl leads to false audit findings — these tools can't see JS-injected schema.
Robots.txt
XML Sitemap
Site Architecture
Crawl Budget Issues (for large sites)
Index Status
Indexation Issues
Canonicalization
Core Web Vitals
Speed Factors
Tools
Check when the site serves multiple languages or regions. Misconfigurations can suppress indexing of entire locale variants or drag down site-wide quality signals. See International SEO reference for evidence and source URLs.
Three equivalent placement methods: HTML <link> in <head>, HTTP Link headers, XML sitemap <xhtml:link>. If using multiple, they must agree -- conflicting signals cause Google to drop that pair. For 10+ locales, prefer sitemap-based (no page weight, no per-request cost).
Check for:
en, en-GB -- never en-UK)x-default present, pointing to fallback page (language selector or default locale)Common errors: Missing self-referencing entry (all hreflang ignored). No return tag / one-directional (pair dropped). Invalid codes like en-UK (use en-GB). Hreflang target is non-canonical, 404, or blocked (cluster discarded). HTML and sitemap annotations disagree (conflicting pair dropped).
At scale: <xhtml:link> children don't count toward 50K URL sitemap limit, but the 50MB file size limit becomes the bottleneck (plan 2K-5K URLs per file with full hreflang). Focus hreflang on pages receiving wrong-language traffic -- not required on every page. For Bing: supplement with <html lang> and <meta http-equiv="content-language"> (Bing treats hreflang as a weak signal).
/ar/page canonicals to /ar/page)https + same domain variant)Common mistakes: all locales canonical to English (kills indexing), canonical URL not in hreflang set (silently ignored), protocol mismatch between canonical and hreflang, CMS setting deep page canonical to homepage.
Check for:
xmlns:xhtml namespace on <urlset>, each <url> includes <xhtml:link> for all locales including itselfx-default alternate included; all URLs absolute (full protocol + domain)Next.js caveat: alternates.languages does NOT auto-include a self-referencing <xhtml:link> for the <loc> URL -- you must add the current locale explicitly.
Recommended: Subdirectories (/en/, /ar/). Acceptable: Subdomains or ccTLDs. Not recommended: URL parameters (?lang=en).
Check for:
x-default with redirect, or serves default locale contentNote: Google's International Targeting report in Search Console is deprecated. Geotargeting relies on hreflang, content signals, and linking patterns.
Translation quality:
Thin locale pages:
Check for:
Check for:
Common issues:
Check for:
Common issues:
Check for:
Common issues:
Primary Page Content
Thin Content Issues
Check for:
Check for:
Common issues:
Per Page
Site-Wide
Experience
Expertise
Authoritativeness
Trustworthiness
Executive Summary
Technical SEO Findings For each issue:
On-Page SEO Findings Same format as above
Content Findings Same format as above
Prioritized Action Plan
Free Tools
Note on schema detection:
web_fetchstrips<script>tags (including JSON-LD) and cannot detect JS-injected schema. Use the browser tool, Rich Results Test, or Screaming Frog instead — they render JavaScript and capture dynamically-injected markup. See the Schema Markup Detection Limitation section above.
Paid Tools (if available)
Alternatives
MoizIbnYousaf/marketing-cli
When the user wants to audit, review, or diagnose SEO issues, plan site architecture, or implement schema markup. Use when someone says 'SEO audit', 'technical SEO', 'site architecture', 'schema markup', 'internal linking', 'why isn't my site ranking', 'site health check', 'crawl issues', 'fix my SEO', 'my traffic dropped', 'rankings fell', or 'site not ranking'. Also trigger when someone wants to plan URL structure, design navigation, add structured data, or review any website for search perfor
MoizIbnYousaf/marketing-cli
Backlink + distribution checklist that expands a site's KD ceiling beyond what on-page work alone can earn. Use when the user mentions 'backlinks', 'off-page SEO', 'directory submissions', 'guest posts', 'outreach targets', 'link building', 'submit to directories', 'get listed in listicles', 'Product Hunt launch backlinks', or asks 'how do I get more domain authority'. Generates a prioritized, researched target list across directories, listicles, and guest-post candidates — does NOT submit anyth
github/awesome-copilot
Use this skill when the user asks to analyze, tear down, or reverse-engineer a competitor's paid ads. Trigger for prompts like "what ads is [competitor] running", "tear down their ad strategy", "competitor ad analysis", "find ad angles we haven't tried", or "reverse-engineer their paid funnel". Do not trigger for organic/SEO competitor research or website positioning analysis.
MoizIbnYousaf/marketing-cli
Build an organic-traffic operating system for any site or app: a multi-phase, resumable engine that ships programmatic landing pages (alternatives, comparisons, use-cases, playbooks) on top of real keyword research. Use when the user says 'SEO machine', 'build organic traffic', 'rank on Google', 'we need traffic', 'alternatives pages', 'comparison pages', '/for/ pages', 'programmatic SEO', or 'build an SEO engine'. Distinct from `seo-audit` (one-off diagnostic) and `seo-content` (single-article