SEO Content Audit
Skill Purpose
Perform a comprehensive SEO audit of a webpage or website, covering on-page SEO, content quality (E-E-A-T), keyword analysis, technical SEO, and content strategy. This skill combines automated analysis via scripts/analyze_page.py with expert-level manual review to produce an actionable SEO audit document.
When to Use
- User provides a URL and asks for SEO analysis, audit, or recommendations
- User wants to improve organic search rankings and traffic
- User asks about on-page SEO, meta tags, content quality, or technical SEO
- User wants a content gap analysis or content strategy recommendations
- Triggered by
/market seo <url>or/market seo
How to Execute
Step 1: Run Automated Analysis
Use the Python analysis script to gather baseline data:
python3 scripts/analyze_page.py <url>
This script extracts:
- Title tag and meta description
- Open Graph tags
- Heading hierarchy (H1-H6)
- Links (internal and external)
- Images and alt text status
- Forms and CTAs
- Schema/structured data
- Social links
- Tracking scripts
- Viewport meta tag (mobile-friendliness indicator)
- Canonical tag
- Robots meta directives
Capture the JSON output and use it as the foundation for the manual analysis.
Step 2: On-Page SEO Checklist
Evaluate each element and score it as Pass, Needs Work, or Fail.
Title Tag
| Criteria | Best Practice | Check |
|---|---|---|
| Exists | Every page must have a unique title tag | Pass/Fail |
| Length | 50-60 characters (displays fully in SERPs) | Pass/Needs Work/Fail |
| Primary keyword | Contains the primary target keyword | Pass/Needs Work/Fail |
| Keyword position | Primary keyword appears near the beginning | Pass/Needs Work/Fail |
| Brand name | Includes brand name (typically at the end, separated by pipe or dash) | Pass/Needs Work/Fail |
| Uniqueness | Different from other pages on the site | Pass/Fail |
| Compelling | Would a searcher want to click this? | Pass/Needs Work/Fail |
Common title tag mistakes:
- Too long (truncated in search results)
- Missing primary keyword
- Keyword stuffing ("Best SEO Tool | Top SEO Tool | SEO Software | SEO Platform")
- Using the same title across multiple pages
- Generic titles ("Home", "Welcome", "Page 1")
- Missing brand name
Meta Description
| Criteria | Best Practice | Check |
|---|---|---|
| Exists | Every page should have a meta description | Pass/Fail |
| Length | 150-160 characters | Pass/Needs Work/Fail |
| Primary keyword | Naturally includes the target keyword | Pass/Needs Work/Fail |
| Call to action | Includes a reason to click | Pass/Needs Work/Fail |
| Unique | Different from other pages | Pass/Fail |
| Compelling | Acts as ad copy for the search result | Pass/Needs Work/Fail |
Heading Hierarchy (H1-H6)
| Criteria | Best Practice | Check |
|---|---|---|
| H1 exists | Exactly one H1 per page | Pass/Fail |
| H1 contains keyword | Primary keyword in the H1 | Pass/Needs Work/Fail |
| H1 differs from title | H1 and title tag are different (but related) | Pass/Needs Work/Fail |
| Logical hierarchy | H2 under H1, H3 under H2 (no skipping levels) | Pass/Needs Work/Fail |
| Descriptive subheadings | H2s and H3s describe content sections clearly | Pass/Needs Work/Fail |
| Keywords in subheadings | Secondary keywords appear naturally in H2s/H3s | Pass/Needs Work/Fail |
| Not overused | Headers used for structure, not styling | Pass/Needs Work/Fail |
Image Optimization
| Criteria | Best Practice | Check |
|---|---|---|
| Alt text | Every image has descriptive alt text | Pass/Needs Work/Fail |
| Alt text quality | Alt text describes the image and includes keywords naturally | Pass/Needs Work/Fail |
| File names | Descriptive filenames (not IMG_001.jpg) | Pass/Needs Work/Fail |
| File size | Images optimized for web (WebP preferred, compressed) | Pass/Needs Work/Fail |
| Lazy loading | Below-fold images use lazy loading | Pass/Needs Work/Fail |
| Responsive images | Uses srcset or picture element for different sizes | Pass/Needs Work/Fail |
| Decorative images | Decorative images have empty alt="" (not missing alt) | Pass/Needs Work/Fail |
Internal Linking
| Criteria | Best Practice | Check |
|---|---|---|
| Internal links present | Page links to other relevant pages on the site | Pass/Needs Work/Fail |
| Anchor text | Internal link anchor text is descriptive (not "click here") | Pass/Needs Work/Fail |
| Deep linking | Links go to specific pages, not just homepage | Pass/Needs Work/Fail |
| Relevant context | Links are contextually relevant to surrounding content | Pass/Needs Work/Fail |
| Reasonable count | 3-10 internal links per 1,000 words of content | Pass/Needs Work/Fail |
| Broken links | No broken internal links (404s) | Pass/Fail |
URL Structure
| Criteria | Best Practice | Check |
|---|---|---|
| Readable | URL is human-readable and descriptive | Pass/Needs Work/Fail |
| Keywords | URL contains relevant keywords | Pass/Needs Work/Fail |
| Length | Under 75 characters (ideally under 60) | Pass/Needs Work/Fail |
| Hyphens | Words separated by hyphens (not underscores) | Pass/Fail |
| Lowercase | All lowercase characters | Pass/Fail |
| No parameters | Clean URLs without unnecessary query parameters | Pass/Needs Work/Fail |
| Trailing slashes | Consistent use (either always or never) | Pass/Needs Work/Fail |
Step 3: Content Quality Assessment (E-E-A-T)
Evaluate the content against Google's E-E-A-T framework:
Experience
Does the content demonstrate first-hand experience with the topic?
Check for:
- Personal anecdotes, case studies, or real-world examples
- Screenshots, photos, or evidence of hands-on experience
- Specific details that only someone with experience would know
- "I did X and here's what happened" type content
Score: Strong / Present / Weak / Missing
Expertise
Does the author have demonstrated knowledge in this subject?
Check for:
- Author bio with relevant credentials
- Depth of content (not superficial)
- Accurate information and data
- Proper use of industry terminology
- Links to authoritative sources
Score: Strong / Present / Weak / Missing
Authoritativeness
Is the website and author recognized as an authority on this topic?
Check for:
- Author bylines with real names and bios
- About page with company background
- Industry awards or certifications
- Backlinks from authoritative sites
- Media mentions or press coverage
- Guest posts on industry publications
Score: Strong / Present / Weak / Missing
Trustworthiness
Can users trust this content and this website?
Check for:
- HTTPS (SSL certificate)
- Privacy policy and terms of service
- Physical address and contact information
- Customer reviews and testimonials
- Security badges and certifications
- Transparent business practices
- Accurate, up-to-date information
- Properly sourced claims and statistics
Score: Strong / Present / Weak / Missing
Step 4: Keyword Analysis
Primary Keyword Assessment
| Element | Evaluation |
|---|---|
| Primary keyword identified | What keyword is this page targeting? |
| Search intent alignment | Does the content match what searchers expect? (informational, commercial, transactional, navigational) |
| Keyword in title | Present, position, natural usage |
| Keyword in H1 | Present, natural usage |
| Keyword in first 100 words | Appears early in the content |
| Keyword in subheadings | Appears in at least one H2 or H3 |
| Keyword in meta description | Present and natural |
| Keyword in URL | Present |
| Keyword density | 1-2% is ideal. Over 3% is keyword stuffing. |
Secondary Keywords
Identify 5-10 related keywords that should be naturally included in the content:
- Synonyms and variations of the primary keyword
- Long-tail variations
- Related questions (People Also Ask)
- LSI (Latent Semantic Indexing) keywords
Search Intent Analysis
Determine the search intent behind the target keyword and e