AgentStack
SKILL verified MIT Self-run

Seo Geo Audit

skill-jgoullet-seo-geo-audit-seo-geo-audit · by jgoullet

>

No reviews yet
0 installs
19 views
0.0% view→install

Install

$ agentstack add skill-jgoullet-seo-geo-audit-seo-geo-audit

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access Used
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Seo Geo Audit? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Skill: Expert SEO Audit (Local or General) + GEO & Competitive Analysis

All responses, analyses and reports are produced in English by default. Switch to the user's language if they explicitly request it (e.g., French, German, Spanish).


Overview

This skill offers two audit modes depending on the nature of the business:

| Mode | For whom? | Blocks activated | |---|---|---| | 🏘️ Local | Local business, artisan, restaurant, doctor, local agency, freelancer... | Technical SEO + Core Web Vitals + Local SEO + E-E-A-T + Entity SEO + GEO + UX-Conversion + Competitors | | 🌐 General | E-commerce, SaaS, blog, media, national/international brand, B2B, B2C... | Technical SEO + Core Web Vitals + Content & Authority + E-E-A-T + Entity SEO + GEO + UX-Conversion + Competitors |

Produces a final expert report with scores, scoring grids, comparison table and prioritized action plan with estimated ROI.


Step 0: Information gathering

Pipeline integration (if running as part of the SEO system)

Check for these files in the project folder seo-project-[domain]/:

  1. site-data.json (from seo-collector) — If present, load it and use the technical data directly. Skip manual questions 1, 11-13 (URL, GSC, GA4, CMS are already known). Still ask questions 2-10 if not answered in the file.
  1. client-profile.md (from seo-shared-context) — If present, load it for mode, competitors, objectives, and audience context. Skip any question already answered there.
  1. Neither file exists — Run as standalone: ask all questions below.

Ahrefs MCP data (if available in site-data.json)

When site-data.json contains Ahrefs data (mcp_integrations.ahrefs: true), use real metrics throughout the audit:

| Audit section | Without Ahrefs | With Ahrefs MCP | |---|---|---| | Step 2B.2 Authority & Link Building | Estimate referring domains via web search | Real DR, backlink count, referring domains, anchor profile | | Step 2B.3 Organic Rankings | Manual keyword search (5-10 queries) | Real keyword positions + volumes for 50+ keywords | | Step 3.2 Authority & Trust | Estimate press mentions | Real brand mention data | | Step 5.5 Platform Optimization | Estimate domain authority metrics | Real Ahrefs DR + rank | | Step 5.6 AI Visibility Test | Manual searches on each AI platform | Brand Radar: real citation data across AI agents | | Step 7 Competitive Analysis | Identify competitors via web_search | Pre-identified organic competitors with common keyword counts |

When Ahrefs data is present, always note Source: Ahrefs MCP (real data) in the report. When estimated, note Source: web search (estimate).

Manual information gathering (standalone mode)

Ask the user:

ESSENTIAL INFORMATION
─────────────────────
1. URL of the site to audit
2. Mode: Local 🏘️ or General 🌐?
   (If not specified → analyze and suggest the appropriate mode)

3. [If Local] City / target geographic area
4. [If Local] Industry (restaurant, plumber, doctor...)
5. [If General] Main topic and target audience (B2B / B2C)
6. [If General] Site type (e-commerce, blog, SaaS, institutional...)
7. [If General] International presence / multilingual?

COMPETITORS & OBJECTIVES
────────────────────────
8. Competitor URLs to compare (1 to 3, otherwise identify automatically)
9. Primary objective (traffic, leads, sales, brand awareness...)
10. Time horizon (short-term urgency / medium-long term strategy)

ACCESS & TECHNICAL CONTEXT
───────────────────────────
11. Google Search Console available? (key data sharing possible)
12. Google Analytics / GA4 available?
13. CMS used? (WordPress, Shopify, Webflow, Wix, custom...)
14. Known Google penalty history? (manual or algorithmic)
15. Available budget/resources (solo, internal team, agency)

> Note: If Analytics/GSC data is not shared, all metrics will be estimates based on observable signals. Clearly state this in the report.


Step 1: Technical SEO Audit

Use web_search and web_fetch to analyze:

> ⚠️ Token budget: Always use text_content_token_limit on web_fetch calls. Use 4000 for primary pages, 3000 for competitor/secondary pages, 1000 for robots.txt. See seo-collector/SKILL.md for the full budget table.

1.1 On-Page & Structure

| Criterion | Verification | Points | |---|---|---| | ` tag | Primary keyword present, 50-60 characters, unique | /2 | | Meta description | Compelling, 140-160 characters, with call to action | /2 | | H1 | Unique, relevant, contains primary keyword | /1 | | H2/H3 | Logical hierarchy, semantic coverage | /1 | | URLs | Clean, readable, ⚠️ **CRITICAL LIMITATION — Schema Markup detection via webfetch** > > webfetch and curl **cannot detect JSON-LD structured data** injected via JavaScript. Many CMS platforms (WordPress + Yoast, RankMath, AIOSEO; Shopify; Webflow) inject schema client-side — it is **invisible in static HTML**. > > ❌ Concluding "no schema detected" based on webfetch alone = **false audit conclusion**. > > ✅ **Reliable methods to audit schema:** > 1. **Google Rich Results Test** → https://search.google.com/test/rich-results *(renders JavaScript)* > 2. **Schema.org Validator** → https://validator.schema.org *(renders JavaScript)* > 3. **Screaming Frog** *(if provided by client — renders JavaScript)* > > Always mention in the report which method was used for schema detection, and flag uncertainty if only webfetch` was available.

1.3 Core Web Vitals (critical block — direct ranking impact)

Search for PageSpeed Insights data (web_search: "PageSpeed Insights [URL]"):

| Metric | Good | Needs improvement | Poor | Points | |---|---|---|---|---| | LCP (Largest Contentful Paint) — loading speed: time for the biggest visible element to appear | 4s | /2 | | CLS (Cumulative Layout Shift) — visual stability: do elements jump around during loading? | 0.25 | /2 | | INP (Interaction to Next Paint) — responsiveness: delay between user action and visual feedback | 500ms | /2 | | FCP (First Contentful Paint) — time until first content appears | 3s | /1 | | TTFB (Time to First Byte) — server response time | 1.8s | /1 | | Mobile vs Desktop | Consistent scores | Moderate gap | Gap > 20pts | /2 |

> Scoring grid: Good = full points, Needs improvement = half points, Poor = 0 points

Core Web Vitals subtotal: /10

Overall Technical SEO Score: /30


Step 2A: Local SEO Audit 🏘️ (Local mode only)

2A.1 Google Business Profile (GBP)

Search "[business name] [city]" on Google and analyze the listing:

| Criterion | Verification | Points | |---|---|---| | Claimed listing | Ownership verified by business | /2 | | Primary category | Precise and matching the business | /2 | | Secondary categories | 2-5 relevant categories filled in | /1 | | Photos | Recent ( 20 reviews (local pack) / > 50 (very good) | /2 | | Reviews — rating | ≥ 4.5/5 (excellent) / 4.0–4.4 (good) / E-E-A-T = Experience, Expertise, Authoritativeness, Trustworthiness — fundamental criterion from Google's Quality Rater Guidelines, particularly critical for YMYL sites (health, finance, legal...).

3.1 Experience & Expertise

| Criterion | Verification | Points | |---|---|---| | Author pages | Complete bio with photo, credentials, professional network links | /3 | | Proof of experience | Case studies, client testimonials, portfolio, before/after | /3 | | Expert content | Source citations, data-backed claims, referenced studies | /2 | | Content creation date | Site age and domain expertise longevity | /2 |

Experience & Expertise subtotal: /10

3.2 Authority & Trust

| Criterion | Verification | Points | |---|---|---| | "About" page | History, team, values, certifications | /2 | | Press mentions | Appearances in recognized media (verify via search) | /2 | | Certifications & labels | Badges, quality labels, professional memberships | /2 | | Privacy policy | Present, up to date, GDPR/CCPA compliant | /1 | | Legal notice | Complete and accessible | /1 | | Terms of service | Present if commercial site | /1 | | HTTPS | Basic trust signal (already counted in Technical) | /0 | | Third-party verified reviews | Trustpilot, Google Reviews, verified platforms | /3 | | Complete contact info | Physical address, phone, visible email | /2 | | YMYL signals | For sensitive sectors: disclaimers, "consult a professional" mentions | /3 | | Active social media | Presence and communication consistency | /3 |

Authority & Trust subtotal: /20

E-E-A-T Score: /30 → scaled to /10 in summary


Step 4: Entity SEO (common to both modes)

> Entity SEO measures how well the entity (brand, business, person) is recognized by Google and LLMs, independent of keywords. It is the foundation of GEO.

4.1 Entity existence in the Knowledge Graph

| Criterion | Verification | Points | |---|---|---| | Google Knowledge Panel | Side panel present on brand search | /4 | | Wikidata | Q identifier present, consistent data | /3 | | Wikipedia | Dedicated page or mention in relevant articles | /3 | | Google Maps (if local) | Entity correctly linked to Maps listing | /2 |

Knowledge Graph subtotal: /12 → normalized to /10

4.2 Entity Consistency

| Criterion | Verification | Points | |---|---|---| | Entity name | Identical across all channels (site, social, GBP, Wikidata...) | /3 | | Schema Organization / LocalBusiness | Present with sameAs pointing to all official profiles | /3 | | Canonical entity URLs | LinkedIn, Twitter/X, Facebook, YouTube profiles consistent | /2 | | Geographic anchoring | Consistent address everywhere (if local) | /2 |

Entity Consistency subtotal: /10

Entity SEO Score: /20 → scaled to /10 in summary


Step 5: GEO Audit (common to both modes)

> GEO (Generative Engine Optimization) measures a site's ability to be cited, summarized or recommended by generative AI: Google AI Overviews, ChatGPT Search, Perplexity, Gemini, Copilot, Claude... > > Core principle: AI engines don't "rank" pages — they cite sources. Being cited = the new "being #1". (Source: Princeton/KDD 2024, arXiv:2311.09735)


5.1 AI Bot Accessibility (critical prerequisite)

> A site blocking AI crawlers in its robots.txt is invisible to all AI engines. Verify via web_fetch: "[URL]/robots.txt".

| AI Bot | User-agent to allow | Platform | Points | |---|---|---|---| | Googlebot | Googlebot | Google AI Overview | /2 | | GPTBot | GPTBot | ChatGPT (OpenAI) | /2 | | ChatGPT-User | ChatGPT-User | ChatGPT with browsing | /1 | | PerplexityBot | PerplexityBot | Perplexity AI | /2 | | ClaudeBot | ClaudeBot | Claude (Anthropic) | /1 | | anthropic-ai | anthropic-ai | Claude (Anthropic) | /1 | | Bingbot | Bingbot | Copilot / Bing | /1 |

> ⚠️ Important note: Claude uses Brave Search (not Google or Bing). To be cited by Claude, a site must be indexed by Brave Search AND allow ClaudeBot/anthropic-ai.

Bot Accessibility subtotal: /10


5.2 Content Optimization — The 9 GEO Methods (Princeton/KDD 2024)

> These methods are from peer-reviewed academic research validated on Perplexity.ai (10,000+ queries tested). Percentages indicate the average visibility boost in AI responses.

| Method | Boost | How to evaluate | Points | |---|---|---|---| | 1. Cite sources | +40% | Content cites studies, reports, recognized institutions | /3 | | 2. Add statistics | +37% | Verifiable data with dated sources | /3 | | 3. Add expert quotes | +30% | Quotes attributed to named experts | /2 | | 4. Authoritative tone | +25% | Affirmative, expert language, no vague formulations | /2 | | 5. Accessible content | +20% | Complex concepts explained simply | /2 | | 6. Technical terminology | +18% | Relevant industry jargon used correctly | /2 | | 7. Varied vocabulary | +15% | No repetitions, synonyms, lexical richness | /1 | | 8. Optimized fluency | +15-30% | Well-written text, logical transitions, short paragraphs | /2 | | 9. ❌ Keyword stuffing | -10% | Absence of keyword over-optimization | /3 |

> 🏆 Best combination: Fluency + Statistics = maximum boost per the Princeton study.

GEO Methods subtotal: /20


5.3 Content Structure for LLMs

| Criterion | Verification | Points | |---|---|---| | "Answer-first" format | Direct answer in the first paragraph | /3 | | Paragraph length | 350K = 8.4 average citations | ✅/❌/🟡 | | Content freshness | Traffic without conversion doesn't produce business results. This audit detects friction points that drive visitors away.

6.1 User Experience

| Criterion | Verification | Points | |---|---|---| | Navigation | Clear menu, max 7 items at first level | /2 | | Internal search | Present and functional (if site > 20 pages) | /1 | | Visual hierarchy | CTAs visible above the fold | /2 | | Mobile-first design | Touch-optimized interface, buttons ≥ 44px | /2 | | Readability | Sufficient contrast, font ≥ 16px on mobile | /1 | | Perceived speed | Progressive loading, no white screen | /1 | | Accessibility (basic) | Form labels, alt text, visible focus | /1 |

UX subtotal: /10

6.2 Trust Signals & Conversion

| Criterion | Verification | Points | |---|---|---| | Visible trust signals | Certifications, guarantees, payment security, GDPR/CCPA | /2 | | Testimonials/Reviews | Visible on key pages (home, service, product) | /2 | | Primary CTA | Clear, compelling, above-the-fold on all key pages | /2 | | Contact form | Simple, max 5 fields for first contact | /1 | | Phone number | Visible at top of page, clickable on mobile | /1 | | SERP → Landing coherence | Search intent satisfied upon arrival | /2 |

Conversion subtotal: /10

6.3 Analytics & Tracking Maturity

> If site-data.json contains analytics_tracking data (from the collector's Step 5.5), use it directly. Otherwise, check the HTML source manually.

| Criterion | Verification | Points | |---|---|---| | GA4 or equivalent installed | Modern analytics tool detected and active | /2 | | Tag Manager (GTM) | Container present — enables flexible event tracking | /1 | | Conversion events configured | E-commerce events (addtocart, purchase) or form/CTA tracking detected | /3 | | Consent management (CMP) | Cookie banner / GDPR-CCPA compliant consent tool present | /1 | | Heatmap / Session recording | Hotjar, Clarity, or equivalent installed (UX insight capability) | /1 | | No legacy analytics | Universal Analytics (UA) migrated to GA4 | /1 | | dataLayer structured | GTM dataLayer initialized with meaningful data | /1 |

Analytics & Tracking subtotal: /10

Maturity assessment (from collector data or manual check):

  • 🔴 No analytics (0-2 pts): No GA4, no tracking — flying blind
  • 🟡 Basic (3-5 pts): GA4 present but minimal event tracking
  • 🟢 Intermediate (6-8 pts): GA4 + GTM + conversion events + consent
  • 🟢🟢 Advanced (9-10 pts): Full stack with CDP/product analytics + heatmaps

> Why this matters for SEO: Google's ranking signals increasingly rely on user engagement metrics (dwell time, scroll depth, click satisfaction). Without proper tracking, you can't measure whether your SEO improvements are actually driving conversions — and you can't prove ROI to stakeholders.

UX & Conversion Score: /30 → scaled to /10 in summary


Step 7: Competitive Analysis

For each competitor (identify automatically if not provided via web_search: "[business type] [city/industry] competitor site"), reproduce steps 1 to 6 in a lighter version.

Comparison Table — Local Mode 🏘️

| Criterion | My Site | Competitor 1 | Competitor 2 | Competitor 3 | |---|---|---|---|---| | Technical SEO Score /10 | | | | | | Core Web Vitals /10 | | | | | | Local SEO Score /20 | | | | | | E-E-A-T Score /10 | | | | | | Entity SEO Score /10 | | | | | | GEO Score /20 | | | | | | UX & Conversion Score /10 | | | | | | *

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.