{"id":"a42e0566-3482-4002-b0dc-a145a28f32e1","shortId":"U7Jtrh","kind":"skill","title":"seo-geo","tagline":"Use when the user wants to improve website search visibility, AI search visibility, schema markup, indexing, metadata, or keyword targeting.","description":"target = $ARGUMENTS\n\nOptimize the target website for both traditional search engines and AI search engines.\n\n## The Shift: SEO to GEO\n\nTraditional SEO optimizes for **ranking** in search results. GEO (Generative Engine Optimization) optimizes for **being cited** by AI search engines — ChatGPT, Perplexity, Google AI Overview, Copilot, Claude. Being cited is the new ranking #1.\n\nThis distinction matters because the optimization strategies diverge. Keyword density helps traditional SEO but *hurts* GEO (-10% visibility). Citations and statistics — irrelevant to traditional ranking — boost GEO visibility by 37-40%. Optimize for both, but recognize when they conflict.\n\n## Princeton GEO Methods\n\nResearch-backed effectiveness rankings from the Princeton/IIT Delhi GEO study (KDD 2024). The numbers are real measured visibility boosts — use them to prioritize.\n\n| Method | Boost | What it means |\n|--------|-------|---------------|\n| Cite Sources | +40% | Authoritative references with attribution |\n| Statistics | +37% | Specific numbers and data points |\n| Quotations | +30% | Expert quotes with attribution |\n| Authoritative Tone | +25% | Confident, expert language |\n| Easy-to-Understand | +20% | Simplified complex concepts |\n| Technical Terms | +18% | Domain-specific terminology |\n| Unique Words | +15% | Vocabulary diversity |\n| Fluency | +15-30% | Readability and flow |\n| Keyword Stuffing | **-10%** | **Actively harmful for GEO** |\n\n**Best combination:** Fluency + Statistics. For domain-specific guidance, see [references/geo-research.md](./references/geo-research.md).\n\n## Platform-Specific Knowledge\n\nEach AI platform has a different primary index and ranking quirk. These are empirical findings.\n\n| Platform | Primary Index | Key Differentiator |\n|----------|--------------|-------------------|\n| ChatGPT | Web (Bing-based) | Content-Answer Fit is 55% of ranking. 30-day-old content gets 3.2x more citations |\n| Perplexity | Own + Google | FAQ Schema and PDFs are prioritized. Semantic relevance over keywords |\n| Google AI Overview | Google | E-E-A-T + structured data. Only 15% overlap with traditional Top 10 |\n| Copilot | Bing | Must be Bing-indexed. Microsoft ecosystem (LinkedIn, GitHub) signals help |\n| Claude | **Brave Search** | Factual density preferred. Crawl-to-refer ratio is 38,065:1 — extremely selective |\n\nFull ranking factors per platform: [references/platform-algorithms.md](./references/platform-algorithms.md)\n\n## AI Bot Access\n\nThese bot user-agent strings must be allowed in robots.txt for AI visibility. Sites often block them unknowingly.\n\n| Bot | Platform |\n|-----|----------|\n| GPTBot, ChatGPT-User | OpenAI |\n| PerplexityBot | Perplexity |\n| ClaudeBot, anthropic-ai | Anthropic |\n| Bingbot, msnbot | Microsoft/Copilot |\n| Googlebot | Google |\n| Applebot-Extended | Apple |\n\n## Schema Markup\n\nFAQPage schema provides the single highest GEO impact (+40% AI visibility). Prioritize it over other schema types. For ready-to-use JSON-LD templates (FAQPage, Article, WebPage, SoftwareApplication, Organization, Product, HowTo, BreadcrumbList, LocalBusiness, SpeakableSpecification): [references/schema-templates.md](./references/schema-templates.md)\n\n## Tools\n\n### Scripts (in `scripts/`)\n\n| Script | API Required | Purpose |\n|--------|-------------|---------|\n| `seo_audit.py <url>` | No | Technical audit: meta tags, robots.txt, sitemap, load time, schema, AI bot access |\n| `keyword_research.py <keyword>` | DataForSEO | Keyword ideas, search volume, difficulty |\n| `serp_analysis.py <keyword>` | DataForSEO | Top 20 Google results analysis |\n| `backlinks.py <domain>` | DataForSEO | Backlink profile |\n| `domain_overview.py <domain>` | DataForSEO | Domain metrics, traffic, rankings |\n| `autocomplete_ideas.py <keyword>` | DataForSEO | Autocomplete suggestions |\n| `competitor_gap.py <domains>` | DataForSEO | Keyword gap analysis |\n| `related_keywords.py <keyword>` | DataForSEO | Related keyword suggestions |\n\nDataForSEO scripts require `DATAFORSEO_LOGIN` and `DATAFORSEO_PASSWORD` environment variables.\n\n### Validation\n\n- Google Rich Results Test: `https://search.google.com/test/rich-results?url={encoded_url}`\n- Schema.org Validator: `https://validator.schema.org/?url={encoded_url}`\n\n### Complementary skills\n\n- **WebSearch** for keyword research and competitor analysis\n- **twitter** / **reddit** skills for SEO community intelligence\n\n## References\n\n- [references/geo-research.md](./references/geo-research.md) — Princeton GEO research: 9 methods with examples and domain-specific recommendations\n- [references/platform-algorithms.md](./references/platform-algorithms.md) — Detailed ranking factors per platform\n- [references/schema-templates.md](./references/schema-templates.md) — JSON-LD templates for all major schema types\n- [references/seo-checklist.md](./references/seo-checklist.md) — Prioritized audit checklist (P0/P1/P2)\n- [references/tools-and-apis.md](./references/tools-and-apis.md) — Tools, APIs, browser extensions\n- [references/google-docs-summary.md](./references/google-docs-summary.md) — Google Search Central quick reference\n- [examples/opc-skills-case-study.md](./examples/opc-skills-case-study.md) — Real-world optimization example","tags":["seo","geo","dotclaude","jhostalek","agent-skills","ai-coding","anthropic","claude","claude-code","claude-code-skills","code-review","codex-cli"],"capabilities":["skill","source-jhostalek","skill-seo-geo","topic-agent-skills","topic-ai-coding","topic-anthropic","topic-claude","topic-claude-code","topic-claude-code-skills","topic-code-review","topic-codex-cli","topic-cursor","topic-developer-tools","topic-git-workflow","topic-multi-agent"],"categories":["dotclaude"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/JHostalek/dotclaude/seo-geo","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add JHostalek/dotclaude","source_repo":"https://github.com/JHostalek/dotclaude","install_from":"skills.sh"}},"qualityScore":"0.454","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 8 github stars · SKILL.md body (5,207 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-18T19:13:17.409Z","embedding":null,"createdAt":"2026-05-18T13:20:34.406Z","updatedAt":"2026-05-18T19:13:17.409Z","lastSeenAt":"2026-05-18T19:13:17.409Z","tsv":"'+15':192,196 '+18':185 '+20':179 '+25':171 '+30':164 '+37':157 '+40':151,390 '-10':94,203 '-30':197 '-40':108 '/?url=':504 '/examples/opc-skills-case-study.md':576 '/references/geo-research.md':219,525 '/references/google-docs-summary.md':569 '/references/platform-algorithms.md':334,539 '/references/schema-templates.md':419,546 '/references/seo-checklist.md':557 '/references/tools-and-apis.md':563 '/test/rich-results?url=':497 '065':324 '1':77,325 '10':297 '15':292 '20':452 '2024':132 '3.2':263 '30':257 '37':107 '38':323 '55':254 '9':529 'access':337,441 'activ':204 'agent':342 'ai':14,36,61,67,225,281,335,350,369,391,439 'allow':346 'analysi':455,474,515 'answer':251 'anthrop':368,370 'anthropic-ai':367 'api':425,565 'appl':379 'applebot':377 'applebot-extend':376 'argument':25 'articl':409 'attribut':155,168 'audit':431,559 'authorit':152,169 'autocomplet':468 'autocomplete_ideas.py':466 'back':122 'backlink':458 'backlinks.py':456 'base':248 'best':208 'bing':247,299,303 'bing-bas':246 'bing-index':302 'bingbot':371 'block':354 'boost':103,139,145 'bot':336,339,357,440 'brave':312 'breadcrumblist':415 'browser':566 'central':572 'chatgpt':64,244,361 'chatgpt-us':360 'checklist':560 'citat':96,266 'cite':59,72,149 'claud':70,311 'claudebot':366 'combin':209 'communiti':521 'competitor':514 'competitor_gap.py':470 'complementari':507 'complex':181 'concept':182 'confid':172 'conflict':116 'content':250,261 'content-answ':249 'copilot':69,298 'crawl':318 'crawl-to-ref':317 'data':161,290 'dataforseo':443,450,457,461,467,471,476,480,483,486 'day':259 'day-old':258 'delhi':128 'densiti':87,315 'detail':540 'differ':229 'differenti':243 'difficulti':448 'distinct':79 'diverg':85 'divers':194 'domain':187,214,462,535 'domain-specif':186,213,534 'domain_overview.py':460 'e':285,286 'e-e-a-t':284 'easi':176 'easy-to-understand':175 'ecosystem':306 'effect':123 'empir':237 'encod':498,505 'engin':34,38,54,63 'environ':488 'exampl':532,581 'examples/opc-skills-case-study.md':575 'expert':165,173 'extend':378 'extens':567 'extrem':326 'factor':330,542 'factual':314 'faq':270 'faqpag':382,408 'find':238 'fit':252 'flow':200 'fluenci':195,210 'full':328 'gap':473 'generat':53 'geo':3,43,52,93,104,118,129,207,388,527 'get':262 'github':308 'googl':66,269,280,283,375,453,491,570 'googlebot':374 'gptbot':359 'guidanc':216 'harm':205 'help':88,310 'highest':387 'howto':414 'hurt':92 'idea':445 'impact':389 'improv':10 'index':19,231,241,304 'intellig':522 'irrelev':99 'json':405,548 'json-ld':404,547 'kdd':131 'key':242 'keyword':22,86,201,279,444,472,478,511 'keyword_research.py':442 'knowledg':223 'languag':174 'ld':406,549 'linkedin':307 'load':436 'localbusi':416 'login':484 'major':553 'markup':18,381 'matter':80 'mean':148 'measur':137 'meta':432 'metadata':20 'method':119,144,530 'metric':463 'microsoft':305 'microsoft/copilot':373 'msnbot':372 'must':300,344 'new':75 'number':134,159 'often':353 'old':260 'openai':363 'optim':26,46,55,56,83,109,580 'organ':412 'overlap':293 'overview':68,282 'p0/p1/p2':561 'password':487 'pdfs':273 'per':331,543 'perplex':65,267,365 'perplexitybot':364 'platform':221,226,239,332,358,544 'platform-specif':220 'point':162 'prefer':316 'primari':230,240 'princeton':117,526 'princeton/iit':127 'priorit':143,275,393,558 'product':413 'profil':459 'provid':384 'purpos':427 'quick':573 'quirk':234 'quot':166 'quotat':163 'rank':48,76,102,124,233,256,329,465,541 'ratio':321 'readabl':198 'readi':401 'ready-to-us':400 'real':136,578 'real-world':577 'recogn':113 'recommend':537 'reddit':517 'refer':153,320,523,574 'references/geo-research.md':218,524 'references/google-docs-summary.md':568 'references/platform-algorithms.md':333,538 'references/schema-templates.md':418,545 'references/seo-checklist.md':556 'references/tools-and-apis.md':562 'relat':477 'related_keywords.py':475 'relev':277 'requir':426,482 'research':121,512,528 'research-back':120 'result':51,454,493 'rich':492 'robots.txt':348,434 'schema':17,271,380,383,397,438,554 'schema.org':500 'script':421,423,424,481 'search':12,15,33,37,50,62,313,446,571 'search.google.com':496 'search.google.com/test/rich-results?url=':495 'see':217 'select':327 'semant':276 'seo':2,41,45,90,520 'seo-geo':1 'seo_audit.py':428 'serp_analysis.py':449 'shift':40 'signal':309 'simplifi':180 'singl':386 'site':352 'sitemap':435 'skill':508,518 'skill-seo-geo' 'softwareappl':411 'sourc':150 'source-jhostalek' 'speakablespecif':417 'specif':158,188,215,222,536 'statist':98,156,211 'strategi':84 'string':343 'structur':289 'studi':130 'stuf':202 'suggest':469,479 'tag':433 'target':23,24,28 'technic':183,430 'templat':407,550 'term':184 'terminolog':189 'test':494 'time':437 'tone':170 'tool':420,564 'top':296,451 'topic-agent-skills' 'topic-ai-coding' 'topic-anthropic' 'topic-claude' 'topic-claude-code' 'topic-claude-code-skills' 'topic-code-review' 'topic-codex-cli' 'topic-cursor' 'topic-developer-tools' 'topic-git-workflow' 'topic-multi-agent' 'tradit':32,44,89,101,295 'traffic':464 'twitter':516 'type':398,555 'understand':178 'uniqu':190 'unknow':356 'url':499,506 'use':4,140,403 'user':7,341,362 'user-ag':340 'valid':490,501 'validator.schema.org':503 'validator.schema.org/?url=':502 'variabl':489 'visibl':13,16,95,105,138,351,392 'vocabulari':193 'volum':447 'want':8 'web':245 'webpag':410 'websearch':509 'websit':11,29 'word':191 'world':579 'x':264","prices":[{"id":"de038150-828a-4814-8c58-5e3e509b36db","listingId":"a42e0566-3482-4002-b0dc-a145a28f32e1","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"JHostalek","category":"dotclaude","install_from":"skills.sh"},"createdAt":"2026-05-18T13:20:34.406Z"}],"sources":[{"listingId":"a42e0566-3482-4002-b0dc-a145a28f32e1","source":"github","sourceId":"JHostalek/dotclaude/seo-geo","sourceUrl":"https://github.com/JHostalek/dotclaude/tree/main/skills/seo-geo","isPrimary":false,"firstSeenAt":"2026-05-18T13:20:34.406Z","lastSeenAt":"2026-05-18T19:13:17.409Z"}],"details":{"listingId":"a42e0566-3482-4002-b0dc-a145a28f32e1","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"JHostalek","slug":"seo-geo","github":{"repo":"JHostalek/dotclaude","stars":8,"topics":["agent-skills","ai-coding","anthropic","claude","claude-code","claude-code-skills","code-review","codex-cli","cursor","developer-tools","git-workflow","multi-agent","prompt-engineering","skill-md"],"license":"cc0-1.0","html_url":"https://github.com/JHostalek/dotclaude","pushed_at":"2026-05-17T15:07:41Z","description":"Agent skills for agentic coding tools. Extremely opinionated. Updated (almost) daily.","skill_md_sha":"4ab48dc1efaafe1e39c4b4bd28002d12ece907e8","skill_md_path":"skills/seo-geo/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/JHostalek/dotclaude/tree/main/skills/seo-geo"},"layout":"multi","source":"github","category":"dotclaude","frontmatter":{"name":"seo-geo","description":"Use when the user wants to improve website search visibility, AI search visibility, schema markup, indexing, metadata, or keyword targeting."},"skills_sh_url":"https://skills.sh/JHostalek/dotclaude/seo-geo"},"updatedAt":"2026-05-18T19:13:17.409Z"}}