All skills
nielsmadan avatar

/optimize-seo

@0aa51d2

Audit and optimize web pages for SEO — meta tags, Open Graph, JSON-LD, structured data. Triggers "optimize SEO", "check SEO", "add meta tags", "SEO audit".

Use this Skill: https://skilld.dev/gh/nielsmadan/agentic-coding/optimize-seo

This session only. Nothing lands on disk.

referencesseo-checklist.md

≈2k tokens on demand. Your agent reads this file only when SKILL.md points to it.

SEO Reference (2025-2026)

Ranking Factor Weights (First Page Sage, Q1 2025)

Factor Weight
Consistent publication of satisfying content 23%
Keyword in meta title tag 14%
Backlinks from authoritative domains 13%
Niche expertise (topic authority) 13%
Searcher engagement (dwell time, bounce) 12%
Content freshness/recency 6%
Mobile-friendly / mobile-first 5%
Trustworthiness (E-E-A-T) 4%
Link distribution diversity 3%
Page speed 3%
HTTPS 2%
Internal links 1%

Note: These are directional estimates, not published by Google.


On-Page SEO Checklist

Title and Meta

  • Unique title tag, 50-60 characters, primary keyword near start
  • Unique meta description, 150-160 chars, includes keyword and CTA
  • Open Graph tags (og:title, og:description, og:image, og:url, og:type)
  • Twitter Card tags (twitter:card, twitter:title, twitter:description, twitter:image)

Headings

  • Single H1 containing primary keyword
  • Logical H2/H3 hierarchy (no skipped levels)
  • At least one H2 with keyword variation or related question
  • No heading tags used purely for styling

URL

  • Short, descriptive, hyphenated, lowercase
  • Primary keyword in URL
  • HTTPS
  • Consistent trailing slash with canonical tag

Content

  • Primary keyword in first 100 words
  • Comprehensive topic coverage
  • Original data, examples, or insights
  • Author attribution with bio link
  • Publication date and "last updated" date visible
  • External links to authoritative sources
  • Answers likely user questions (AI Overview eligibility)

Images

  • Descriptive file names (not image001.jpg)
  • Alt text on all images (descriptive, keyword where natural)
  • Explicit width and height attributes
  • WebP format, compressed
  • loading="lazy" on below-fold images

Internal Linking

  • Links to relevant internal pages with descriptive anchor text
  • No orphan pages
  • Pillar page linked to cluster content

Structured Data

  • Appropriate schema type (Article, FAQ, Product, LocalBusiness, etc.)
  • JSON-LD format
  • Validated with Google Rich Results Test

Technical

  • Page indexed (check via site:domain.com/page/)
  • Canonical tag set correctly
  • No accidental noindex tag
  • Core Web Vitals passing (LCP <2.5s, INP <200ms, CLS <0.1)
  • Mobile-friendly
  • Page loads under 2.5s on mobile

Meta Tag Specifications

Title tag: 50-60 characters. Primary keyword near start. Brand at end.

<title>Primary Keyword - Secondary Context | Brand</title>

Meta description: 150-160 characters. Keyword + CTA.

<meta name="description" content="Compelling description with keyword. Actionable CTA." />

Canonical:

<link rel="canonical" href="https://example.com/preferred-url/" />

Open Graph:

<meta property="og:title" content="Page Title" />
<meta property="og:description" content="Description for social shares" />
<meta property="og:image" content="https://example.com/image.jpg" />
<meta property="og:url" content="https://example.com/page/" />
<meta property="og:type" content="article" />

Twitter Card:

<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Page Title" />
<meta name="twitter:description" content="Description" />
<meta name="twitter:image" content="https://example.com/image.jpg" />

Structured Data Templates (JSON-LD)

Article

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Article Title",
  "image": "https://example.com/image.jpg",
  "author": { "@type": "Person", "name": "Author Name", "url": "https://example.com/author/" },
  "publisher": {
    "@type": "Organization",
    "name": "Publisher Name",
    "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" }
  },
  "datePublished": "2025-01-15",
  "dateModified": "2025-12-01",
  "description": "Brief summary."
}

FAQPage

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "Question text?",
    "acceptedAnswer": { "@type": "Answer", "text": "Answer text." }
  }]
}

LocalBusiness

{
  "@context": "https://schema.org",
  "@type": "LocalBusiness",
  "name": "Business Name",
  "image": "https://example.com/photo.jpg",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "City",
    "addressRegion": "ST",
    "postalCode": "12345",
    "addressCountry": "US"
  },
  "telephone": "+1-555-000-0000",
  "url": "https://example.com",
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "09:00", "closes": "17:00"
  }]
}

Organization

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Company Name",
  "url": "https://example.com",
  "logo": "https://example.com/logo.png",
  "sameAs": ["https://twitter.com/handle", "https://linkedin.com/company/name"]
}

Product

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Product Name",
  "image": "https://example.com/product.jpg",
  "description": "Product description",
  "brand": { "@type": "Brand", "name": "Brand Name" },
  "offers": {
    "@type": "Offer",
    "price": "29.99",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "url": "https://example.com/product/"
  }
}

BreadcrumbList

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/" },
    { "@type": "ListItem", "position": 2, "name": "Category", "item": "https://example.com/category/" },
    { "@type": "ListItem", "position": 3, "name": "Page Title" }
  ]
}

Core Web Vitals Thresholds

Metric Good Needs Improvement Poor
LCP (Largest Contentful Paint) ≤2.5s 2.5s - 4.0s >4.0s
INP (Interaction to Next Paint) <200ms 200ms - 500ms >500ms
CLS (Cumulative Layout Shift) <0.1 0.1 - 0.25 >0.25

FID was replaced by INP in March 2024.

LCP fixes: Preload LCP element, use CDN, defer JS, inline critical CSS, WebP images, set width/height on images.

INP fixes: Minimize JS execution, break long tasks (>50ms), use web workers, debounce event handlers.

CLS fixes: Set width/height on images/videos, reserve space for ads/embeds, use transform animations, preload fonts with font-display: swap.


AI Overview Optimization

  • AI Overviews appear in 50%+ of Google searches (2026)
  • Question-based queries trigger AIO 99.2% of the time
  • Structure: question-based H2 → 50-70 word direct answer → expand
  • Use FAQ, HowTo, Article schemas to increase citation likelihood
  • Strong E-E-A-T signals increase chance of being cited
  • Sites cited in AIO see ~35% higher CTR

E-E-A-T Signals

Experience, Expertise, Authoritativeness, Trustworthiness

Implement via:

  • Author bylines with linked bio pages showing credentials
  • Publication and "last updated" dates
  • Links to authoritative external sources
  • Third-party citations and reviews
  • For YMYL (health, finance, legal): demonstrated professional expertise required

Common Mistakes

  • Keyword stuffing (write for humans)
  • Missing/duplicate title tags and meta descriptions
  • No canonical tags on duplicate content
  • Broken internal links (404s)
  • Redirect chains (consolidate to single hop)
  • Uncompressed images (biggest LCP killer)
  • Missing image dimensions (causes CLS)
  • Render-blocking JS without async/defer
  • Accidental noindex tags from staging
  • AI content without editorial review
  • Targeting multiple competing keywords on one page
  • Orphan pages with no internal links

Source: SKILL.md on GitHub

1 warning6mo4 checks · Risk SAFE
  • Gen Agent Trust Hub6mo

    The skill 'optimize-seo' is a legitimate tool designed to perform SEO audits on web pages and generate metadata and structured data improvements. It safely handles local files and external URLs for analysis without any detected malicious behavior.

  • Socket6mo

    No alerts

  • Snyk6mo

    Risk: MEDIUM · 1 issue

  • Runlayer7mo

    2 files scanned · No issues

Signed by skilld at 0aa51d2. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated 3 weeks ago

README badge

README badge for nielsmadan/agentic-coding/optimize-seo