Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
pixel-process-ug avatar

Seo Optimizer

  • 69 installs
  • 1 repo stars
  • Updated March 16, 2026
  • pixel-process-ug/superkit-agents

Helps with marketing & seo tasks.

About

seo-optimizer is a Claude Code skill for marketing & seo. It helps solo builders move faster with AI-assisted development.

  • seo-optimizer
  • Marketing & SEO
  • AI-coding skill

Seo Optimizer by the numbers

  • 69 all-time installs (skills.sh)
  • +1 installs in the week ending Aug 4, 2026 (Skillselion tracking)
  • Ranked #1,229 of 1,879 Marketing & SEO skills by installs in the Skillselion catalog
  • Data as of Aug 4, 2026 (Skillselion catalog sync)
npx skills add https://github.com/pixel-process-ug/superkit-agents --skill seo-optimizer

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs69
repo stars1
Last updatedMarch 16, 2026
Repositorypixel-process-ug/superkit-agents

What it does

Helps with marketing & seo tasks.

Files

SKILL.mdMarkdownGitHub ↗

SEO Optimizer

Overview

Optimize websites for search engine visibility through technical SEO, on-page optimization, structured data implementation, and Core Web Vitals performance tuning. This skill covers crawlability, indexability, meta tag strategy, Schema.org markup, sitemap generation, canonical URL management, internationalization (hreflang), and performance optimization for Google's ranking signals.

Apply this skill whenever a site needs better organic search performance, whether for a single page audit or a full-site overhaul.

Multi-Phase Process

Phase 1: Technical Audit

1. Crawl the site (Screaming Frog, Sitebulb, or custom script) 2. Check robots.txt and XML sitemap validity 3. Identify crawl errors, redirect chains, and broken links 4. Verify canonical URLs and duplicate content handling 5. Assess mobile-friendliness and responsive design 6. Check HTTPS implementation and mixed content 7. Evaluate page load performance (Core Web Vitals)

STOP — Do NOT proceed to Phase 2 until audit findings are documented and prioritized.

Phase 2: On-Page Optimization

1. Audit title tags (unique, 50-60 chars, keyword placement) 2. Review meta descriptions (unique, 150-160 chars, compelling CTAs) 3. Analyze heading hierarchy (single H1, logical H2-H6 structure) 4. Optimize image alt text and file names 5. Review internal linking structure and anchor text 6. Check URL structure (short, descriptive, hyphenated) 7. Validate Open Graph and Twitter Card tags

STOP — Do NOT proceed to Phase 3 until on-page changes are implemented and verified.

Phase 3: Structured Data Implementation

1. Identify applicable Schema.org types for content 2. Implement JSON-LD structured data 3. Validate with Google Rich Results Test 4. Test for rich snippet eligibility 5. Monitor Search Console for structured data errors

STOP — Do NOT proceed to Phase 4 until structured data passes validation.

Phase 4: Monitoring and Iteration

1. Set up Google Search Console monitoring 2. Track Core Web Vitals over time 3. Monitor indexation status and coverage 4. Review search performance (clicks, impressions, CTR, position) 5. Set up alerts for crawl errors and ranking drops

Audit Priority Decision Table

FindingSeverityFix PriorityImpact
No HTTPS / mixed contentCriticalImmediateRanking penalty, trust signals
Missing canonical URLsCriticalImmediateDuplicate content dilution
Broken redirect chains (3+ hops)HighThis sprintCrawl budget waste, link equity loss
Missing or duplicate title tagsHighThis sprintCTR drop, ranking confusion
No structured dataMediumNext sprintMissing rich snippets
Missing alt text on imagesMediumNext sprintAccessibility and image search loss
Suboptimal Core Web VitalsMediumNext sprintRanking signal, user experience
Missing hreflang tags (multi-language)LowBacklogGeo-targeting issues
Non-descriptive URL slugsLowBacklogMinor ranking and CTR effect

Meta Tag Reference

Essential Meta Tags

<head>
  <!-- Primary -->
  <title>Primary Keyword - Secondary Keyword | Brand Name</title>
  <meta name="description" content="Compelling 150-160 char description with target keyword and clear value proposition.">
  <link rel="canonical" href="https://example.com/page">

  <!-- Robots -->
  <meta name="robots" content="index, follow">
  <!-- or noindex, nofollow for pages that shouldn't be indexed -->

  <!-- Viewport (mobile) -->
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <!-- Open Graph -->
  <meta property="og:type" content="website">
  <meta property="og:title" content="Page Title for Social Sharing">
  <meta property="og:description" content="Description optimized for social sharing.">
  <meta property="og:image" content="https://example.com/og-image.jpg">
  <meta property="og:url" content="https://example.com/page">
  <meta property="og:site_name" content="Brand Name">

  <!-- Twitter Card -->
  <meta name="twitter:card" content="summary_large_image">
  <meta name="twitter:title" content="Page Title">
  <meta name="twitter:description" content="Twitter-optimized description.">
  <meta name="twitter:image" content="https://example.com/twitter-image.jpg">

  <!-- Internationalization -->
  <link rel="alternate" hreflang="en" href="https://example.com/en/page">
  <link rel="alternate" hreflang="de" href="https://example.com/de/page">
  <link rel="alternate" hreflang="x-default" href="https://example.com/page">
</head>

Meta Tag Optimization Matrix

ElementMax LengthPriority KeywordsCommon Mistakes
Title tag50-60 charsFront-load primary keywordToo long, keyword stuffing, duplicate
Meta description150-160 charsInclude CTA and keywordMissing, duplicate, no CTA
H1N/A (single per page)Primary keyword variationMultiple H1s, missing H1
URL slug3-5 wordsTarget keywordToo long, parameters, underscores
Image alt125 charsDescriptive, keyword if naturalEmpty, "image of...", keyword stuffing
OG title60-90 charsEngaging, shareableSame as title tag (missed opportunity)

Structured Data (JSON-LD)

Article

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to Optimize Core Web Vitals",
  "author": {
    "@type": "Person",
    "name": "Jane Smith",
    "url": "https://example.com/authors/jane-smith"
  },
  "datePublished": "2026-03-01",
  "dateModified": "2026-03-15",
  "image": "https://example.com/images/article-hero.jpg",
  "publisher": {
    "@type": "Organization",
    "name": "Example Blog",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "description": "A comprehensive guide to improving LCP, FID, and CLS scores."
}
</script>

Product

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Widget Pro",
  "description": "Professional-grade widget for enterprise use.",
  "image": "https://example.com/widget-pro.jpg",
  "brand": { "@type": "Brand", "name": "WidgetCo" },
  "offers": {
    "@type": "Offer",
    "price": "49.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/widget-pro"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.7",
    "reviewCount": "312"
  }
}
</script>

FAQ Page

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "What is Core Web Vitals?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Core Web Vitals are a set of metrics that measure real-world user experience for loading, interactivity, and visual stability."
      }
    }
  ]
}
</script>

Schema Type Decision Guide

Content TypeSchema TypeRich Result
Blog postArticleArticle snippet
Product pageProductPrice, rating, availability
FAQ sectionFAQPageExpandable Q&A
How-to guideHowToStep-by-step snippet
RecipeRecipeImage, time, rating
EventEventDate, location, price
Local businessLocalBusinessMap pack, hours
SoftwareSoftwareApplicationRating, price
BreadcrumbsBreadcrumbListBreadcrumb trail
VideoVideoObjectThumbnail, duration

Core Web Vitals

Metrics and Thresholds

MetricGoodNeeds ImprovementPoorMeasures
LCP (Largest Contentful Paint)<= 2.5s<= 4.0s> 4.0sLoading performance
INP (Interaction to Next Paint)<= 200ms<= 500ms> 500msInteractivity
CLS (Cumulative Layout Shift)<= 0.1<= 0.25> 0.25Visual stability

LCP Optimization

<!-- Preload hero image -->
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high">

<!-- Use modern image formats -->
<picture>
  <source srcset="/hero.avif" type="image/avif">
  <source srcset="/hero.webp" type="image/webp">
  <img src="/hero.jpg" alt="Hero description" width="1200" height="600"
       fetchpriority="high" decoding="async">
</picture>

CLS Prevention

/* Always set dimensions on images and video */
img, video {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
}

/* Reserve space for dynamic content */
.ad-slot {
  min-height: 250px;
}

/* Avoid inserting content above existing content */
.notification-bar {
  position: fixed; /* doesn't shift layout */
}

INP Optimization

// Break long tasks with yield
async function processLargeDataset(data) {
  for (let i = 0; i < data.length; i++) {
    processItem(data[i]);
    if (i % 100 === 0) {
      await new Promise(resolve => setTimeout(resolve, 0)); // yield to main thread
    }
  }
}

// Use requestIdleCallback for non-critical work
requestIdleCallback(() => {
  loadAnalytics();
  initNonCriticalFeatures();
});

XML Sitemap

Generation Pattern

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-03-15</lastmod>
    <changefreq>daily</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://example.com/products</loc>
    <lastmod>2026-03-14</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>

Sitemap Best Practices

  • Maximum 50,000 URLs per sitemap file
  • Use sitemap index for larger sites
  • Include only canonical, indexable URLs
  • Update lastmod only when content genuinely changes
  • Submit via Google Search Console and robots.txt

robots.txt Template

User-agent: *
Allow: /
Disallow: /admin/
Disallow: /api/
Disallow: /search?
Disallow: /*?sort=
Disallow: /*?filter=

Sitemap: https://example.com/sitemap.xml

Next.js / React SEO Patterns

Next.js Metadata API (App Router)

import type { Metadata } from 'next';

export const metadata: Metadata = {
  title: {
    template: '%s | Brand Name',
    default: 'Brand Name - Tagline',
  },
  description: 'Site-wide default description.',
  openGraph: {
    type: 'website',
    locale: 'en_US',
    url: 'https://example.com',
    siteName: 'Brand Name',
  },
  twitter: {
    card: 'summary_large_image',
  },
  robots: {
    index: true,
    follow: true,
  },
  alternates: {
    canonical: 'https://example.com',
  },
};

Dynamic Metadata per Page

export async function generateMetadata({ params }): Promise<Metadata> {
  const product = await getProduct(params.slug);

  return {
    title: product.name,
    description: product.description.slice(0, 160),
    openGraph: {
      title: product.name,
      description: product.description.slice(0, 200),
      images: [{ url: product.image, width: 1200, height: 630 }],
    },
  };
}

Anti-Patterns / Common Mistakes

Anti-PatternWhy It FailsWhat To Do Instead
Keyword stuffing in titles/contentTriggers spam filters, reduces CTRUse primary keyword once naturally, add variations
Same title/description across pagesDuplicate content signals, wasted opportunityUnique, page-specific meta for every indexable URL
Blocking CSS/JS in robots.txtGooglebot cannot render pagesAllow all rendering resources
Structured data mismatching page contentGoogle penalties, rich snippet removalSchema must reflect visible content exactly
Redirect chains > 2 hopsCrawl budget waste, link equity lossRedirect directly to final destination
JS-only navigation without SSR linksCrawler cannot discover pagesServer-render navigation links
Ignoring Core Web VitalsRanking signal degradationProfile and optimize LCP, INP, CLS
Missing canonical URLsDuplicate content penaltiesSet canonical on every indexable page
Over-optimized anchor textUnnatural link patterns trigger penaltiesUse descriptive, varied anchor text
Hiding content with CSS for SEOCloaking violationAll SEO content must be visible to users

Anti-Rationalization Guards

  • Do NOT skip the technical audit because "the site looks fine" -- crawl it.
  • Do NOT add structured data without validating it passes the Rich Results Test.
  • Do NOT assume meta tags are correct without checking every page type.
  • Do NOT deploy SEO changes without before/after measurement.
  • Do NOT optimize for search engines at the expense of user experience.

Integration Points

SkillHow It Connects
content-creatorSEO informs keyword targeting and headline strategy for marketing content
content-research-writerResearch-backed content needs SEO-optimized structure and meta tags
senior-frontendCore Web Vitals optimization requires frontend performance tuning
performance-optimizationPage speed directly affects LCP and INP scores
deploymentSEO changes need proper cache invalidation and redirect configuration
tech-docs-generatorDocumentation sites need sitemap, canonical, and structured data setup

Skill Type

FLEXIBLE — Adapt the optimization strategy to the site's technology stack, content type, and competitive landscape. Technical SEO fundamentals and structured data best practices are strongly recommended; specific implementation patterns vary by framework.

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.