Back to list
naporin0624

seo-analyzer

by naporin0624

2🍴 0📅 Jan 15, 2026

SKILL.md


name: seo-analyzer description: Analyzes HTML files for SEO issues using static analysis with cheerio. Checks meta tags, Open Graph, Twitter Cards, heading structure, and JSON-LD structured data. Use when user mentions "SEO check", "meta tags", "og tags", "structured data validation", "SEO audit", or wants to analyze HTML/JSX for SEO compliance.

SEO Analyzer

Static SEO analysis for HTML files using cheerio-based parsing. Validates meta tags, social media tags, heading structure, and structured data. Also includes keyword analysis for content optimization.

Analysis Workflow

  1. Parse HTML with cheerio
  2. Check Critical Issues (P0):
    • Title tag presence and length
    • Meta description presence and length
    • Single H1 tag
    • Canonical URL
  3. Check Important Issues (P1):
    • Robots meta directives
    • Viewport meta
    • Heading hierarchy
    • Lang attribute
  4. Check Recommended (P2):
    • Open Graph tags
    • Twitter Cards
    • JSON-LD structured data
    • Hreflang tags
  5. Generate Report with issues and recommendations

Usage

Installation

cd ${CLAUDE_PLUGIN_ROOT}/skills/seo-analyzer
npm install
npm run build

Run Analysis

# SEO analysis (default)
npx tsx ${CLAUDE_PLUGIN_ROOT}/skills/seo-analyzer/src/index.ts path/to/file.html

# SEO analysis with JSON output
npx tsx ${CLAUDE_PLUGIN_ROOT}/skills/seo-analyzer/src/index.ts path/to/file.html --json

# Keyword analysis
npx tsx ${CLAUDE_PLUGIN_ROOT}/skills/seo-analyzer/src/index.ts path/to/file.html --keywords

# Both SEO and Keyword analysis
npx tsx ${CLAUDE_PLUGIN_ROOT}/skills/seo-analyzer/src/index.ts path/to/file.html --both

# Combined with JSON output
npx tsx ${CLAUDE_PLUGIN_ROOT}/skills/seo-analyzer/src/index.ts path/to/file.html --both --json

Using Built Version

# After npm run build
node ${CLAUDE_PLUGIN_ROOT}/skills/seo-analyzer/dist/index.js path/to/file.html

Check Items

P0 - Critical (Indexing/Ranking Impact)

CheckValidationImpact
TitleExists, 30-60 charsSearch display
DescriptionExists, 70-160 charsClick-through rate
H1Exactly oneContent hierarchy
CanonicalExists, valid URLDuplicate content

P1 - Important (SEO Quality)

CheckValidationImpact
RobotsNo unintended noindexIndexing
ViewportExistsMobile SEO
Heading orderh1→h2→h3 sequenceStructure
LangExists on htmli18n SEO
CheckValidationImpact
og:titleExists, ≤95 charsSocial sharing
og:descriptionExistsSocial sharing
og:imageExists, valid URLSocial sharing
twitter:cardExistsTwitter display
JSON-LDValid schemaRich results

Output Format

Text Report

# SEO Analysis Report: index.html

## Summary
- Critical: 1
- Important: 2
- Recommended: 3
- Passed: 8

## Critical Issues (P0)

### 1. Missing Meta Description
**Check**: meta-description
**Fix**: Add <meta name="description" content="Your description here">

## Important Issues (P1)
...

JSON Output

{
  "file": "index.html",
  "timestamp": "2024-01-15T10:00:00Z",
  "confidence": 100,
  "summary": {
    "critical": 1,
    "important": 2,
    "recommended": 3,
    "passed": 8
  },
  "issues": [
    {
      "severity": "critical",
      "check": "meta-description",
      "message": "Missing meta description",
      "fix": "Add <meta name=\"description\" content=\"...\">"
    }
  ],
  "passed": [
    {
      "check": "title",
      "value": "Page Title - Brand",
      "length": 18
    }
  ],
  "warnings": []
}

Detection Features

React/SPA Detection

The analyzer detects client-side rendered applications and adjusts confidence:

  • Presence of #root or #app container
  • React/Vue/Angular script references
  • Empty body with JavaScript bundles

When detected, a warning is added that static analysis may not reflect the rendered page.

Keyword Analysis

The keyword analyzer extracts and scores keywords:

npx tsx src/index.ts file.html --keywords

Outputs:

  • Primary keywords by score
  • Key phrases (2-word combinations)
  • Keyword density
  • Placement analysis (title, H1, description)
  • Recommendations for improvement

Keyword Report Example

# Keyword Analysis: index.html

## Stats
- Total words: 1245
- Unique words: 342

## Primary Keywords (by score)

| Keyword | Score | Freq | Title | H1 | Description |
|---------|-------|------|-------|----|-----------:|
| product | 28 | 15 | Y | Y | Y |
| service | 21 | 12 | Y |   | Y |
...

## Recommendations

- Consider adding "product management" to your title tag

Integration with Lookup

For detailed guidance on any issue, reference the seo-lookup skill:

# Look up og:image requirements
cat ${CLAUDE_PLUGIN_ROOT}/skills/seo-lookup/seo-index.json | jq '.["og-tags"]["og:image"]'

# Look up Article schema
cat ${CLAUDE_PLUGIN_ROOT}/skills/seo-lookup/structured-data-index.json | jq '.schemas.Article'

External Validation

After fixing issues, validate with:

Score

Total Score

50/100

Based on repository quality metrics

SKILL.md

SKILL.mdファイルが含まれている

+20
LICENSE

ライセンスが設定されている

0/10
説明文

100文字以上の説明がある

0/10
人気

GitHub Stars 100以上

0/15
最近の活動

3ヶ月以内に更新がある

0/10
フォーク

10回以上フォークされている

0/5
Issue管理

オープンIssueが50未満

+5
言語

プログラミング言語が設定されている

+5
タグ

1つ以上のタグが設定されている

0/5

Reviews

💬

Reviews coming soon