Skip to main content
skill CX Codex

seo-optimizer · ailabs-393 — Claude Code skill: SEO audit for HTML sites

The skill scans HTML/CSS pages for SEO faults, then fixes meta tags, structured data and the sitemap. Handy when a site exists but search engines barely notice it.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add ailabs-393/ai-labs-claude-skills --skill seo-optimizer -a claude-code
Open on GitHub

What seo-optimizer does

Two Python scripts and a schema.org reference sit inside. scripts/seo_analyzer.py walks a single file or a whole directory and checks titles, meta descriptions, the H1–H6 order, image alt text, Open Graph and Twitter Card tags, canonical links, lang and viewport. It prints a readable report, or JSON with --json, and sorts findings into critical, warnings and already-good.

scripts/generate_sitemap.py takes a directory plus a base URL and turns every HTML file into an XML entry with lastmod and estimated priority and changefreq. The skill then walks you through placing sitemap.xml and linking it from robots.txt; a starter robots file is in assets/robots.txt.

It works on static markup. A PHP template, a page rendered at request time or an SPA with an empty <body> gives the analyzer nothing to read, since it only opens HTML files on disk. Both scripts run through python, so the interpreter must be on your machine before the first audit.

What it helps with

  • spot pages with a missing title or meta description
  • confirm each page has exactly one H1
  • build an XML sitemap from a static folder
  • add alt text to images that lack it
  • check for canonical, lang and viewport tags

Example prompts for the agent

  • Run python scripts/seo_analyzer.py ./public --json and list the critical issues
  • Optimize index.html for search and fix its meta tags
  • Generate the sitemap with python scripts/generate_sitemap.py ./public https://example.com

How to install seo-optimizer

1Skills CLI (Vercel)

npx skills add ailabs-393/ai-labs-claude-skills --skill seo-optimizer -a claude-code

2Manually: put the files in place

~/.claude/skills/seo-optimizer/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/seo-optimizer/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about seo-optimizer

How do I install seo-optimizer in Claude Code?

Run npx skills add ailabs-393/ai-labs-claude-skills --skill seo-optimizer -a claude-code. The skill lands at ~/.claude/skills/seo-optimizer/SKILL.md.

What does seo-optimizer do?

It audits HTML for SEO gaps, suggests fixes for titles, headings and metadata, helps add schema.org markup and generates a sitemap.

Do I need Python for it?

Yes. The analyzer and the sitemap generator are both invoked as python scripts/..., so a Python interpreter has to be installed.

Source text

SKILL.md · MIT
---
name: seo-optimizer
description: This skill should be used when analyzing HTML/CSS websites for SEO optimization, fixing SEO issues, generating SEO reports, or implementing SEO best practices. Use when the user requests SEO audits, optimization, meta tag improvements, schema markup implementation, sitemap generation, or general search engine optimization tasks.
---

# SEO Optimizer

## Overview

This skill provides comprehensive SEO optimization capabilities for HTML/CSS websites. It analyzes websites for SEO issues, implements best practices, and generates optimization reports covering all critical SEO aspects including meta tags, heading structure, image optimization, schema markup, mobile optimization, and technical SEO.

## When to Use This Skill

Use this skill when the user requests:
- "Analyze my website for SEO issues"
- "Optimize this page for SEO"
- "Generate an SEO audit report"
- "Fix SEO problems on my website"
- "Add proper meta tags to my pages"
- "Implement schema markup"
- "Generate a sitemap"
- "Improve my site's search engine rankings"
- Any task related to search engine optimization for HTML/CSS websites

## Workflow

### 1. Initial SEO Analysis

Start with comprehensive analysis using the SEO analyzer script:

```bash
python scripts/seo_analyzer.py <directory_or_file>
```

This script analyzes HTML files and generates a detailed report covering:
- Title tags (length, presence, uniqueness)
- Meta descriptions (length, presence)
- Heading structure (H1-H6 hierarchy)
- Image alt attributes
- Open Graph tags
- Twitter Card tags
- Schema.org markup
- HTML lang attribute
- Viewport and charset meta tags
- Canonical URLs
- Content length

**Output Options**:
- Default: Human-readable text report with issues, warnings, and good practices
- `--json`: Machine-readable JSON format for programmatic processing

**Example Usage**:
```bash
# Analyze single file
python scripts/seo_analyzer.py index.html

# Analyze entire directory
python scripts/seo_analyzer.py ./public

# Get JSON output
python scripts/seo_analyzer.py ./public --json
```

### 2. Review Analysis Results

The analyzer categorizes findings into three levels:

**Critical Issues (🔴)** - Fix immediately:
- Missing title tags
- Missing meta descriptions
- Missing H1 headings
- Images without alt attributes
- Missing HTML lang attribute

**Warnings (⚠️)** - Fix soon for optimal SEO:
- Suboptimal title/description lengths
- Multiple H1 tags
- Missing Open Graph or Twitter Card tags
- Missing viewport meta tag
- Missing schema markup
- Heading hierarchy issues

**Good Practices (✅)** - Already optimized:
- Properly formatted elements
- Correct lengths
- Present required tags

### 3. Prioritize and Fix Issues

Address issues in priority order:

#### Priority 1: Critical Issues

**Missing or Poor Title Tags**:
```html
<!-- Add unique, descriptive title to <head> -->
<title>Primary Keyword - Secondary Keyword | Brand Name</title>
```
- Keep 50-60 characters
- Include target keywords at the beginning
- Make unique for each page

**Missing Meta Descriptions**:
```html
<!-- Add compelling description to <head> -->
<meta name="description" content="Clear, concise description that includes target keywords and encourages clicks. 150-160 characters.">
```

**Missing H1 or Multiple H1s**:
- Ensure exactly ONE H1 per page
- H1 should describe the main topic
- Should match or relate to title tag

**Images Without Alt Text**:
```html
<!-- Add descriptive alt text to all images -->
<img src="image.jpg" alt="Descriptive text explaining image content">
```

**Missing HTML Lang Attribute**:
```html
<!-- Add to opening <html> tag -->
<html lang="en">
```

#### Priority 2: Important Optimizations

**Viewport Meta Tag** (critical for mobile SEO):
```html
<meta name="viewport" content="width=device-width, initial-scale=1.0">
```

**Charset Declaration**:
```html
<meta charset="UTF-8">
```

**Open Graph Tags** (for social media sharing):
```html
<meta property="og:title" content="Your Page Title">
<meta property="og:description" content="Your page description">
<meta property="og:image" content="https://example.com/image.jpg">
<meta property="og:url" content="https://example.com/page-url">
<meta property="og:type" content="website">
```

**Twitter Card Tags**:
```html
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Your Page Title">
<meta name="twitter:description" content="Your page description">
<meta name="twitter:image" content="https://example.com/image.jpg">
```

**Canonical URL**:
```html
<link rel="canonical" href="https://example.com/preferred-url">
```

#### Priority 3: Advanced Optimization

**Schema Markup** - Refer to `references/schema_markup_guide.md` for detailed implementation. Common types:
- Organization (homepage)
- Article/BlogPosting (blog posts)
- LocalBusiness (local businesses)
- Breadcrumb (navigation)
- FAQ (FAQ pages)
- Product (e-commerce)

Example implementation:
```html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Article Title",
  "author": {
    "@type": "Person",
    "name": "Author Name"
  },
  "datePublished": "2024-01-15",
  "image": "https://example.com/image.jpg"
}
</script>
```

### 4. Generate or Update Sitemap

After fixing issues, generate an XML sitemap:

```bash
python scripts/generate_sitemap.py <directory> <base_url> [output_file]
```

**Example**:
```bash
# Generate sitemap for website
python scripts/generate_sitemap.py ./public https://example.com

# Specify output location
python scripts/generate_sitemap.py ./public https://example.com ./public/sitemap.xml
```

The script:
- Automatically finds all HTML files
- Generates proper URLs
- Includes lastmod dates
- Estimates priority and changefreq values
- Creates properly formatted XML sitemap

**After generation**:
1. Upload sitemap.xml to website root
2. Add reference to robots.txt
3. Submit to Google Search Console and Bing Webmaster Tools

### 5. Update robots.txt

Use the template from `assets/robots.txt` and customize:

```
User-agent: *
Allow: /

# Block sensitive directories
Disallow: /admin/
Disallow: /private/

# Reference your sitemap
Sitemap: https://yourdomain.com/sitemap.xml
```

Place robots.txt in website root directory.

### 6. Verify and Test

After implementing fixes:

**Local Testing**:
1. Run the SEO analyzer again to verify fixes
2. Check that all critical issues are resolved
3. Ensure no new issues were introduced

**Online Testing**:
1. Deploy changes to production
2. Test with Google Rich Results Test: https://search.google.com/test/rich-results
3. Validate schema markup: https://validator.schema.org/
4. Check mobile-friendliness: https://search.google.com/test/mobile-friendly
5. Monitor in Google Search Console

### 7. Ongoing Optimization

**Regular maintenance**:
- Update sitemap when adding new pages
- Keep meta descriptions fresh and compelling
- Ensure new images have alt text
- Add schema markup to new content types
- Monitor Search Console for issues
- Update content regularly

## Common Optimization Patterns

### Pattern 1: New Website Setup

For a brand new HTML/CSS website:

1. Run initial analysis: `python scripts/seo_analyzer.py ./public`
2. Add essential meta tags to all pages (title, description, viewport)
3. Ensure proper heading structure (one H1 per page)
4. Add alt text to all images
5. Implement organization schema on homepage
6. Generate sitemap: `python scripts/generate_sitemap.py ./public https://yourdomain.com`
7. Create robots.txt from template
8. Deploy and submit sitemap to search engines

### Pattern 2: Existing Website Audit

For an existing website needing optimization:

1. Run comprehensive analysis: `python scripts/seo_analyzer.py ./public`
2. Identify and prioritize issues (critical first)
3. Fix critical issues across all pages
4. Add missing Open Graph and Twitter Card tags
5. Implement schema markup for appropriate pages
6. Regenerate sitemap with updates
7. Verify fixes with analyzer
8. Deploy and monitor

### Pattern 3: Single Page Optimization

For optimizing a specific page:

1. Analyze specific file: `python scripts/seo_analyzer.py page.html`
2. Fix identified issues
3. Optimize title and meta description for target keywords
4. Ensure proper heading hierarchy
5. Add appropriate schema markup for page type
6. Verify with analyzer
7. Update sitemap if new page

### Pattern 4: Blog Post Optimization

For blog posts and articles:

1. Ensure unique title (50-60 chars) with target keyword
2. Write compelling meta description (150-160 chars)
3. Use single H1 for article title
4. Implement proper H2/H3 hierarchy for sections
5. Add alt text to all images
6. Implement Article or BlogPosting schema (see `references/schema_markup_guide.md`)
7. Add Open Graph and Twitter Card tags for social sharing
8. Include author information
9. Add breadcrumb schema for navigation

## Reference Materials

### Detailed Guides

**`references/seo_checklist.md`**:
Comprehensive checklist covering all SEO aspects:
- Title tags and meta descriptions guidelines
- Heading structure best practices
- Image optimization techniques
- URL structure recommendations
- Internal linking strategies
- Page speed optimization
- Mobile optimization requirements
- Semantic HTML usage
- Complete technical SEO checklist

Reference this for detailed specifications on any SEO element.

**`references/schema_markup_guide.md`**:
Complete guide for implementing schema.org structured data:
- JSON-LD implementation (recommended format)
- 10+ common schema types with examples
- Organization, LocalBusiness, Article, BlogPosting, FAQ, Product, etc.
- Required properties for each type
- Best practices and common mistakes
- Validation tools and resources

Reference this when implementing schema markup for any content type.

### Scripts

**`scripts/seo_analyzer.py`**:
Python script for automated SEO analysis. Analyzes HTML files for common issues and generates detailed reports. Can output text or JSON format. Deterministic and reliable for repeated analysis.

**`scripts/generate_sitemap.py`**:
Python script for generating XML sitemaps. Automatically crawls directories, estimates priorities and change frequencies, and generates properly formatted sitemaps ready for submission to search engines.

### Assets

**`assets/robots.txt`**:
Template robots.txt file with common configurations and comments. Customize for specific needs and place in website root directory.

## Key Principles

1. **User-First**: Optimize for users first, search engines second. Good user experience leads to better SEO.

2. **Unique Content**: Every page should have unique title, description, and H1. Duplicate content hurts SEO.

3. **Mobile-First**: Google uses mobile-first indexing. Always include viewport meta tag and ensure mobile responsiveness.

4. **Accessibility = SEO**: Accessible websites (alt text, semantic HTML, proper headings) rank better.

5. **Quality Over Quantity**: Substantial, valuable content ranks better than thin content. Aim for comprehensive pages.

6. **Technical Foundation**: Fix critical technical issues (missing tags, broken structure) before advanced optimization.

7. **Structured Data**: Schema markup helps search engines understand content and can lead to rich results.

8. **Regular Updates**: SEO is ongoing. Keep content fresh, monitor analytics, and adapt to algorithm changes.

9. **Natural Language**: Write for humans using natural language. Avoid keyword stuffing.

10. **Validation**: Always validate changes with testing tools before deploying to production.

## Tips for Maximum Impact

- **Start with critical issues**: Fix missing title tags and meta descriptions first - these have the biggest impact
- **Be consistent**: Apply optimizations across all pages, not just homepage
- **Use semantic HTML**: Use proper HTML5 semantic tags (`<header>`, `<nav>`, `<main>`, `<article>`, `<aside>`, `<footer>`)
- **Optimize images**: Compress images, use descriptive filenames, always include alt text
- **Internal linking**: Link to related pages with descriptive anchor text
- **Page speed matters**: Fast-loading pages rank better
- **Test on mobile**: Majority of searches are mobile - ensure excellent mobile experience
- **Monitor Search Console**: Use Google Search Console to track performance and identify issues
- **Update regularly**: Fresh content signals active, valuable websites

## Quick Reference Commands

```bash
# Analyze single file
python scripts/seo_analyzer.py index.html

# Analyze entire website
python scripts/seo_analyzer.py ./public

# Generate sitemap
python scripts/generate_sitemap.py ./public https://example.com

# Get JSON analysis output
python scripts/seo_analyzer.py ./public --json
```

© ailabs-393 · MIT · ailabs-393/ai-labs-claude-skills

Similar skills

Everything for SEO and GEO →

seo-optimizer by other authors comes first.

seo-optimizer claude-office-skills Guides keyword research, technical SEO checks and content planning when you need a structured review of a site or page. CX Codex +1 4,800installs seo-optimizer davila7 Guides search optimization by generating structured data, meta tags, and content outlines directly in Claude Code. 11,415installs seo-optimizer secondsky Scores an article on keywords, readability and technical tags, then hands back a prioritized list of fixes. CX Codex +1 433installs seo-audit coreyhaines31 This skill runs a technical and on-page SEO audit: crawling, indexing, Core Web Vitals, meta tags, hreflang. Useful when traffic drops or pages stall on page two. CX Codex +1 237,600installs brand claudekit Keeps brand voice, visual rules and design tokens in one markdown file, then feeds them to your agent's prompts and to your CSS variables. CX Codex +1 39,900installs banner-design claudekit Generates banners for social media, ads, and web hero sections using HTML/CSS. Useful when you need fast visual creative assets directly in your coding agent. CX Codex +1 39,500installs marketing-psychology coreyhaines31 Applies behavioral science and mental models to marketing decisions. It helps teams analyze buyer motivations and solve funnel bottlenecks. CX Codex +1 164,600installs content-strategy coreyhaines31 Plans content roadmaps, selects blog topics, and balances searchable search-intent pieces with shareable formats. Use it when deciding what to write next to bring in leads. CX Codex +1 164,000installs ai-seo coreyhaines31 Use this skill to work on content visibility in AI search and investigate why AI-generated answers cite—or miss—your brand. CX Codex +1 150,800installs

From the same set23

social-media-generator Writes platform-specific posts for Twitter, Instagram, LinkedIn and Facebook, then files them into folders with readable names. Handy when one announcement has to go out everywhere at once. CX Codex +1 1,500installs codebase-documenter Generates beginner-friendly README files, architecture guides, code comments, and API documentation. Helps onboarding developers grasp a project structure quickly. CX Codex +1 1,500installs business-document-generator Turns your data into a PDF proposal, business plan or annual budget by filling a ready template with a Python script. CX Codex +1 1,400installs storyboard-manager A creative writing skill that keeps characters, chapters and timelines in order across a folder-based story project. CX Codex +1 1,400installs csv-data-visualizer Creates interactive Plotly charts from CSV tables, profiles dataset quality, and generates multi-plot dashboards. Useful for exploratory data analysis. CX Codex +1 1,300installs data-analyst This skill checks CSV data for gaps, fills missing values with methods suited to each column, and builds interactive Plotly Dash views for exploratory analysis. CX Codex +1 1,200installs brand-analyzer Runs brand audits, identifies Jungian personality archetypes, and generates markdown guidelines or action reports. Useful when launching a brand or standardizing design across channels. CX Codex +1 1,100installs docker-containerization This skill generates Dockerfiles, docker-compose setups and bash scripts for building, running and pushing containers. Useful when packaging a Next.js or Node.js project. CX Codex +1 1,100installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor