seo-geo

SEO & GEO (Generative Engine Optimization) for websites. Analyze keywords, generate schema markup, optimize for AI search engines (ChatGPT, Perplexity, Gemini, Copilot, Claude) and traditional search (Google, Bing). Use when user wants to improve search visibility, search optimization, search ranking, AI visibility, ChatGPT ranking, Google AI Overview, indexing, JSON-LD, meta tags, or keyword research.

npx skills add https://github.com/resciencelab/opc-skills --skill seo-geo

SEO/GEO Optimization Skill

Comprehensive SEO and GEO (Generative Engine Optimization) for websites. Optimize for both traditional search engines (Google, Bing) and AI search engines (ChatGPT, Perplexity, Gemini, Copilot, Claude).

Quick Reference

GEO = Generative Engine Optimization - Optimizing content to be cited by AI search engines.

Key Insight: AI search engines don't rank pages - they cite sources. Being cited is the new "ranking #1".

Workflow

Step 1: Website Audit

Get the target URL and analyze current SEO/GEO status.

Basic SEO Audit (Free):

python3 scripts/seo_audit.py "https://example.com"

Use this for: Quick technical SEO check (title, meta, H1, robots, sitemap, load time). No API needed.


Check Meta Tags:

curl -sL "https://example.com" | grep -E "<title>|<meta name=\"description\"|<meta property=\"og:|application/ld\+json" | head -20

Use this for: Quick check of essential meta tags and schema markup on any webpage.


Check robots.txt:

curl -s "https://example.com/robots.txt"

Use this for: Verify which bots are allowed/blocked. Critical for ensuring AI search engines can crawl your site.


Check sitemap:

curl -s "https://example.com/sitemap.xml" | head -50

Use this for: Verify sitemap structure and ensure all important pages are included for search engine discovery.

Verify AI Bot Access:

# These bots should be allowed in robots.txt:
- Googlebot (Google)
- Bingbot (Bing/Copilot)
- PerplexityBot (Perplexity)
- ChatGPT-User (ChatGPT with browsing)
- ClaudeBot / anthropic-ai (Claude)
- GPTBot (OpenAI)

Step 2: Keyword Research

Use WebSearch to research target keywords:

WebSearch: "{keyword} keyword difficulty site:ahrefs.com OR site:semrush.com"
WebSearch: "{keyword} search volume 2026"
WebSearch: "site:{competitor.com} {keyword}"

Analyze:

  • Search volume and difficulty
  • Competitor keyword strategies
  • Long-tail keyword opportunities
  • International keyword conflicts (e.g., "OPC" = industrial automation in English markets)

Step 3: GEO Optimization (AI Search Engines)

Apply the 9 Princeton GEO Methods (see references/geo-research.md):

MethodVisibility BoostHow to Apply
Cite Sources+40%Add authoritative citations and references
Statistics Addition+37%Include specific numbers and data points
Quotation Addition+30%Add expert quotes with attribution
Authoritative Tone+25%Use confident, expert language
Easy-to-understand+20%Simplify complex concepts
Technical Terms+18%Include domain-specific terminology
Unique Words+15%Increase vocabulary diversity
Fluency Optimization+15-30%Improve readability and flow
Keyword Stuffing-10%AVOID - hurts visibility

Best Combination: Fluency + Statistics = Maximum boost

Generate FAQPage Schema (+40% AI visibility):

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "What is [topic]?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "According to [source], [answer with statistics]."
    }
  }]
}

Optimize Content Structure:

  • Use "answer-first" format (direct answer at top)
  • Clear H1 > H2 > H3 hierarchy
  • Bullet points and numbered lists
  • Tables for comparison data
  • Short paragraphs (2-3 sentences max)

Step 4: Traditional SEO Optimization

Meta Tags Template:

<title>{Primary Keyword} - {Brand} | {Secondary Keyword}</title>
<meta name="description" content="{Compelling description with keyword, 150-160 chars}">
<meta name="keywords" content="{keyword1}, {keyword2}, {keyword3}">

<!-- Open Graph -->
<meta property="og:title" content="{Title}">
<meta property="og:description" content="{Description}">
<meta property="og:image" content="{Image URL 1200x630}">
<meta property="og:url" content="{Canonical URL}">
<meta property="og:type" content="website">

<!-- Twitter Cards -->
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="{Title}">
<meta name="twitter:description" content="{Description}">
<meta name="twitter:image" content="{Image URL}">

JSON-LD Schema (see references/schema-templates.md):

  • WebPage / Article for content pages
  • FAQPage for FAQ sections
  • Product for product pages
  • Organization for about pages
  • SoftwareApplication for tools/apps

Check Content:

  • H1 contains primary keyword
  • Images have descriptive alt text
  • Internal links to related content
  • External links have rel="noopener noreferrer"
  • Content is mobile-friendly
  • Page loads in < 3 seconds

Step 5: Validate & Monitor

Schema Validation:

# Open Google Rich Results Test
open "https://search.google.com/test/rich-results?url={encoded_url}"

# Open Schema.org Validator
open "https://validator.schema.org/?url={encoded_url}"

Check Indexing Status:

# Google (use Search Console API or manual check)
open "https://www.google.com/search?q=site:{domain}"

# Bing
open "https://www.bing.com/search?q=site:{domain}"

Generate Report:

## SEO/GEO Optimization Report

### Current Status
- Meta Tags: ✅/❌
- Schema Markup: ✅/❌
- AI Bot Access: ✅/❌
- Mobile Friendly: ✅/❌
- Page Speed: X seconds

### Recommendations
1. [Priority 1 action]
2. [Priority 2 action]
3. [Priority 3 action]

### GEO Optimizations Applied
- [ ] FAQPage schema added
- [ ] Statistics included
- [ ] Citations added
- [ ] Answer-first structure

Platform-Specific Optimization

See references/platform-algorithms.md for detailed ranking factors.

ChatGPT

  • Focus on branded domain authority (cited 11% more than third-party)
  • Update content within 30 days (3.2x more citations)
  • Build backlinks (>350K referring domains = 8.4 avg citations)
  • Match content style to ChatGPT's response format

Perplexity

  • Allow PerplexityBot in robots.txt
  • Use FAQ Schema (higher citation rate)
  • Host PDF documents (prioritized for citation)
  • Focus on semantic relevance over keywords

Google AI Overview (SGE)

  • Optimize for E-E-A-T (Experience, Expertise, Authority, Trust)
  • Use structured data (Schema markup)
  • Build topical authority (content clusters + internal linking)
  • Include authoritative citations (+132% visibility)

Microsoft Copilot / Bing

  • Ensure Bing indexing (required for citation)
  • Optimize for Microsoft ecosystem (LinkedIn, GitHub mentions help)
  • Page speed < 2 seconds
  • Clear entity definitions

Claude AI

  • Ensure Brave Search indexing (Claude uses Brave, not Google)
  • High factual density (data-rich content preferred)
  • Clear structural clarity (easy to extract)

Skill Dependencies

This skill works best with:

  • twitter skill - Search SEO experts for latest tips
  • reddit skill - Search r/SEO, r/bigseo for discussions
  • WebSearch - Keyword research and competitor analysis

References

Related Skills

elevenlabs-music-generation
doany-ai
Generate full songs and instrumental tracks with ElevenLabs Music on RunComfy via the `runcomfy` CLI. ElevenLabs Music turns a style description plus structured lyrics into studio-quality 44.1 kHz stereo audio — 5 seconds to 5 minutes — with section-level control (Intro / Verse / Chorus / Bridge), multilingual vocals, and commercial-friendly output. Generate a backing track, a full vocal song, a jingle, a podcast intro, a game loop, or an instrumental bed. Calls `runcomfy run...
creativeaudiomedia
ai-avatar-video
doany-ai
Create AI avatar, talking-head, and lip-sync videos on RunComfy via the `runcomfy` CLI. Routes across ByteDance OmniHuman (audio-driven full-body avatar), Wan-AI Wan 2-7 (audio-driven mouth sync via `audio_url` on a portrait), HappyHorse 1.0 (Arena #1 t2v / i2v with in-pass audio), and Seedance v2 Pro (multi-modal cinematic with reference audio + reference subject). Picks the right model for the user's actual intent — UGC voiceover, virtual presenter, dubbed product demo, lip-synced...
videocreativemedia
gaps
anthropic
Open gaps tracker — what's flagged and not yet closed. Use when the user asks "what gaps are open", "gap tracker", "remediation status", or wants to close…
official
finetuning
microsoft
Fine-tune models on Azure AI Foundry using SFT (supervised), DPO (preference), or RFT (reinforcement with graders). Covers dataset preparation, training job…
official
ai-image-generation
qu-skills
Generate AI images with GPT-Image-2, FLUX, Gemini, Grok, Seedream, Reve and 50+ models via inference.sh CLI. Models: GPT-Image-2, FLUX Dev LoRA, FLUX.2 Klein LoRA, Gemini 3 Pro Image, Grok Imagine, Seedream 4.5, Reve, ImagineArt. Capabilities: text-to-image, image-to-image, inpainting, LoRA, image editing, upscaling, text rendering. Use for: AI art, product mockups, concept art, social media graphics, marketing visuals, illustrations. Triggers: flux, image generation, ai image, text to...
creativemediaimage
mvvm-toolkit-messenger
github
CommunityToolkit.Mvvm Messenger pub/sub for decoupled communication between ViewModels (or any objects). Covers WeakReferenceMessenger vs…
official
opentui
msmps
Comprehensive OpenTUI skill for building terminal user interfaces. Covers the core imperative API, React reconciler, and Solid reconciler. Use for any TUI development task including components, layout, keyboard handling, animations, and testing.
developmentdesigntesting
plugin-structure
anthropic
Standardized directory structure and manifest configuration for Claude Code plugins with automatic component discovery. Conventional layout with auto-discovery: commands, agents, skills, and hooks load automatically from standard directories without explicit registration Manifest-driven configuration in .claude-plugin/plugin.json supporting metadata, custom component paths, and optional MCP server definitions Portable path references using ${CLAUDE_PLUGIN_ROOT} environment variable for all...
official