Auditoria SEO de Contenido
Realiza auditorías SEO completas para mejorar el rendimiento de páginas web.
Proposito de la skill
Auditar SEO de una pagina o web a fondo, cubriendo SEO on-page, calidad de contenido (E-E-A-T), analisis de keywords, SEO tecnico y estrategia de contenido. Combina analisis automatico via scripts/analizar_pagina.py con revision experta manual para producir una auditoria SEO accionable.
Cuando usarla
- El usuario facilita una URL y pide analisis SEO, auditoria o recomendaciones
- El usuario quiere mejorar rankings y trafico organico
- El usuario pregunta por SEO on-page, meta tags, calidad de contenido o SEO tecnico
- El usuario quiere analisis de gaps de contenido o recomendaciones de estrategia
- Se activa con
/marketing seo <url>o/marketing seo
Como ejecutarla
Paso 1: Ejecutar el analisis automatico
Usa el script Python para obtener la data base:
python3 scripts/analizar_pagina.py <url>
Extrae:
- Title tag y meta description
- Open Graph tags
- Jerarquia de headings (H1-H6)
- Enlaces (internos y externos)
- Imagenes y estado de alt text
- Formularios y CTAs
- Schema / structured data
- Social links
- Scripts de tracking
- Viewport meta (indicador mobile-friendly)
- Canonical tag
- Directivas de robots meta
Captura el JSON y usalo como base del analisis manual.
Paso 2: Checklist SEO on-page
Evalua cada elemento como Pass, A mejorar o Fail.
Title Tag
| Criterio | Best practice | Resultado |
|---|---|---|
| Existe | Cada pagina debe tener title unico | Pass/Fail |
| Longitud | 50-60 caracteres (no se corta en SERPs) | Pass/Amejorar/Fail |
| Keyword principal | Incluye la keyword target | Pass/Amejorar/Fail |
| Posicion del keyword | Al principio del title | Pass/Amejorar/Fail |
| Marca | Incluye nombre de marca (normalmente al final, separado por pipe o guion) | Pass/Amejorar/Fail |
| Unico | Distinto al de otras paginas | Pass/Fail |
| Atractivo | Querria el usuario hacer click? | Pass/Amejorar/Fail |
Errores habituales en title:
- Demasiado largo (truncado en SERP)
- Sin keyword principal
- Keyword stuffing ("Mejor SEO | Top SEO | Software SEO | Plataforma SEO")
- Mismo title en varias paginas
- Titles genericos ("Inicio", "Bienvenido", "Pagina 1")
- Sin marca
Meta Description
| Criterio | Best practice | Resultado |
|---|---|---|
| Existe | Cada pagina debe tener meta description | Pass/Fail |
| Longitud | 150-160 caracteres | Pass/Amejorar/Fail |
| Keyword principal | Incluida de forma natural | Pass/Amejorar/Fail |
| Call to action | Da razon para clicar | Pass/Amejorar/Fail |
| Unica | Distinta a la de otras paginas | Pass/Fail |
| Compelling | Funciona como ad copy del resultado | Pass/Amejorar/Fail |
Jerarquia de headings (H1-H6)
| Criterio | Best practice | Resultado |
|---|---|---|
| H1 existe | Exactamente un H1 por pagina | Pass/Fail |
| H1 con keyword | Keyword principal en el H1 | Pass/Amejorar/Fail |
| H1 difiere del title | Relacionados pero distintos | Pass/Amejorar/Fail |
| Jerarquia logica | H2 bajo H1, H3 bajo H2 (sin saltos) | Pass/Amejorar/Fail |
| Subtitulos descriptivos | H2s y H3s describen bien las secciones | Pass/Amejorar/Fail |
| Keywords en subtitulos | Secundarias aparecen de forma natural | Pass/Amejorar/Fail |
| Uso adecuado | Headers para estructura, no para estilo | Pass/Amejorar/Fail |
Optimizacion de imagenes
| Criterio | Best practice | Resultado |
|---|---|---|
| Alt text | Cada imagen con alt descriptivo | Pass/Amejorar/Fail |
| Calidad del alt text | Alt describe la imagen e incluye keywords de forma natural | Pass/Amejorar/Fail |
| Nombres de archivo | Descriptivos (no IMG_001.jpg) | Pass/Amejorar/Fail |
| Tamano de archivo | Optimizadas para web (preferible WebP, comprimidas) | Pass/Amejorar/Fail |
| Lazy loading | Imagenes below-fold con lazy loading | Pass/Amejorar/Fail |
| Imagenes responsive | Usa srcset o picture para tamanos distintos | Pass/Amejorar/Fail |
| Decorativas | alt="" vacio en decorativas (no alt ausente) | Pass/Amejorar/Fail |
Linking interno
| Criterio | Best practice | Resultado |
|---|---|---|
| Enlaces internos presentes | La pagina enlaza a otras relevantes | Pass/Amejorar/Fail |
| Anchor text | Descriptivo (no "click aqui") | Pass/Amejorar/Fail |
| Deep linking | Enlazan a paginas concretas, no solo home | Pass/Amejorar/Fail |
| Contexto relevante | Enlaces contextualmente relevantes | Pass/Amejorar/Fail |
| Cantidad razonable | 3-10 enlaces internos por 1.000 palabras | Pass/Amejorar/Fail |
| Sin rotos | Sin 404s internos | Pass/Fail |
Estructura de URL
| Criterio | Best practice | Resultado |
|---|---|---|
| Legible | URL humana y descriptiva | Pass/Amejorar/Fail |
| Keywords | URL con keywords relevantes | Pass/Amejorar/Fail |
| Longitud | Menos de 75 caracteres (ideal <60) | Pass/Amejorar/Fail |
| Guiones | Palabras separadas por guiones (no underscores) | Pass/Fail |
| Minusculas | Todo en minusculas | Pass/Fail |
| Sin parametros | URLs limpias sin parametros innecesarios | Pass/Amejorar/Fail |
| Slashes finales | Uso consistente (siempre o nunca) | Pass/Amejorar/Fail |
Paso 3: Evaluacion de calidad del contenido (E-E-A-T)
Evalua el contenido contra el framework E-E-A-T de Google:
Experience (experiencia de primera mano)
El contenido demuestra experiencia real con el tema?
Busca:
- Anecdotas personales, casos reales, ejemplos propios
- Capturas, fotos o prueba de experiencia hands-on
- Detalles que solo alguien con experiencia conoce
- Contenido tipo "hice X y esto fue lo que paso"
Score: Fuerte / Presente / Debil / Ausente
Expertise (experiencia demostrada)
El autor tiene conocimiento demostrable?
Busca:
- Bio del autor con credenciales relevantes
- Profundidad de contenido (sin superficialidad)
- Informacion y datos precisos
- Terminologia del sector bien usada
- Enlaces a fuentes autorizadas
Score: Fuerte / Presente / Debil / Ausente
Authoritativeness (autoridad)
Se reconoce a la web/autor como autoridad en el tema?
Busca:
- Bylines con nombres reales y bio
- Pagina About con background de la empresa
- Premios o certificaciones del sector
- Backlinks de sitios de autoridad
- Menciones en medios
- Guest posts en publicaciones del sector
Score: Fuerte / Presente / Debil / Ausente
Trustworthiness (confianza)
Se puede confiar en el contenido y la web?
Busca:
- HTTPS
- Politica de privacidad y terminos
- Direccion fisica y contacto
- Resenas y testimonios
- Badges de seguridad y certificaciones
- Practicas empresariales transparentes
- Informacion precisa y actualizada
- Claims citados con fuentes correctas
Score: Fuerte / Presente / Debil / Ausente
Paso 4: Analisis de keywords
Keyword principal
| Elemento | Evaluacion |
|---|---|
| Keyword principal identificada | Que keyword persigue esta pagina? |
| Intent alineado | El contenido responde a lo que busca el usuario? (informacional, comercial, transaccional, navegacional) |
| Keyword en title | Presencia, posicion, uso natural |
| Keyword en H1 | Presencia, uso natural |
| Keyword en primeras 100 palabras | Aparece pronto en el contenido |
| Keyword en subtitulos | Al menos en un H2 o H3 |
| Keyword en meta description | Presente y natural |
| Keyword en URL | Presente |
| Densidad | 1-2% ideal. Mas del 3% es stuffing. |
Keywords secundarias
Identifica 5-10 relacionadas que deberian aparecer de forma natural:
- Sinonimos y variantes
- Long-tail
- Preguntas relacionadas (People Also Ask)
- LSI (indexado semantico latente)
Intent de busqueda
Determina el intent y valida que el contenido lo responde:
| Tipo | Objetivo del usuario | Contenido apropiado |
|---|---|---|
| Informacional | Aprender algo | Blog post, guia, tutorial, FAQ |
| Comercial | Comparar opciones | Comparativa, resena, lista |
| Transaccional | Comprar | Pagina de producto, pricing, checkout |
| Navegacional | Ir a una pagina | Home, login, pagina concreta |
El misalignment es un ranking killer. Si el usuario busca "como hacer X" (informacional) y aterriza en pagina de venta (transaccional), rebota — y Google lo ve.
Paso 5: Check rapido de SEO tecnico
Robots.txt
Check: existe /robots.txt y esta bien configurado?
- robots.txt accesible
- No bloquea paginas o recursos importantes
- Apunta a sitemap.xml
- No bloquea CSS/JS (necesarios para render)
XML Sitemap
Check: existe /sitemap.xml?
- Sitemap accesible
- Contiene todas las paginas importantes
- Sin URLs rotas
- Enviado a Google Search Console
- Fechas de modificacion correctas
Canonical tags
- Canonical en la pagina
- Apunta a la URL correcta (self-referencing o canonica)
- Consistente con robots.txt y sitemap
Velocidad de pagina
Benchmarks:
| Metrica | Bueno | A mejorar | Malo |
|---|---|---|---|
| Largest Contentful Paint (LCP) | <2,5s | 2,5-4,0s | >4,0s |
| First Input Delay (FID) | <100ms | 100-300ms | >300ms |
| Cumulative Layout Shift (CLS) | <0,1 | 0,1-0,25 | >0,25 |
| Time to First Byte (TTFB) | <200ms | 200-500ms | >500ms |
| First Contentful Paint (FCP) | <1,8s | 1,8-3,0s | >3,0s |
Problemas habituales de velocidad a marcar:
- Imagenes sin optimizar (recomienda WebP, compresion)
- JS o CSS render-blocking
- Sin cache de navegador
- Sin CDN detectada
- Exceso de scripts de terceros (tracking, widgets, fuentes)
- CSS y JS sin minificar
- Sin compresion (gzip o brotli)
Mobile-friendliness
- Viewport meta presente (
<meta name="viewport" content="width=device-width, initial-scale=1">) - Texto legible sin zoom (16px minimo en body)
- Tap targets adecuados (minimo 48x48px)
- Sin scroll horizontal
- Imagenes responsive
- Formularios usables en movil
Paso 6: Analisis de gaps de contenido
Metodologia:
- Identifica el cluster tematico: cual es el tema principal?
- Mapea contenido existente: que subtemas ya cubre?
- Detecta subtemas ausentes: que cubren los competidores que tu no?
- Analiza People Also Ask: que preguntas hace la gente?
- Revisa busquedas relacionadas: que sugiere Google al pie del SERP?
Plantilla de gaps:
| Tema ausente | Volumen potencial | Competencia | Tipo de contenido | Prioridad |
|---|---|---|---|---|
| [Tema] | Alto/Medio/Bajo | Alta/Media/Baja | Blog/Guia/Tool/Pagina | 1-5 |
Paso 7: Optimizacion para featured snippets
Oportunidades para capturar featured snippets:
Tipos:
- Parrafo — respuesta en 40-60 palabras. Pregunta clara en H2/H3 seguida de respuesta concisa.
- Lista — lista ordenada o desordenada con H2 que contiene la query.
- Tabla — tablas HTML con headers claros.
- Video — video con titulo descriptivo y timestamps.
Checklist:
- Ataca queries tipo pregunta ("como", "que es", "por que")
- Respuesta justo despues del heading
- Respuestas-parrafo entre 40-60 palabras
- Usa listas y tablas estructuradas cuando aplica
- Query objetivo en H2 o H3
Paso 8: Auditoria de schema markup
| Tipo de schema | Aplicable a | Estado |
|---|---|---|
| Organization | Home, About | Presente/Ausente |
| LocalBusiness | Negocios locales | Presente/Ausente/NA |
| Product | Paginas de producto | Presente/Ausente/NA |
| Article | Blog, noticias | Presente/Ausente/NA |
| FAQ | Secciones FAQ | Presente/Ausente |
| HowTo | Tutoriales | Presente/Ausente/NA |
| Review/AggregateRating | Resenas, testimonios | Presente/Ausente/NA |
| BreadcrumbList | Paginas con migas | Presente/Ausente |
| WebSite/SearchAction | Home (sitelinks search box) | Presente/Ausente |
| Event | Paginas de eventos | Presente/Ausente/NA |
Guia:
- Usa JSON-LD (formato preferido por Google)
- Valida con Google Rich Results Test
- No marques contenido invisible
- Mantenlo consistente con lo visible en pagina
Paso 9: Oportunidades de linking interno
- Paginas huerfanas — sin enlaces internos apuntando a ellas
- Hub pages — paginas con autoridad que deberian enlazar a contenido relacionado
- Clusters tematicos — agrupa contenido relacionado y crea estructura de linking
- CTA links — contenido de blog que enlaza a paginas de producto/servicio
- Footer/sidebar — enlaces sitewide a paginas importantes
Arquitectura de linking:
Home
|-- Paginas de categoria/servicio (pillar content)
|-- Posts/articulos concretos (cluster content)
|-- Enlaces de vuelta al pillar
|-- Paginas clave de conversion (pricing, signup, contacto)
|-- Enlazadas desde contenido relevante
Paso 10: Impacto de Core Web Vitals
Impacto en ingresos de Core Web Vitals:
Impactos respaldados por data:
- Webs que pasan todos los Core Web Vitals tienen 24% menos abandonos
- Reducir LCP 100ms correlaciona con +1,1% en CR
- Reducir CLS en 0,1 correlaciona con -15% de bounce rate
- Paginas que cargan en <2s tienen bounce rate medio del 9%; en 5s, del 38%
Recomendaciones por metrica:
| Metrica | Si falla | Fixes tipicos |
|---|---|---|
| LCP | >2,5s | Optimizar hero image, preload de recursos criticos, CDN, reducir TTFB |
| FID/INP | >100ms | Reducir ejecucion de JS, diferir scripts no criticos, web workers |
| CLS | >0,1 | Fijar dimensiones de imagenes, reservar espacio para ads/embeds, no meter contenido sobre existente |
Paso 11: Estrategia de contenido y blog
Segun los hallazgos, recomienda:
- Cadencia de publicacion — con que frecuencia segun competencia y recursos
- Tipos de contenido — blog, guias, tools, videos, infografias
- Estrategia de targeting de keywords — balance entre volumen alto y long-tail
- Longitud de contenido — benchmark contra el contenido top-rank del keyword
- Estrategia de actualizacion — con que frecuencia refrescar existente
- Plan de distribucion — como promocionar mas alla de organico
Matriz de priorizacion de contenido:
| Idea | Volumen | Competencia | Valor de negocio | Score de prioridad |
|---|---|---|---|---|
| [Tema] | Alto/Medio/Bajo | Alto/Medio/Bajo | Alto/Medio/Bajo | 1-10 |
Scoring: alto volumen + baja competencia + alto valor de negocio = prioridad maxima
Formato de salida
Genera un archivo AUDITORIA-SEO.md con esta estructura:
# Auditoria SEO de Contenido
## [URL]
### Fecha: [Fecha]
---
## SEO Health Score: [X/100]
---
## Checklist SEO on-page
### Title Tag
- Estado: [Pass/Amejorar/Fail]
- Actual: "[title actual]"
- Recomendado: "[title mejorado]"
- Issues: [lista de problemas]
### Meta Description
- Estado: [Pass/Amejorar/Fail]
- Actual: "[meta actual]"
- Recomendada: "[meta mejorada]"
### Jerarquia de headings
[Analisis de estructura H1-H6]
### Optimizacion de imagenes
[Resultados de auditoria de alt text]
### Linking interno
[Analisis de enlaces]
### Estructura de URL
[Assessment]
---
## Calidad de contenido (E-E-A-T)
| Dimension | Score | Evidencia |
| ----------------- | ------------------------------- | --------- |
| Experience | [Fuerte/Presente/Debil/Ausente] | [detalle] |
| Expertise | [Fuerte/Presente/Debil/Ausente] | [detalle] |
| Authoritativeness | [Fuerte/Presente/Debil/Ausente] | [detalle] |
| Trustworthiness | [Fuerte/Presente/Debil/Ausente] | [detalle] |
---
## Analisis de keywords
- Keyword principal: [keyword]
- Intent: [tipo]
- Ubicacion de keyword: [resultados del checklist]
- Keywords secundarias: [lista]
---
## SEO tecnico
[Resultados del check]
---
## Analisis de gaps de contenido
[Tabla de temas ausentes]
---
## Oportunidades de featured snippet
[Oportunidades concretas]
---
## Schema markup
[Actual vs recomendado]
---
## Oportunidades de linking interno
[Recomendaciones concretas]
---
## Core Web Vitals
[Assessment con impacto en ingresos]
---
## Recomendaciones de estrategia de contenido
[Plan de publicacion, prioridades]
---
## Recomendaciones priorizadas
### Criticas (fix inmediato)
1. [recomendacion con impacto esperado]
### Alta prioridad (este mes)
1. [recomendacion]
### Media prioridad (este trimestre)
1. [recomendacion]
### Baja prioridad (cuando haya recursos)
1. [recomendacion]
Principios clave
- Las auditorias SEO deben ser educativas, no solo diagnosticas. Explica POR QUE importa cada elemento.
- Aporta siempre "antes" (estado actual) y "despues" (cambio recomendado) para que el cliente vea exactamente que cambiar.
- Ata las mejoras SEO a outcomes de negocio. "Optimizar tu title tag" no le dice nada a un dueno de negocio. "Optimizar tu title tag puede subir el CTR 20-35%, lo que son ~500 visitas extra al mes a esta pagina" si.
- Usa la data del script como punto de partida, pero anade analisis experto encima. El script encuentra los datos; la skill interpreta lo que significan.
- Prioriza por ratio esfuerzo-impacto. Cambiar un title es 5 minutos y afecta a cada impresion. Reescribir contenido son semanas.
- Si el usuario ejecuto
/marketing auditoriao/marketing landing, cruza los hallazgos para un analisis mas completo.
Nota contexto mercado hispanohablante: el analisis funciona en cualquier idioma. En Espana B2B, priorizamos conversion sobre SEO organico en el scoring general.