---
name: cro-geo-audit
description: Performs a comprehensive Conversion Rate Optimization (CRO) and Generative Engine Optimization (GEO) audit of any website. All analyses are 100% autonomous — no external tools or reports required. Produces a scored report with findings, prioritized recommendations, and an optional interactive dashboard. Use when a user wants to understand why their site is not converting, audit UX/SEO/performance/security/AI visibility, or get a prioritized fix list.
---

# CRO + GEO Audit

Performs a comprehensive, fully autonomous Conversion Rate Optimization (CRO) and Generative Engine Optimization (GEO) audit of any website. All analyses — including GEO — are done entirely by the skill's own scripts and browser-based verification, with no dependency on external tools like NAIA, Otterly, or HubSpot.

## When to Use

Use this skill when the user wants to:
- Understand why their website is not converting visitors into customers
- Audit a website for UX, SEO, performance, security, and AI visibility issues
- Get a prioritized list of fixes to improve conversion rates
- Generate an interactive CRO dashboard with visual scores and findings
- Evaluate their site's visibility in AI-powered search engines (ChatGPT, Gemini, Perplexity, Copilot)

## Workflow Overview

The audit follows 7 sequential phases:

1. **Automated Technical Audit** — Run `technical_audit.py` to collect performance, headers, robots.txt, sitemap, SSL data
2. **SEO Meta Analysis** — Run `seo_meta_check.py` to extract and evaluate meta tags, Open Graph, Schema.org from all pages
3. **Autonomous GEO Audit** — Run `geo_audit.py` to analyze AI crawler access, structured data quality, content citability, directory presence, and calculate GEO score
4. **AI Visibility Verification** — Use the browser to test the brand in ChatGPT, Gemini, Perplexity and Copilot using the prompts generated by `geo_audit.py`
5. **Manual Navigation Audit** — Browse every page of the site to evaluate CRO, UX, copy, CTAs, and funnel
6. **Report Generation** — Compile all findings into a structured Markdown report, score each category, and convert to PDF
7. **Dashboard Generation** (optional) — Create an interactive webdev dashboard with gauges, funnel, filterable findings

---

## Phase 1: Automated Technical Audit

Run the technical audit script against the target URL:

```bash
python /home/ubuntu/skills/cro-geo-audit/scripts/technical_audit.py https://example.com > /home/ubuntu/technical_audit_results.json
```

This script automatically checks:
- Response times (DNS, TCP, SSL, TTFB, total)
- HTTP response headers
- Security headers (HSTS, CSP, X-Frame-Options, etc.)
- robots.txt content and AI bot blocking status
- sitemap.xml existence and URL count
- SSL certificate validity

Save the JSON output for use in Phase 6.

---

## Phase 2: SEO Meta Analysis

Run the SEO meta check script against all important pages:

```bash
python /home/ubuntu/skills/cro-geo-audit/scripts/seo_meta_check.py 
  https://example.com 
  https://example.com/produtos 
  https://example.com/blog 
  https://example.com/cadastro 
  > /home/ubuntu/seo_meta_results.json
```

This script extracts and evaluates per page:
- Title tag (length, quality)
- Meta description (length, quality)
- Canonical URL
- Open Graph tags (completeness)
- Twitter Card tags
- Heading hierarchy (H1 count, structure)
- Schema.org JSON-LD (types, completeness)
- Images without alt text
- Internal/external link counts
- Per-page SEO score

Save the JSON output for use in Phase 6.

---

## Phase 3: Autonomous GEO Audit

This is the core GEO analysis phase. Run the `geo_audit.py` script which performs the ENTIRE GEO analysis autonomously:

```bash
python /home/ubuntu/skills/cro-geo-audit/scripts/geo_audit.py 
  https://example.com 
  --brand "Brand Name" 
  --competitors "competitor1,competitor2" 
  > /home/ubuntu/geo_audit_results.json
```

The script performs **6 autonomous analyses**:

### 3.1 AI Crawler Accessibility Analysis
- Fetches and parses `robots.txt`
- Checks 12 AI crawlers (GPTBot, ChatGPT-User, Google-Extended, Googlebot, Bingbot, anthropic-ai, ClaudeBot, PerplexityBot, Bytespider, CCBot, FacebookBot, cohere-ai)
- Classifies each as `allowed`, `allowed_restricted`, or `blocked` with the specific rule that causes the classification
- **`allowed`**: No blocking rules, or explicit `Allow: /` with no restrictions
- **`allowed_restricted`**: `Allow: /` is present but specific paths are blocked (e.g., `/dashboard`) — this is correct behavior and does NOT count as blocked
- **`blocked`**: `Disallow: /` without a corresponding `Allow: /`
- Correctly handles the precedence: specific agent rules override wildcard (`*`) rules
- Identifies critical vs non-critical crawlers
- **Scoring**: 25 points max. Deducts 5 points per critical crawler blocked, 2 per non-critical. `allowed_restricted` crawlers are NOT penalized

### 3.2 Structured Data Quality Analysis
- Fetches the homepage HTML
- Extracts all JSON-LD blocks
- Identifies Schema types (Organization, Product, FAQPage, HowTo, Article, BreadcrumbList, WebSite, LocalBusiness)
- Evaluates completeness of meta tags and Open Graph
- **Scoring**: 20 points max based on presence of key Schema types

### 3.3 Content Citability Analysis
- Analyzes content depth (word count, heading hierarchy)
- Detects FAQ patterns in content
- Counts statistical data (numbers with %)
- Counts citation patterns ("segundo", "de acordo com", "fonte:")
- Counts structured elements (lists, tables)
- Evaluates heading hierarchy quality
- **Scoring**: 20 points max based on citability factors

### 3.4 Multi-Page Discovery & Analysis
- Discovers internal pages using 4 methods:
  1. Standard `href` links from homepage HTML
  2. JavaScript-embedded paths (common in SPAs and no-code platforms like Base44, Webflow, Wix)
  3. `sitemap.xml` discovery (tries sitemap.xml, sitemap_index.xml, sitemap-0.xml)
  4. Common page pattern probing (/about, /faq, /pricing, /como-funciona, /blog, etc.)
- Handles hash-based SPA routing (`#/page`)
- Filters out non-content pages (API endpoints, static assets, admin areas)
- Discovers up to 20 candidate pages, analyzes the top 10 for Schema, citability, and content quality
- Provides per-page breakdown with HTTP status tracking
- Logs progress to stderr for debugging

### 3.5 Google Presence Check
- Searches Google for the brand name and domain
- Estimates the number of indexed results
- **Scoring**: 10 points max based on Google presence

### 3.6 Directory Presence Checklist
- Generates a checklist of 10 directories to verify (Product Hunt, G2, Capterra, Crunchbase, LinkedIn, GitHub, Wikipedia, Reclame Aqui, Trustpilot, Google Business)
- Provides check URLs for each directory

### 3.7 AI Visibility Test Prompts
- Generates 15 test prompts in Portuguese to test in ChatGPT, Gemini, Perplexity, and Copilot
- Prompts cover brand recognition, category searches, and competitor comparisons

### 3.8 GEO Score Calculation
- Calculates a total GEO score out of 100 across 6 sub-categories:
  - AI Crawler Accessibility (25 pts)
  - Structured Data Quality (20 pts)
  - Content Citability (20 pts)
  - Meta & OG Completeness (15 pts)
  - Content Architecture (10 pts)
  - External Authority (10 pts)
- Assigns a grade (A-F) and verdict

### 3.9 Prioritized Recommendations
- Generates specific, actionable recommendations based on findings
- Each recommendation includes: priority (critical/high/medium/low), category, title, description, impact, effort, and action
- Sorted by priority

Save the JSON output for use in Phases 4 and 6.

---

## Phase 4: AI Visibility Verification (Browser)

Using the test prompts generated by `geo_audit.py` (in `ai_visibility_prompts`), manually test the brand's visibility:

1. Open ChatGPT (chat.openai.com) and test 3-5 key prompts
2. Open Gemini (gemini.google.com) and test the same prompts
3. Open Perplexity (perplexity.ai) and test the same prompts
4. Open Copilot (copilot.microsoft.com) and test the same prompts

For each test, record:
- Does the brand appear? (yes/no)
- Is it cited with a link?
- Position in the response (1st paragraph, middle, end, not present)
- Sentiment (positive, neutral, negative)
- Competitors mentioned alongside

Also verify directory presence using the `directory_checklist` URLs from the geo_audit.py output.

Save results in a Markdown file for use in Phase 6.

---

## Phase 5: Manual Navigation Audit

Browse every page of the site using the browser tool. For each page, evaluate against the CRO checklist.

**Read the full checklist:** See [references/cro-checklist.md](references/cro-checklist.md) for the complete CRO evaluation criteria covering:
- Homepage / Landing Page
- Proposta de Valor e Copy
- CTAs e Botões
- Formulários e Cadastro
- Funil de Conversão
- Prova Social e Confiança
- Preços e Pagamento
- Blog e Conteúdo
- Mobile e Responsividade
- Acessibilidade

**Key actions during navigation:**
1. Visit the homepage and evaluate the hero section (< 5 seconds to understand value)
2. Click every CTA and verify destinations (no 404s)
3. Test the signup/login flow end-to-end
4. Test any interactive tools (simulators, calculators)
5. Check the blog for broken images and internal CTAs
6. Verify the pricing page for clarity and anchoring
7. Test partner/affiliate pages if they exist

Save detailed notes in a Markdown file for each page visited.

---

## Phase 6: Report Generation

Compile all findings into a structured report.

**Use the report template:** See [templates/report-template.md](templates/report-template.md) for the exact structure.

**Score each category using the rubric:** See [references/scoring-rubric.md](references/scoring-rubric.md) for detailed scoring criteria for CRO, UX, SEO, Performance, Security, and GEO.

**Steps:**
1. Calculate scores for each category using the rubric
2. For the GEO score, use the score calculated by `geo_audit.py` (normalize to 0-100 scale using `percentage` field)
3. Calculate the weighted overall score: `(CRO×0.25) + (UX×0.20) + (SEO×0.20) + (Perf×0.15) + (Seg×0.10) + (GEO×0.10)`
4. Fill in the report template with all findings, organized by section
5. Include the GEO section with: crawler blocking table, Schema analysis, citability metrics, directory checklist, AI visibility test results, and all recommendations from `geo_audit.py`
6. Create the prioritized recommendations list (Critical → High → Medium → Low)
7. Convert to PDF using `manus-md-to-pdf`

---

## Phase 7: Dashboard Generation (Optional)

If the user wants an interactive dashboard, create a webdev project.

**Use the data template:** See [templates/dashboard-data-template.ts](templates/dashboard-data-template.ts) for the TypeScript data structure.

**Dashboard sections to include:**
1. **Header** — Site name, date, overall score gauge
2. **Score Gauges** — One animated gauge per category (CRO, UX, SEO, Perf, Seg, GEO)
3. **Conversion Funnel** — Visual funnel with drop-off percentages at each step
4. **Findings Grid** — Filterable list of all problems by severity and category, with expandable details
5. **Performance Metrics** — TTFB, total load, page size with visual indicators
6. **Security Headers** — Table with present/absent status and severity
7. **GEO Section** — AI crawler blocking grid (allowed/blocked per bot), GEO sub-score bars, content citability metrics, directory presence checklist, AI visibility test results, competitor comparison
8. **Top Actions** — 3-5 highest-impact recommendations with effort/impact assessment

**Design recommendation:** Dark theme ("War Room" aesthetic) with severity-based color coding (red = critical, orange = high, yellow = medium, green = positive). Use Recharts for gauges and charts.

---

## Output Files

At the end of the audit, the following files should be produced:

| File | Description |
|------|-------------|
| `technical_audit_results.json` | Raw output from technical_audit.py |
| `seo_meta_results.json` | Raw output from seo_meta_check.py |
| `geo_audit_results.json` | Raw output from geo_audit.py (complete GEO analysis) |
| `ai_visibility_notes.md` | Browser-based AI visibility test results |
| `cro_analysis_notes.md` | Manual navigation notes |
| `relatorio_cro_[site].md` | Final report in Markdown |
| `relatorio_cro_[site].pdf` | Final report in PDF |
| Dashboard webdev project (optional) | Interactive dashboard |

---

## Tips

- Always run ALL THREE scripts (technical_audit.py, seo_meta_check.py, geo_audit.py) BEFORE starting manual navigation — the data informs what to look for
- The `geo_audit.py` script is 100% autonomous and does not require any external tool, API key, or third-party report
- If the user happens to provide an external GEO report (e.g., NAIA), use it as supplementary data to cross-validate the autonomous analysis, but never depend on it
- Take screenshots of critical issues during navigation for the report
- The scoring rubric is a guide, not a rigid formula — use judgment for edge cases
- For sites with many pages, prioritize: Homepage → Products/Pricing → Signup → Blog → Other
- Always convert the final report to PDF, as users prefer sharing PDFs with their teams
- For the AI visibility browser tests, focus on the 5 most relevant prompts rather than all 15 to save time
