PTENES
MODULE 5.2

πŸ“Š SEO + AI Search Auditor

Most SEO tools don’t know that the llms.txt exists. Most AI visibility guides skip the technical part. This skill does both β€” live, on any URL, in less than 60 seconds.

6
Topics
45
Minutes
Advanced
Level
Practice
Type
1

🌐 Classic SEO and AEO in the same audit

There are two visibility games today. The SEO targets Google: ranking on the results page. The AEO (Answer Engine Optimization) targets answer enginesβ€”ChatGPT, Perplexity, Gemini, Claudeβ€”so it can be cited in the AI response. They’re different audiences, signals, and checks. This skill covers both in one pass.

πŸ”΅ Traditional SEO

Show up and rank on Google.

  • β€’Title, meta description, H1/H2 hierarchy
  • β€’Core Web Vitals, HTTPS, sitemap
  • β€’Internal links, alt text, E-E-A-T

🟦 AEO (AI search)

Be cited in the AI’s response.

  • β€’AI crawlers allowed in robots.txt
  • β€’llms.txt and direct answer blocks
  • β€’Schema, entity authority, SSR

🧩 Why this is a differentiator

Market SEO tools don’t check whether AI bots can access your site or generate llms.txt. Guides on β€œhow to show up in ChatGPT” rarely measure Core Web Vitals or schema. Whoever delivers both in the same report, without switching tools, offers something the client can't find anywhere else.

2

πŸ€– robots.txt and the invisible block

The most costly failure in AEO is silent: a rule in the robots.txt that blocks an AI crawler. If the GPTBot is prohibited, ChatGPT never indexes your siteβ€”and no one notices because Google traffic stays the same. The skill checks exactly that and marks it as a high priority.

AI crawler access check bash
curl -s "https://DOMINIO/robots.txt" \
  | grep -iE "GPTBot|ClaudeBot|PerplexityBot|GoogleOther|Bytespider|CCBot"

# Se qualquer crawler critico aparecer em "Disallow: /"
# => sinalizar como FIX DE PRIORIDADE ALTA

βœ“ robots.txt that lets AI in

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: PerplexityBot
User-agent: GoogleOther
Allow: /

βœ— The rule that makes AI erase you

User-agent: GPTBot
Disallow: /

# GPTBot nunca le seu site.
# Voce some das respostas do ChatGPT.

⚠️ Attention

Many CMS templates and β€œprivacy” plugins add anti-AI rules by default, thinking they protect the content. The site owner almost never knows. Always start the audit with robots.txt β€” it’s the highest-impact finding and the easiest to fix.

3

πŸ“„ llms.txt: the map for AI

O llms.txt is a machine-readable file at the root of the site that tells AI where to find your authoritative contentβ€”docs, guides, glossary, research. It’s the highest-impact AEO action most websites still haven’t taken. The skill generates the llms.txt e o llms-full.txt ready for deployment.

/docs /guias /glossario llms.txt authority map ChatGPT Perplexity Gemini
llms.txt (skeleton generated by the skill) site root
# {nome_da_marca}

> {descricao_da_marca em uma frase}

## Core Documentation
- [Como funciona](/docs): visao geral do produto

## How-To Guides
- [Primeiros passos](/guias/inicio): tutorial passo a passo

## Definitions & Glossary
- [Glossario](/glossario): termos-chave do setor

## About & Authority
- [Sobre](/sobre): credenciais, equipe, time
- [Imprensa](/imprensa): mencoes e reconhecimento

## Contact
- [Contato](/contato): fale com a equipe

πŸ“Š llms.txt vs llms-full.txt

  • llms.txt β€” the index: links with a one-line description for AI to navigate.
  • llms-full.txt β€” the content: the full text of the key pages, so AI can cite it without having to search.
4

🏷️ Schema markup and response blocks

For the AI extract and cite your content confidently, it needs structure. Two techniques dominate: the schema markup (JSON-LD that describes the page to machines) and the answer block method (question in the H2, direct answer right below).

FAQPage schema (JSON-LD) <script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [{
    "@type": "Question",
    "name": "O que e AEO?",
    "acceptedAnswer": {
      "@type": "Answer",
      "text": "AEO (Answer Engine Optimization) e otimizar
               conteudo para ser citado por IAs como ChatGPT
               e Perplexity, alem do ranqueamento no Google."
    }
  }]
}

πŸ“ The response block method

H2: [question as a heading?]
[direct answer in 1–2 sentences, right after the title]
[3–5 sentences of supporting context]
Β Β β€’ a statistic with a date and source
Β Β β€’ a named entity or case
Β Β β€’ a point of comparison or contrast
Schema Where to use What it's for
OrganizationHomepageEntity recognition
FAQPageContent pagesAI citation
ArticleBlog and guidesE-E-A-T signal
HowToTutorialsExtractable steps
DefinedTermGlossaryTopical authority
JSON-LD
Machine-readable schema.
FAQPage
The most frequently cited schema.
Answer block
Direct answer at the top.
Inverted pyramid
Conclusion before details.
5

πŸ”¬ The Live Audit Flow

When you type audit https://site.com, the skill runs a fixed sequence: finds the core files, checks bot access, detects the schema, and generates the prioritized report. Understanding the workflow is what lets you trust the result β€” and extend it.

1

Search core files

robots.txt, sitemap.xml, the page HTML (title, meta, H1), and the status of the llms.txt. All via curl/web_fetch.

2

Audit AI bot access

Look for GPTBot, ClaudeBot, PerplexityBot in robots.txt. Any critical block becomes a high priority.

3

Audit schema

Extract the blocks application/ld+json of the page and identify which types exist (or whether there are none).

4

Generate the report

Write seo-audit-DOMINIO.md with an executive summary, SEO and AI findings, schema and llms.txt status, and a plan divided into quick wins / medium term / long term.

⚑ Practical tip: competitors running in parallel

For a competitive analysis, trigger parallel subagents β€” one per competitor. Each audits a domain (HTML, schema, llms.txt, robots), and the main agent combines everything into a comparison table. Same skill, multiplied scope.

6

πŸ› οΈ Packaging your auditor

The actual skill is a clear example of progressive disclosure: the SKILL.md stays lean, with a decision tree and a concise playbook, and delegates the details to the references/. The scripts do the heavy lifting.

skill structure seo-aeo-optimization/
seo-aeo-optimization/
β”œβ”€β”€ SKILL.md                    # playbook + arvore de decisao (enxuto)
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ audit.sh                # auditor de site ao vivo
β”‚   └── generate_llms_txt.py    # gerador interativo de llms.txt
└── references/
    β”œβ”€β”€ traditional-seo.md      # checklists tecnicos, Core Web Vitals
    β”œβ”€β”€ ai-seo-aeo.md           # playbook AEO, taticas por plataforma
    └── schema-markup.md        # biblioteca JSON-LD copia-e-cola

🌳 The decision tree inside SKILL.md

request received
β”œβ”€ "audit my site" β†’ live audit flow
β”œβ”€ "create schema markup" β†’ read schema-markup.md β†’ JSON-LD
β”œβ”€ "write llms.txt" β†’ read ai-seo-aeo.md β†’ generate file
β”œβ”€ "analyze competitors" β†’ parallel subagents
└─ general question β†’ answer using the skill's knowledge

πŸ“Š Why SKILL.md stays lean

The body of SKILL.md only needs enough to make a decision which path to follow and trigger the right script. The deep knowledge β€” 15 schema types, all platform-specific tactics β€” lives in the references/, loaded on demand. This keeps the context light and the skill fast.

πŸ“ Module Summary

βœ“
SEO + AEO together β€” one skill covers Google and answer engines in a single pass.
βœ“
robots.txt first β€” the AI crawler block is the most costly finding and the easiest to fix.
βœ“
llms.txt β€” the highest-impact AEO action; the skill generates the ready-to-use files.
βœ“
Schema + response block β€” structure is what makes AI cite with confidence.
βœ“
Progressive disclosure β€” Lean SKILL.md + scripts + references loaded on demand.

🎯 Hands-on exercises

  1. Run the workflow manually on a real site: check robots.txt for GPTBot/ClaudeBot and see whether there is llms.txt.
  2. Write the llms.txt of a fictional site following the skeleton from topic 3.
  3. Create a FAQPage JSON-LD for a pricing page and validate the syntax.
  4. Create a runnable SKILL.md called seo-aeo-audit with a decision tree and a scripts/audit.sh that accepts a URL, checks robots.txt + schema, and writes seo-audit-DOMINIO.md. Test it on a real domain.

Next Module:

5.3 β€” RAG Architect