Install
$ agentstack add skill-zubair-trabzada-ai-marketing-claude-market-seo ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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 seoor/market seo
How to Execute
Step 1: Run Automated Analysis
Use the Python analysis script to gather baseline data:
python3 scripts/analyze_page.py
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 evaluate if the content matches:
| Intent Type | User Goal | Content Should Be | |---|---|---| | Informational | Learn something | Blog post, guide, tutorial, FAQ | | Commercial | Compare options | Comparison page, review, list | | Transactional | Buy something | Product page, pricing page, checkout | | Navigational | Find a specific page | Homepage, login page, specific tool |
Misalignment is a ranking killer. If the user searches "how to do X" (informational) and lands on a sales page (transactional), they bounce -- and Google notices.
Step 5: Technical SEO Quick Check
Robots.txt
Check: Does /robots.txt exist and is it properly configured?
- [ ] robots.txt is accessible
- [ ] Not blocking important pages or resources
- [ ] Points to sitemap.xml
- [ ] Not blocking CSS/JS (needed for rendering)
XML Sitemap
Check: Does /sitemap.xml exist?
- [ ] Sitemap exists and is accessible
- [ ] Contains all important pages
- [ ] No broken URLs in sitemap
- [ ] Submitted to Google Search Console
- [ ] Last modified dates are accurate
Canonical Tags
- [ ] Canonical tag present on the page
- [ ] Points to the correct URL (self-referencing or to the canonical version)
- [ ] Consistent with robots.txt and sitemap
Page Speed
Reference benchmarks:
| Metric | Good | Needs Work | Poor | |---|---|---|---| | Largest Contentful Paint (LCP) | Under 2.5s | 2.5-4.0s | Over 4.0s | | First Input Delay (FID) | Under 100ms | 100-300ms | Over 300ms | | Cumulative Layout Shift (CLS) | Under 0.1 | 0.1-0.25 | Over 0.25 | | Time to First Byte (TTFB) | Under 200ms | 200-500ms | Over 500ms | | First Contentful Paint (FCP) | Under 1.8s | 1.8-3.0s | Over 3.0s |
Common speed issues to flag:
- Unoptimized images (recommend WebP format, compression)
- Render-blocking JavaScript or CSS
- No browser caching headers
- No CDN detected
- Excessive third-party scripts (tracking, widgets, fonts)
- Unminified CSS and JavaScript
- Missing compression (gzip or brotli)
Mobile-Friendliness
- [ ] Viewport meta tag present (``)
- [ ] Text readable without zooming (minimum 16px body text)
- [ ] Tap targets adequately sized and spaced (minimum 48x48px)
- [ ] No horizontal scrolling required
- [ ] Responsive images
- [ ] Forms usable on mobile
Step 6: Content Gap Analysis
Methodology for identifying content gaps:
- Identify the topic cluster: What is the main topic this page/site covers?
- Map existing content: What subtopics are already covered?
- Identify missing subtopics: What related topics are competitors covering that this site is not?
- Analyze People Also Ask: What questions do searchers have about this topic?
- Check related searches: What does Google suggest at the bottom of the SERP?
Content Gap Template: | Missing Topic | Search Volume Potential | Competition | Content Type Needed | Priority | |---|---|---|---|---| | [Topic] | High/Med/Low | High/Med/Low | Blog/Guide/Tool/Page | 1-5 |
Step 7: Featured Snippet Optimization
Identify opportunities to capture featured snippets:
Types of featured snippets:
- Paragraph snippet -- Answer in 40-60 words. Use a clear question as H2/H3 followed by a concise answer.
- List snippet -- Use ordered or unordered lists with H2 containing the target query.
- Table snippet -- Use HTML tables with clear headers.
- Video snippet -- Include video with descriptive title and timestamps.
Optimization checklist:
- [ ] Target question-based queries ("how to", "what is", "why does")
- [ ] Place answer immediately after the question heading
- [ ] Keep paragraph answers between 40-60 words
- [ ] Use structured lists and tables where appropriate
- [ ] Include the target query in an H2 or H3
Step 8: Schema Markup Audit
Check for structured data implementation:
| Schema Type | Applicable To | Status | |---|---|---| | Organization | Homepage, About page | Present/Missing | | LocalBusiness | Local businesses | Present/Missing/N/A | | Product | Product pages | Present/Missing/N/A | | Article | Blog posts, news | Present/Missing/N/A | | FAQ | FAQ sections | Present/Missing | | HowTo | Tutorial content | Present/Missing/N/A | | Review/AggregateRating | Reviews, testimonials | Present/Missing/N/A | | BreadcrumbList | All pages with breadcrumbs | Present/Missing | | WebSite/SearchAction | Homepage (sitelinks search box) | Present/Missing | | Event | Event pages | Present/Missing/N/A |
Implementation guidance:
- Use JSON-LD format (Google's preferred format)
- Validate with Google's Rich Results Test
- Don't mark up content that isn't visible on the page
- Keep schema data consistent with on-page content
Step 9: Internal Linking Opportunities
Identify specific internal linking improvements:
- Orphan pages -- Pages with no internal links pointing to them
- Hub pages -- High-authority pages that should link to related content
- Topical clusters -- Group related content and create linking structures
- CTA links -- Blog content should link to relevant product/service pages
- Footer/sidebar links -- Sitewide links to important pages
Linking Architecture Assessment:
Homepage
|-- Category/Service Pages (Pillar Content)
|-- Individual Blog Posts/Articles (Cluster Content)
|-- Back-links to Pillar Content
|-- Key Conversion Pages (Pricing, Signup, Contact)
|-- Linked from relevant content
Step 10: Core Web Vitals Impact Assessment
Evaluate the revenue impact of Core Web Vitals performance:
Research-backed impacts:
- Sites passing all Core Web Vitals see 24% fewer page abandonments
- A 100ms decrease in LCP correlates with a 1.1% increase in conversion rates
- Reducing CLS by 0.1 corresponds to a 15% decrease in bounce rate
- Pages loading within 2 seconds have an average bounce rate of 9%, while pages loading in 5 seconds have a 38% bounce rate
Recommendations by metric: | Metric | If Failing | Typical Fixes | |---|---|---| | LCP | Over 2.5s | Optimize hero image, preload critical resources, use CDN, reduce server response time | | FID/INP | Over 100ms | Reduce JavaScript execution, defer non-critical scripts, use web workers | | CLS | Over 0.1 | Set image dimensions, reserve space for ads/embeds, avoid inserting content above existing content |
Step 11: Blog and Content Strategy Recommendations
Based on the audit findings, recommend:
- Publishing cadence -- How often to publish based on competition and resources
- Content types -- Blog posts, guides, tools, videos, infographics
- Keyword targeting strategy -- Balance between high-volume and long-tail
- Content length -- Benchmark against top-ranking content for target keywords
- Content update strategy -- How often to refresh existing content
- Distribution plan -- How to promote content beyond organic search
Content Prioritization Matrix: | Content Idea | Search Volume | Competition | Business Value | Priority Score | |---|---|---|---|---| | [Topic] | High/Med/Low | High/Med/Low | High/Med/Low | 1-10 |
Scoring: High volume + Low competition + High business value = Highest priority
Output Format
Generate a file called SEO-AUDIT.md with:
# SEO Content Audit
## [URL]
### Date: [Date]
---
## SEO Health Score: [X/100]
---
## On-Page SEO Checklist
### Title Tag
- Status: [Pass/Needs Work/Fail]
- Current: "[current title]"
- Recommended: "[improved title]"
- Issues: [list issues]
### Meta Description
- Status: [Pass/Needs Work/Fail]
- Current: "[current meta]"
- Recommended: "[improved meta]"
### Heading Hierarchy
[H1-H6 structure analysis]
### Image Optimization
[Alt text audit results]
### Internal Linking
[Link analysis]
### URL Structure
[URL assessment]
---
## Content Quality (E-E-A-T)
| Dimension | Score | Evidence |
|---|---|---|
| Experience | [Strong/Present/Weak/Missing] | [details] |
| Expertise | [Strong/Present/Weak/Missing] | [details] |
…
## Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- **Author:** [zubair-trabzada](https://github.com/zubair-trabzada)
- **Source:** [zubair-trabzada/ai-marketing-claude](https://github.com/zubair-trabzada/ai-marketing-claude)
- **License:** MIT
- **Homepage:** https://www.skool.com/aiworkshop
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.