All skills
resciencelab avatar

/seo-geo

@2aedb75
by ReScience Labresciencelab/opc-skills1.8k stars
169

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.

Use this Skill: https://skilld.dev/gh/resciencelab/opc-skills/seo-geo

This session only. Nothing lands on disk.

SKILL.md

≈104 tokens always: the name and description. ≈2k when used: this file. ≈14k more on demand in 8 files.

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):

Method Visibility Boost How 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

Source: SKILL.md on GitHub

2 warnings17d5 checks · Risk SAFE
  • Gen Agent Trust Hub17d

    The seo-geo skill provides a comprehensive toolkit for SEO and GEO (Generative Engine Optimization), enabling users to perform keyword research, SERP analysis, and technical audits. It utilizes the DataForSEO API for search data and includes Python scripts for local parsing and reporting. The skill follows best practices for credential management by using environment variables for API authentication and performs web analysis through standard command-line tools and scripts.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: MEDIUM · 2 issues

  • Runlayer7mo

    7/19 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

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

Last checked against GitHub 6 hours ago.

Activeupdated 8 months ago
  • SEO
  • geo
  • schema-markup
  • json-ld
  • keyword-research
  • ai-search
  • chatgpt
  • perplexity
  • google
  • meta-tags

README badge

README badge for resciencelab/opc-skills/seo-geo

Analyzes website SEO and GEO (Generative Engine Optimization) status, then generates optimization recommendations for both traditional search engines (Google, Bing) and AI search engines (ChatGPT, Perplexity, Gemini, Claude). Includes auditing tools, schema markup generation, keyword research guidance, and platform-specific ranking strategies based on Princeton GEO research.

Generated from the current SKILL.md.

Does this skill optimize for both traditional search engines and AI search engines?
Yes. It covers Google and Bing (traditional) and ChatGPT, Perplexity, Gemini, Copilot, and Claude (AI search engines), with platform-specific guidance for each.
What is GEO and how does it differ from traditional SEO?
GEO (Generative Engine Optimization) focuses on being cited by AI search engines rather than ranking in traditional results. The skill explains that AI engines cite sources instead of ranking pages.
Does this skill require paid tools or APIs?
No. The basic SEO audit and most checks use free tools like curl and Python scripts. Keyword research uses WebSearch, and schema validation uses free Google and Schema.org validators.
What schema markup does this skill help generate?
It provides JSON-LD templates for FAQPage, WebPage, Article, Product, Organization, and SoftwareApplication schemas, with emphasis on FAQPage for AI search visibility.
Which AI bots need to be allowed in robots.txt?
The skill lists Googlebot, Bingbot, PerplexityBot, ChatGPT-User, ClaudeBot/anthropic-ai, and GPTBot as bots that should be allowed for proper indexing by AI search engines.

Generated from the current SKILL.md. These answers refresh after source changes.