SEO Audit Pro
by @drivenautoplex1
Crawl any website and get a 0-100 SEO score with 50+ checks across Technical, On-Page, Schema, Social, and Compliance categories. Identifies quick wins, comp...
clawhub install dfw-seo-auditπ About This Skill
name: seo-audit-pro description: Crawl any website and get a 0-100 SEO score with 50+ checks across Technical, On-Page, Schema, Social, and Compliance categories. Identifies quick wins, competitor gaps, and generates AI-written SEO articles. Industry-specific compliance checks for mortgage, real estate, medical, and legal. version: 1.0.1 author: drivenautoplex1 price: 0 tags: - seo - marketing - real-estate - mortgage - crypto - saas - healthcare - legal - e-commerce - coaching - content - analytics - compliance - competitor-analysis metadata: openclaw: requires: env: - ANTHROPIC_API_KEY anyBins: - python3 primaryEnv: ANTHROPIC_API_KEY emoji: "π" homepage: https://github.com/drivenautoplex1/openclaw-skills install: - kind: uv package: requests bins: [] - kind: uv package: beautifulsoup4 bins: [] - kind: uv package: anthropic bins: []
SEO Audit Skill
Run a full SEO audit on any website in seconds. Get a 0-100 score, 50+ individual checks, industry compliance flags, and a prioritized fix list β no agency required.
Free vs Premium
Free tier (no API key needed):
--demo β full audit output on a built-in static sample, zero network calls, see exactly what the output looks like--compliance-only β fast HTTP fetch + forbidden word/MLO compliance scan, no AI analysis--version β print versionPremium tier (ANTHROPIC_API_KEY):
--competitor β side-by-side gap analysis against a competitor URL--generate-article β AI-written 800-word SEO article with H1/H2/FAQ schema, ~$0.003/article--format=json β pipe results into agent workflows or dashboards--industry=mortgage, --industry=medical, --industry=legalThe free compliance scan catches NMLS violations, missing disclosures, and forbidden words before they cost you β worth installing on that alone.
What this skill does
Crawls a URL and runs 50+ checks across 5 categories. Returns a weighted 0-100 score, per-check PASS/FAIL/WARN results, and a ranked fix list ordered by score impact.
Check categories
| Category | Checks | Industry weight | |---|---|---| | Technical | HTTPS, robots.txt, sitemap, page speed signals, canonical, mobile | All | | On-Page | Title (length, keyword), meta description, H1/H2 hierarchy, image alt, word count | All | | Schema | LocalBusiness, FAQ, BreadcrumbList, Review markup | Real estate, medical, legal | | Social | OG tags, Twitter card, description, image | All | | Compliance | NMLS number, phone, address, disclosures, CTA count | Mortgage, medical, legal |
Scoring: Weight-based (not binary pass/fail count). Critical checks (NMLS, HTTPS, H1) weight 3Γ. Minor checks weight 1Γ. Score = pass_weight / total_weight Γ 100.
Input contract
Tell me: 1. URL to audit β the page you want scored 2. Target keyword (optional) β for on-page keyword density check 3. Industry (optional): mortgage / real-estate / crypto / saas / healthcare / legal / general 4. Competitor URL (optional) β for gap analysis
Example prompts:
Output contract
Standard audit output:
SEO Audit β https://example.com
Score: 74/100 | Industry: Mortgage | Keyword: "mortgage broker [city]"TECHNICAL (8/10)
β HTTPS enforced
β robots.txt found
β sitemap.xml found
β No canonical tag β add to prevent duplicate content
β Missing mobile viewport meta
ON-PAGE (6/10)
β Title: 52 chars, keyword present
β Meta description: 210 chars (too long, truncates at 160)
β H1 present: "[City] Mortgage Broker β Get Pre-Approved Today"
β Only 380 words β thin content, target 800+
β 4 images missing alt text
SCHEMA (3/10)
β No LocalBusiness schema β quick win, adds map pack eligibility
β No FAQ schema β competitors using this get 2Γ SERP real estate
β No Review schema
SOCIAL (9/10)
β OG title, description, image all present
β Twitter card configured
COMPLIANCE (10/10) [Mortgage]
β NMLS number visible
β Phone number present
β Physical address in footer
β No forbidden words detected
TOP 3 QUICK WINS (ranked by score impact):
1. Add LocalBusiness + FAQ schema (+8 pts estimated)
2. Expand content to 800+ words (+6 pts estimated)
3. Fix meta description length (+4 pts estimated)
Competitor gap analysis (with --competitor):
GAP ANALYSIS β Your Site vs competitor.comYour site WINS: NMLS compliance, OG tags, sitemap
Competitor WINS: FAQ schema, 2,400-word content, 3 review schema blocks
Top gaps to close:
1. FAQ schema β competitor has 8 FAQ pairs, you have 0
2. Content depth β competitor 2,400 words vs your 380
3. Review schema β competitor shows star rating in SERP, you don't
Article generation (with --generate-article):
[800-word article with H1/H2 structure, FAQ section, target keyword density 1-2%]
Ready to paste into CMS. Estimated read time: 4 min.
How the skill works
Uses seo_audit_skill.py (in this directory). Makes HTTP requests with BeautifulSoup for crawling, Claude Haiku for AI analysis.
# Full audit
python3 seo_audit_skill.py --url https://example.com --keyword "mortgage broker [city]"Demo mode (no network, no API β see the output format)
python3 seo_audit_skill.py --demoCompliance scan only (free, HTTP fetch only)
python3 seo_audit_skill.py --compliance-only --url https://example.com --industry=mortgageCompetitor gap analysis
python3 seo_audit_skill.py --url https://yoursite.com --competitor https://competitor.comGenerate SEO article (premium)
python3 seo_audit_skill.py --generate-article "first time home buyer [city]" --output article.mdJSON output (for pipelines)
python3 seo_audit_skill.py --url https://example.com --format=json | jq '.score'Industry-specific compliance
python3 seo_audit_skill.py --url https://medicalsite.com --industry=healthcareVersion
python3 seo_audit_skill.py --version
Industry compliance modes
| Industry | Extra checks | |---|---| | mortgage | NMLS number, rate disclosure, APR presence, "pre-approval" forbidden | | real-estate | License number, fair housing logo, MLS disclaimer | | healthcare | HIPAA disclaimer, no diagnosis claims, credential display | | legal | Bar number, jurisdiction disclosure, no outcome guarantees | | general | Standard checks only |
Why weight-based scoring
A missing NMLS number is not equal to a missing favicon. Weight-based scoring reflects real SEO impact:
A site with perfect compliance + schema but missing HTTPS scores lower than a site with HTTPS + good on-page but weak social.
Competitor intelligence note
Large mortgage sites (Rocket, LoanDepot, NerdWallet) use Cloudflare WAFs and will 403 bot requests. The audit reports the 403 as a FAIL on HTTPS-accessible content β which is honest. For auditing your own site, no issue. For competitor research on large players, use --format=json to capture what passes before the block.
Real finding: NerdWallet scores ~70/100 on this audit β they fail schema markup entirely and have a 22-char title. Their SEO advantage is domain authority (backlinks), not on-page quality. This gap is closeable for smaller operators who nail technical + schema.
Integration with agent infrastructure
# Via Telegram
@openclaw seo-audit "Audit https://example.com for '[city] mortgage'"
@openclaw seo-audit "Compare https://mysite.com vs https://competitor.com"Via Claude Code
openclaw run seo-audit "Audit https://example.com"In agent pipelines (JSON mode)
python3 seo_audit_skill.py --url https://example.com --format=json | jq '.score, .quick_wins'