agentleFS
Ormus-SolutionsOrmus-Solutions/LibreGEO-Claude-Code/skills/geo-technical/SKILL.md

geo-technical

Skill1 starsChanged 43 days agoMITView on GitHub

Technical SEO audit with GEO-specific checks: crawlability, AI crawler user agents, indexability, security headers, URL structure, mobile, Core Web Vitals (INP), and server-side rendering for crawlers that do not run JavaScript, scored by category with fixes. Use when the user asks about technical SEO, site speed, rendering, or why AI crawlers see an empty page.

5 other projects use a version of this, 4 of them edited.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

3 rules. 2 are common, 0 are distinctive, and 1 is very specific to this project.

  • 2

    Common

    Most of the 3 edited versions we read keep these.

  • 0

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Common:

    Run through each of the 8 audit categories below

    line 19
  2. Common:

    If key content (headings, paragraphs, product info, article text) is MISSING from curl output → client-side rendering

    line 163
  3. Very specific:

    Check for https://[domain]/.well-known/indexnow-key.txt or CMS plugin.

    line 204

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

GEO Technical SEO Audit

Purpose

Foundation audit for both traditional search and AI citation. Most critical GEO gates: server-side rendering (AI crawlers do not execute JavaScript) and AI crawler access (sites often inadvertently block AI bots in robots.txt). 8 categories, 100 points.

How to Use This Skill

  1. Collect target URL (homepage + 2-3 key inner pages)
  2. Fetch each page using curl/WebFetch — get raw HTML + HTTP headers
  3. Run through each of the 8 audit categories below
  4. Score using the rubric
  5. Generate GEO-TECHNICAL-AUDIT.md (template at end)

Sub-check details, fix lists, framework-specific SSR solutions, and the IndexNow protocol explainer are in checks.md alongside this file. Reference it as needed.


Category 1: Crawlability (15 pts)

Sub-checks (detail in checks.md §1):

  • 1.1 robots.txt validity — syntactic correctness, sitemap reference
  • 1.2 AI crawler access (CRITICAL) — see table below
  • 1.3 XML sitemaps — valid XML, <lastmod> accurate, sample-verify 200s
  • 1.4 Crawl depth — important pages within 3 clicks of homepage
  • 1.5 Noindex management — no erroneous noindex on indexable pages

AI Crawlers — User-Agent Reference

CrawlerUser-AgentPlatform
GPTBotGPTBotChatGPT / OpenAI
Google-ExtendedGoogle-ExtendedGemini / Google AI training
GooglebotGooglebotGoogle Search + AI Overviews
BingbotbingbotBing Copilot + ChatGPT (via Bing)
PerplexityBotPerplexityBotPerplexity AI
ClaudeBotClaudeBotAnthropic Claude
AmazonbotAmazonbotAlexa / Amazon AI
CCBotCCBotCommon Crawl (many AI models)
FacebookBotFacebookExternalHitMeta AI
BytespiderBytespiderTikTok / ByteDance AI
Applebot-ExtendedApplebot-ExtendedApple Intelligence

Scoring

CheckPoints
robots.txt valid and complete3
AI crawlers allowed5
XML sitemap present and valid3
Crawl depth within 3 clicks2
No erroneous noindex directives2

Category 2: Indexability (12 pts)

Sub-checks (detail in checks.md §2):

  • 2.1 Canonical tags — self-referencing, no conflicts, no chains
  • 2.2 Duplicate content — www/non-www, HTTP/HTTPS, trailing slash, params
  • 2.3 Pagination — rel="next/prev" or canonical-to-first
  • 2.4 Hreflang — reciprocal, x-default, valid ISO codes
  • 2.5 Index bloat — indexed pages vs valuable content pages
CheckPoints
Canonical tags correct on all pages3
No duplicate content issues3
Pagination handled correctly2
Hreflang correct (if applicable)2
No index bloat2

Category 3: Security (10 pts)

Required HTTP response headers (detail + values in checks.md §3): Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options: nosniff, X-Frame-Options: DENY or SAMEORIGIN, Referrer-Policy: strict-origin-when-cross-origin (or stricter), Permissions-Policy.

HTTPS: enforced, HTTP→HTTPS 301, no mixed content, valid unexpired cert.

CheckPoints
HTTPS enforced with valid cert4
HSTS header present2
X-Content-Type-Options1
X-Frame-Options1
Referrer-Policy1
Content-Security-Policy1

Category 4: URL Structure (8 pts)

Sub-checks (detail in checks.md §4):

  • 4.1 Clean URLs — human-readable, lowercase, hyphens, no session IDs
  • 4.2 Logical hierarchy — /category/subcategory/page, consistent
  • 4.3 Redirect chains — max 1 hop, all 301, no loops
  • 4.4 Parameter handling — canonical/Disallow, GSC + Bing WMT configured
CheckPoints
Clean, readable URLs2
Logical hierarchy2
No redirect chains (max 1 hop)2
Parameter handling configured2

Category 5: Mobile Optimization (10 pts)

Critical: As of July 2024, Google crawls ALL sites exclusively with mobile Googlebot. No desktop crawling.

Sub-checks (detail in checks.md §5):

  • 5.1 Responsive design — <meta name="viewport" content="width=device-width, initial-scale=1">, no horizontal scroll
  • 5.2 Tap targets — minimum 48x48 CSS px, 8px spacing
  • 5.3 Font sizes — base ≥ 16px, WCAG AA contrast (4.5:1 normal, 3:1 large)
  • 5.4 Mobile content parity — all desktop content visible on mobile
CheckPoints
Viewport meta tag correct3
Responsive layout (no horizontal scroll)3
Tap targets appropriately sized2
Font sizes legible2

Category 6: Core Web Vitals (15 pts)

Field data (75th percentile) is the ranking signal. Lab data is for debugging.

MetricGoodNeeds ImprovementPoorNotes
LCP (Largest Contentful Paint)< 2.5s2.5s - 4.0s> 4.0sTime until largest visible element renders
INP (Interaction to Next Paint)< 200ms200ms - 500ms> 500msReplaced FID March 2024. Measures ALL interactions
CLS (Cumulative Layout Shift)< 0.10.1 - 0.25> 0.25Unexpected layout movements

Without CrUX data, estimate from page characteristics; common fixes for each metric in checks.md §6.

CheckPoints
LCP < 2.5s5
INP < 200ms5
CLS < 0.15

Category 7: Server-Side Rendering (15 pts) — CRITICAL FOR GEO

AI crawlers (GPTBot, PerplexityBot, ClaudeBot, etc.) do NOT execute JavaScript. They fetch raw HTML. Client-rendered content = invisible to AI. Googlebot does execute JS but deprioritizes it (separate rendering queue, days/weeks delay).

Detection Method

  1. Fetch with curl (no JS): curl -s [URL]
  2. Compare raw HTML to browser-rendered DOM
  3. If key content (headings, paragraphs, product info, article text) is MISSING from curl output → client-side rendering

What to Check in Raw HTML

Main content text, headings (H1/H2/H3), navigation, structured data (JSON-LD), meta tags (title/description/canonical/OG), internal links.

SSR solutions per framework + extended scoring detail in checks.md §7.

CheckPoints
Main content in raw HTML8
Meta tags + structured data in raw HTML4
Internal links in raw HTML3

Category 8: Page Speed & Server Performance (15 pts)

Sub-checks (detail in checks.md §8):

  • 8.1 TTFB — target < 800ms (ideal < 200ms). Measure: curl -o /dev/null -s -w 'TTFB: %{time_starttransfer}s\n' [URL]
  • 8.2 Resource optimization — total page weight < 2MB (critical pages < 1MB), gzip/brotli on, minified, unused CSS/JS
  • 8.3 Image optimization — WebP/AVIF, correctly sized, loading="lazy" below fold (NOT above), explicit width/height
  • 8.4 Code splitting — JS bundles < 200KB compressed (warning), < 500KB (critical), async/defer third-party, no render-blocking in <head>
  • 8.5 Caching — static assets max-age=31536000 with content-hashed filenames; HTML short cache or no-cache with ETag/Last-Modified
  • 8.6 CDN — CF-Ray (Cloudflare), X-Cache (CloudFront), X-Served-By (Fastly)
CheckPoints
TTFB < 800ms3
Page weight < 2MB2
Images optimized (format, size, lazy)3
JS bundles reasonable (< 200KB compressed)2
Compression enabled (gzip/brotli)2
Cache headers on static resources2
CDN in use1

IndexNow Protocol

Bing/Yandex/Seznam/Naver instant-indexing protocol. Google does NOT support but monitors. GEO relevance: ChatGPT and Bing Copilot both use Bing's index — faster Bing indexing = faster AI visibility.

Check for https://[domain]/.well-known/indexnow-key.txt or CMS plugin. Full explainer in checks.md.


Overall Scoring

CategoryMax PointsWeight
Crawlability15Core foundation
Indexability12Core foundation
Security10Trust signal
URL Structure8Crawl efficiency
Mobile Optimization10Google requirement
Core Web Vitals15Ranking signal
Server-Side Rendering15GEO critical
Page Speed & Server15Performance
Total100

Score interpretation bands in checks.md (90-100 Excellent, 70-89 Good, 50-69 Needs Work, 30-49 Poor, 0-29 Critical).


Output Format

Generate GEO-TECHNICAL-AUDIT.md with:

# GEO Technical SEO Audit — [Domain]
Date: [Date]

## Technical Score: XX/100

## Score Breakdown
| Category | Score | Status |
|---|---|---|
| Crawlability | XX/15 | Pass/Warn/Fail |
| Indexability | XX/12 | Pass/Warn/Fail |
| Security | XX/10 | Pass/Warn/Fail |
| URL Structure | XX/8 | Pass/Warn/Fail |
| Mobile Optimization | XX/10 | Pass/Warn/Fail |
| Core Web Vitals | XX/15 | Pass/Warn/Fail |
| Server-Side Rendering | XX/15 | Pass/Warn/Fail |
| Page Speed & Server | XX/15 | Pass/Warn/Fail |

Status: Pass = 80%+ of category points, Warn = 50-79%, Fail = <50%

## AI Crawler Access
| Crawler | User-Agent | Status | Recommendation |
|---|---|---|---|
| GPTBot | GPTBot | Allowed/Blocked | [Action] |
| Googlebot | Googlebot | Allowed/Blocked | [Action] |
[Continue for all AI crawlers]

## Critical Issues (fix immediately)
[List with specific page URLs and what is wrong]

## Warnings (fix this month)
[List with details]

## Recommendations (optimize this quarter)
[List with details]

## Detailed Findings
[Per-category breakdown with evidence]

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

Reviews can't be read right now.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.