seo-geo

作者: resciencelab

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

相关技能

contentstack-android-cda
contentstack
Use for the public Android Content Delivery SDK surface and package com.contentstack.sdk.
official
code-review
openai
Reviews code changes using CodeRabbit AI. Use when user asks for code review, PR feedback, code quality checks, security issues, or requests fix-review cycles.
official
to-issues
mattpocock
将计划、规范或产品需求文档拆解为项目问题追踪器中可独立领取的问题,采用追踪弹头式垂直切片方法。适用于用户希望将计划转化为问题、创建实施工单或将工作分解为问题场景。
developmentproject-management
rw-check-org-details
runwayml
查询Runway API以获取组织详情:速率限制、信用余额、使用层级和每日生成次数
official
create-llms
github
生成符合规范的llms.txt文件,引导LLM了解仓库结构和文档。分析仓库布局,识别关键文件(README、规范、示例、配置),并在生成前整理文档结构。按照https://llmstxt.org/的官方规范创建llms.txt,包含H1项目名称、引用摘要和有序的H2文件章节。将文件组织到逻辑类别中(文档、规范、示例...)
official
django-models
sentry
遵循Sentry的架构约定,设计Django ORM模型,涵盖隔离、复制、迁移和外键。在添加新的Django…时使用。
official
json-render-react-email
vercel
用于 json-render 的 React Email 渲染器,可将 JSON 规范转换为 HTML 或纯文本邮件,基于 @react-email/components 和 @react-email/render。在以下情况使用…
official
openspec-apply-change
sentry
Implement tasks from an OpenSpec change. Use when the user wants to start implementing, continue implementation, or work through tasks.
official