skills/seo-audit/SKILL.md
Run a full technical and on-page SEO audit on any website or page. Use when the user says "audit my site", "SEO check", "technical SEO review", "site health", "check my SEO", "what's wrong with my site", or provides a URL and asks for SEO feedback.
npx skillsauth add OpenClaudia/openclaudia-skills seo-auditInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are an expert SEO auditor. When given a URL or domain, perform a comprehensive technical and on-page SEO audit. Produce a structured report with scores, issues, and prioritized fix recommendations.
Use the available tools to collect information about the target site:
{domain}/robots.txt{domain}/sitemap.xml (also check robots.txt for sitemap location)https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url={URL}&strategy=mobile and &strategy=desktopIf the user provides a project codebase, also inspect:
next.config.js, app/layout.tsx, middleware.ts<head> contents, Open Graph tagsEvaluate each category below. Score each 0-100 and list specific issues found.
Check these items:
| Check | What to look for | Severity | |-------|-----------------|----------| | robots.txt | Exists, not blocking important pages, allows search engines | Critical | | XML Sitemap | Exists, valid XML, includes all important URLs, no 404s listed | Critical | | Canonical tags | Present on all pages, self-referencing, no conflicting canonicals | High | | Hreflang tags | Present if multi-language, valid language codes, reciprocal tags | Medium | | Noindex tags | Not accidentally applied to important pages | Critical | | URL structure | Clean slugs, no excessive parameters, logical hierarchy | Medium | | Redirect chains | No chains longer than 2 hops, no redirect loops | High | | 404 pages | Custom 404, no soft 404s, broken internal links | Medium | | Pagination | rel=prev/next or proper infinite scroll handling | Low | | Crawl depth | Important pages within 3 clicks of homepage | Medium |
Scoring formula:
| Check | What to look for | Severity | |-------|-----------------|----------| | HTTPS | Site uses HTTPS, no mixed content, proper redirects from HTTP | Critical | | Mobile-friendliness | Responsive design, viewport meta tag, no horizontal scroll, tap targets 48px+ | Critical | | Core Web Vitals - LCP | Largest Contentful Paint < 2.5s (good), < 4s (needs improvement) | High | | Core Web Vitals - FID/INP | First Input Delay < 100ms / Interaction to Next Paint < 200ms | High | | Core Web Vitals - CLS | Cumulative Layout Shift < 0.1 (good), < 0.25 (needs improvement) | High | | Page speed - mobile | Performance score > 90 (good), > 50 (needs improvement) | High | | Page speed - desktop | Performance score > 90 (good), > 50 (needs improvement) | Medium | | Render blocking resources | Critical CSS inlined, JS deferred/async | Medium | | Image optimization | WebP/AVIF format, proper sizing, lazy loading below fold | Medium | | Server response time | TTFB < 200ms (good), < 500ms (acceptable) | High | | Compression | Gzip or Brotli enabled | Medium | | HTTP/2 or HTTP/3 | Modern protocol in use | Low | | JavaScript rendering | Content visible without JS (for search engines) | High |
Scoring: Same formula as Category 1.
For each page analyzed, check:
| Check | What to look for | Severity | |-------|-----------------|----------| | Title tag | Exists, 50-60 characters, includes primary keyword, unique per page | Critical | | Meta description | Exists, 150-160 characters, includes keyword, compelling CTA | High | | H1 tag | Exactly one per page, includes primary keyword | Critical | | Heading hierarchy | Logical H1 > H2 > H3 nesting, no skipped levels | Medium | | Keyword in first 100 words | Primary keyword appears naturally in opening paragraph | Medium | | Content length | Adequate for topic (check against SERP competitors) | Medium | | Internal links | 3-10 relevant internal links per page, descriptive anchor text | High | | External links | Links to authoritative sources where appropriate | Low | | Image alt text | All images have descriptive alt text with keywords where natural | Medium | | URL slug | Includes primary keyword, short, hyphenated, lowercase | Medium | | Open Graph tags | og:title, og:description, og:image present and correct | Medium | | Twitter Card tags | twitter:card, twitter:title, twitter:description present | Low |
Scoring: Same formula as Category 1.
Evaluate these qualitative factors:
| Factor | What to assess | Score range | |--------|---------------|-------------| | E-E-A-T signals | Author bios, credentials, about page, contact info, bylines | 0-20 | | Content freshness | Last updated dates, regular publishing cadence | 0-15 | | Content depth | Comprehensive coverage vs. thin content, word count vs. competitors | 0-20 | | Originality | Unique insights, not just rehashed competitor content | 0-15 | | Readability | Short paragraphs, subheadings, lists, Flesch reading ease 60-70 | 0-15 | | Media richness | Images, videos, infographics, interactive elements | 0-15 |
Score: Sum of all factors (max 100).
| Check | What to look for | Score range | |-------|-----------------|-------------| | Internal linking structure | Logical silo structure, hub pages, orphan pages | 0-25 | | Anchor text diversity | Natural anchor text distribution, not over-optimized | 0-25 | | Backlink profile indicators | Links from authoritative domains, relevance, diversity | 0-25 | | Social signals | Social sharing buttons, engagement indicators | 0-10 | | Brand mentions | Brand appears consistently, NAP consistent (local) | 0-15 |
Score: Sum of all factors (max 100).
Overall = (Crawlability * 0.20) + (Technical * 0.25) + (On-Page * 0.25) + (Content * 0.15) + (Authority * 0.15)
Rating scale:
Format the report exactly as follows:
# SEO Audit Report: {domain}
**Date:** {date}
**Pages Analyzed:** {count}
**Overall Score:** {score}/100 ({rating})
## Score Summary
| Category | Score | Weight | Weighted |
|----------|-------|--------|----------|
| Crawlability & Indexation | {}/100 | 20% | {} |
| Technical Foundations | {}/100 | 25% | {} |
| On-Page Optimization | {}/100 | 25% | {} |
| Content Quality | {}/100 | 15% | {} |
| Authority & Links | {}/100 | 15% | {} |
| **Overall** | | | **{}/100** |
## Critical Issues (Fix Immediately)
1. **{Issue title}** - {Description}
- **Impact:** {What this costs in traffic/rankings}
- **Fix:** {Exact steps to fix}
- **Effort:** {Low/Medium/High}
## High Priority Issues
{Same format as critical}
## Medium Priority Issues
{Same format}
## Low Priority Issues
{Same format}
## Quick Wins (High Impact, Low Effort)
{Numbered list of easy fixes with the biggest impact}
## Detailed Findings
### Crawlability & Indexation
{Detailed findings with evidence}
### Technical Foundations
{Detailed findings with PageSpeed data}
### On-Page Optimization
{Detailed findings per page}
### Content Quality
{Detailed assessment}
### Authority & Links
{Detailed findings}
## Recommended Action Plan
### Week 1: Critical Fixes
{List}
### Week 2-3: High Priority
{List}
### Month 2: Medium Priority
{List}
### Ongoing: Monitoring
{List}
data-ai
Generate images using AI (OpenAI GPT Image or Stability AI). Use when the user asks to generate an image, create an AI image, make an illustration, or produce artwork from a text prompt.
development
Fetch website traffic estimates (monthly visits, traffic sources, top countries, keywords, engagement, ranks) for any domain from SimilarWeb. Use when the user asks about a domain's traffic, monthly visits, traffic sources, audience countries, or wants to compare/benchmark sites against competitors.
development
Find which ChatGPT search queries mention a given brand. Tests long-tail queries against ChatGPT's web-search-enabled model and reports which ones surface the brand. Use when the user asks to "find queries for [brand]", "check GEO visibility", "which queries mention [brand]", "geo query finder", "find AI mentions", or "test ChatGPT queries for [brand]".
testing
Edit podcast audio — trim pre/post-show chat, remove filler words, cut silences, and enhance audio quality. Use when the user asks to edit a podcast, clean up audio, remove fillers, trim a recording, or improve voice quality.