Saltar al contenido

/ BLOG12 min

Cómo uso Claude Code para auditar SEO de clientes (con prompts reales)

Cómo aprovecho Claude Code en auditorías SEO reales: orquestación de skills, prompts concretos, integración con DataForSEO y Search Console, qué automatizo y qué dejo manual.

  • ia-aplicada-al-seo
  • claude-code
  • automatizacion-seo
  • workflow

Llevo unos meses usando Claude Code —el CLI de Anthropic— como capa central de mi día a día auditando SEO. No es la única herramienta y no sustituye al criterio humano. Pero hay una serie de tareas concretas en las que sí ha cambiado el ritmo.

Este post es lo que hago de verdad, con los prompts reales que uso, qué automatizo y dónde sigo metiendo la mano siempre.

Lo que NO es este post

  • No es «la IA va a sustituir al SEO». No va a hacerlo. Sigue habiendo decisiones de estrategia y de juicio que ningún modelo soluciona.
  • No es venta de Claude vs GPT vs Gemini. Uso Claude porque he construido alrededor un workflow estable, no porque sea el mejor en todo.
  • No es un tutorial de instalación. Asumo que sabes qué es Claude Code (CLI con MCP, skills, agentes, hooks) y que tienes acceso.

Si te interesa el qué y el cómo, sigue. Si quieres una review comparativa, este no es el sitio.

El stack que uso de verdad

  • Claude Code CLI (Anthropic, Opus 4.7 para razonamiento serio; Haiku para tareas baratas).
  • MCPs activos: Context7 (docs frescas), Playwright (browsing), DataForSEO (datos reales SERP, KW, backlinks, LLM mentions), GitHub.
  • Skills propios organizados por verticales: seo-audit-tools, seo-completo, nap-schema-rules, consent-banners-rules, etc.
  • Subagentes para tareas en paralelo independientes (auditoría dependencies + auditoría bugs + auditoría SEO on-page del mismo proyecto a la vez).
  • DataForSEO Python helpers propios para batch que no encajan via MCP.

Caso real 1: auditoría SEO express para nuevo cliente

Llega un despacho que quiere saber qué tan mal está su web antes de contratar nada. Cobro setup pequeño (rango 200-400€ según tamaño) y entrego diagnóstico en 1-2 días.

Workflow real:

Paso 1 — Discovery cliente (manual, 15 min)

URL, sector, ciudad, qué cree el cliente que está mal, qué quiere conseguir. No automatizable porque depende de matiz de la conversación.

Paso 2 — Audit técnica automatizada (Claude + subagentes, 20 min)

Prompt aproximado que uso:

Audita el sitio https://midespacho.es con un enfoque SEO técnico para pyme local en España (sector legal). Lanza en paralelo 3 subagentes:

1. ce-repo-research-analyst → identifica stack, CMS, plugins críticos
2. seo-onpage-reviewer → titles, meta, H1, headings, internal links de las top 10 páginas
3. dep-auditor → CVEs en dependencias si el stack es identificable

Sintetiza en docs/audits/AUDIT_INICIAL.md con tabla priorizada P0/P1/P2/P3.

Claude lanza los 3 agentes, recibe los 3 reports, los consolida en un solo doc. Tardo más en escribir el prompt que en ejecutarlo.

Paso 3 — Datos SERP reales (DataForSEO MCP, 10 min)

Usa DataForSEO para:
- KWs orgánicas actuales de midespacho.es (top 30 por impresiones)
- Top 10 SERP local de "abogado divorcio terrassa" (location_name: "Terrassa,Catalonia,Spain")
- KW suggestions de "abogado divorcio" con KD<30 y volumen>50
- LLM mentions volume para "abogado divorcio" y "como divorciarse"

Consolida en data/research/seo-audit-cliente.md

DataForSEO MCP devuelve datos crudos. Claude los formatea en tabla, identifica las KW oportunidad (KD bajo, volumen interesante, posición actual >20 para el cliente).

Paso 4 — Schema markup audit (Playwright + Claude, 5 min)

Con Playwright:
1. Visita midespacho.es y las top 5 páginas
2. Extrae todos los <script type="application/ld+json">
3. Valida cada uno contra schema.org (no Rich Results Test)
4. Identifica qué Schemas faltan según el tipo de página
5. Reporta en docs/audits/AUDIT_SCHEMA.md

Playwright + Claude detectan que el sitio usa LocalBusiness genérico en vez de LegalService (problema típico de despachos), que falta FAQPage en página de contacto que sí tiene FAQ visible, y que no hay hasOfferCatalog con servicios desglosados.

Paso 5 — Síntesis humana (manual, 30 min)

Aquí entro yo. Leo los 3 docs generados, los cruzo con la conversación con cliente del paso 1, y escribo el entregable final en formato PDF profesional. Decisiones de prioridad, qué hacer primero según presupuesto del cliente, qué evitar.

Tiempo total: ~90 min de mi tiempo (vs 6-8h de hacerlo todo a mano antes). Coste API: ~3-5€ por auditoría (Claude + DataForSEO combinados). Output: mismo nivel de calidad o superior — los subagentes en paralelo cubren más superficie que yo solo.

Caso real 2: generar Schema markup desde cero para una web nueva

Cliente con web Next.js nueva, sin Schema, necesita LegalService + FAQPage + Article para blog + Service por cada servicio listado.

Lee la web https://elcliente.es completa con Playwright.
Para cada tipo de página identificada (home, servicios, posts blog, contacto):
1. Determina el Schema correcto (consultando schema.org)
2. Genera el JSON-LD adaptado al contenido REAL de esa página
3. Valida que es JSON parseable
4. Guarda cada uno en app/[locale]/<ruta>/schema.json
5. Genera un commit con todos los JSON-LD y una nota en docs/schema/CHANGELOG.md

Claude tarda ~15 min en hacer toda la web. Después yo reviso cada Schema en 30 min, ajusto algunos campos manualmente. Total 45 min vs 4-6h.

Caso real 3: respuestas masivas a reseñas

Cliente con 80+ reseñas Google sin responder de los últimos 6 meses.

Lee las reseñas no respondidas de https://www.google.com/maps/place/midespacho/.
Para cada una, genera respuesta personalizada:
- Tono profesional + cercano
- Menciona detalle específico que mencionó el cliente (servicio, momento, satisfacción)
- Si es negativa: disculpa primero, propuesta de resolución privada
- No copia-pega entre reseñas
- Máximo 4 líneas
- Output en CSV: review_id, autor, fecha, score, texto_original, respuesta_propuesta

Yo reviso cada respuesta antes de publicarla (no auto-publish). Aproximadamente el 85% las dejo tal cual, el 15% ajusto detalles. Tiempo: 30 min para revisar y publicar 80 vs 4-5h escribiéndolas yo.

Lo que sí automatizo

  • Audits técnicas iniciales (subagentes en paralelo).
  • Extracción y validación de Schema markup (Playwright + validación).
  • Keyword research masivo (DataForSEO MCP + filtros).
  • Generación de borradores Schema para páginas nuevas.
  • Respuestas a reseñas masivas (con revisión humana siempre).
  • Validación de NAP coherente cruzando web vs GBP vs directorios.
  • Detección de canibalización entre URLs (queries Search Console + cluster analysis).
  • Monitorización de citas IA (búsqueda mensual disciplinada en ChatGPT, Perplexity, AI Overviews).

Lo que sigo haciendo a mano

  • Discovery inicial con cliente. El matiz, lo que se intuye, no se transcribe a prompt.
  • Decisión de estrategia. Qué priorizar, qué descartar — depende del contexto del cliente, su presupuesto, su sector.
  • Síntesis final del informe. Los datos los genera la IA, la narrativa la pongo yo.
  • Negociación y propuesta. Cero IA en la conversación comercial.
  • Casos sensibles legalmente (despachos con clientes en procesos delicados): cero IA en el copy final.

Prompts que sí guardo y reuso

He empaquetado los prompts más estables como skills propios. Cada skill tiene:

  1. Descripción de cuándo invocarlo (CSO format: condiciones + síntomas + triggers ES+EN).
  2. Inputs esperados.
  3. Output esperado (path + formato).
  4. Steps numerados.

Ejemplos públicos en mi GitHub (link al final). Algunos:

  • seo-audit-tools/ — audit técnica con subagentes paralelos.
  • nap-schema-rules/ — constraint MUST-level para Schema local y NAP coherente.
  • consent-banners-rules/ — GA4 Consent Mode v2 + cookies España.
  • copywriting-web-espana/ — generación copy adaptado a tono ES PYME.
  • humanizer-es/ — quita el tufo IA del copy generado.

El truco no es el prompt, es el workflow

Mucha gente cree que el valor de la IA en SEO está en escribir buenos prompts. No es eso. El valor está en:

  1. Diseñar el workflow (qué tareas + en qué orden + con qué herramientas).
  2. Empaquetar el workflow como skill o como script ejecutable, no como prompt ad-hoc cada vez.
  3. Decidir dónde la IA aporta (datos, batch, validación, draft inicial) y dónde NO (síntesis estratégica, decisión humana, negociación).
  4. Medir el coste real (tiempo ahorrado vs coste API vs calidad de output) y descartar lo que no compensa.

Una auditoría con buen workflow puede entregarse al cliente en 1/4 del tiempo que llevaba hace 18 meses, con la misma o más calidad. Pero eso requiere construir y mantener el workflow, no es plug-and-play.

Coste real

Datos de mi mes pasado (auditorías + maintenance clientes):

  • Claude API: ~80€/mes (Opus 4.7 + Haiku combinados).
  • DataForSEO API: ~120€/mes (variable según consultas).
  • Playwright (Bright Data backend): ~30€/mes.
  • Total infra IA: ~230€/mes.

Para contexto, eso equivale aproximadamente al coste hora de un junior. Con Claude Code el output que produzco yo equivale al de un junior trabajando 60h/semana extras.

Cómo empezar mañana

Si quieres replicar parte de esto:

  1. Instala Claude Code CLI. Documentación oficial: https://docs.claude.com/en/docs/claude-code.
  2. Activa MCPs core: DataForSEO (esencial para SEO), Playwright (para auditorías), Context7 (docs frescas).
  3. Construye 1 skill propio que resuelva una tarea repetitiva tuya. Empieza por la más aburrida y mecánica de tu día.
  4. Mide: tiempo antes vs tiempo después. Si no ahorra al menos 50%, el skill está mal diseñado.
  5. Itera: los primeros skills siempre son brutos. La versión 3 suele ser la útil.

Si te interesa cómo aplico esto en proyectos cliente reales, lo cubro en mi servicio de auditoría SEO y en el SEO técnico mensual. El Taller con herramientas IA propias está en desarrollo (Q3 2026).

[[ ¿TE RESULTA ÚTIL? ]]

Hablemos de tu proyecto.

Diagnóstico inicial de 30 min sin compromiso. Te digo qué veo y si tiene sentido que trabajemos juntos. Sin packs cerrados.

Contactar →

[ SEGUIR LEYENDO ]

Cómo uso Claude Code para auditar SEO de clientes (con prompts reales) — Jesús Porres · Jesús Porres