Evaluamos sitios web en SEO clásico y preparación para la búsqueda con IA mediante un algoritmo abierto. Cada comprobación tiene un identificador fijo, la fórmula de la nota está publicada en esta página, y cada recomendación de IA se apoya en comprobaciones concretas. Sin caja negra ni métricas inventadas.
Qué es GEO y por qué lo medimos
GEO (Optimización para Motores Generativos) es la disciplina de hacer que el contenido sea descubrible, analizable y citable por sistemas de búsqueda de IA: ChatGPT, Perplexity, Google AI Overviews, Claude, Gemini. El SEO tradicional te posiciona en una lista de enlaces; GEO hace que te citen en la respuesta.
- Acceso de rastreadores de IA (GPTBot, ClaudeBot, PerplexityBot) — realmente probado, no solo inferido de robots.txt
- Recomendaciones fuera de la nota: respuesta al inicio de la página y datos citables (números anclados en oraciones reales)
- Datos estructurados: la sintaxis y los valores del JSON-LD se califican en la categoría schema; el schema Organization y los enlaces sameAs son recomendaciones fuera de la nota
- Presencia y calidad de llms.txt
Cómo se calcula la nota
La nota A–F cuenta 52 de 92 comprobaciones. Parte de 100 y pierde puntos por cada error medido, según la tabla de abajo. Las comprobaciones superadas no suman; una comprobación que no se pudo medir ni suma ni resta. Las cabeceras de seguridad restan como máximo 8 puntos en total y la accesibilidad como máximo 6; la falta de HTTPS, http sin redirección a https y el contenido mixto se restan aparte, sin límite. Cualquier error crítico (la página está cerrada con noindex, robots.txt bloquea la página o todo el sitio, todo el sitio solo funciona por http, la mitad o más de las páginas revisadas no abren, con al menos 5 páginas revisadas) limita la nota a D (49). Un armazón vacío de aplicación JavaScript sin texto en su HTML también se limita a D (49): casi nada se pudo medir. Una misma causa cuenta una sola vez, por la comprobación más grave. Si se pudo medir menos del 60 % de las comprobaciones de la nota, el robots.txt no nos llegó o la mitad o más de las demás páginas del sitio no dieron datos (al menos 3 páginas, o todas), la nota no pasa de C (69) y el informe lo indica. Escala: A desde 90, B 70–89, C 50–69, D 30–49, F menos de 30.
| Categoría | Verificaciones en la nota |
|---|
| Technical SEO | 19 |
| Security | 11 |
| On-Page SEO | 8 |
| Accessibility | 7 |
| Structured Data | 4 |
| AI Search (GEO) | 2 |
| Images | 1 |
| Total | 52 |
Puntos que resta cada error
| Gravedad | Puntos |
|---|
| Crítico | −40 |
| Alto | −12 |
| Medio | −5 |
| Bajo | −2 |
| Aviso | la mitad |
Estas categorías ejecutan comprobaciones, pero solo dan recomendaciones que no afectan a la nota: Content, Performance, Frontend.
Indicaciones de IA: cómo las fundamentamos
Cada viñeta generada por IA — en el resumen, en el informe para desarrolladores, en el plan de acción — debe hacer referencia al menos a un ID de verificación real con su estado, por ejemplo, tech.canonical (FAIL) o schema.faq (MISSING). Se instruye al modelo para que cite el título actual real, la meta descripción actual y los encabezados reales de la página auditada, no que sintetice consejos genéricos.
Después de que el modelo responda, validamos la salida en busca de referencias fundamentadas. Si un resumen no cita ningún hallazgo real, lo reintentamos una vez con instrucciones más estrictas. Preferimos enviar una frase ligeramente menos pulida que una alucinación segura.
¿Qué tan estables son los resultados?
Cada comprobación es una función pura de los datos recogidos: con el mismo rastreo devuelve siempre el mismo resultado. Lo que cambia entre ejecuciones es la entrada: su sitio, la medición de PageSpeed Insights y la disponibilidad de las fuentes externas que consultamos durante el rastreo.
Las auditorías repetidas del mismo sitio pueden variar un poco: entre ejecuciones cambian el propio sitio y la red (respuestas del servidor, errores, tiempos de espera), así que una puntuación cerca del límite de una nota puede moverse una letra. Las métricas de rendimiento (LCP, CLS, INP) proceden de Google PageSpeed Insights y reflejan mediciones en tiempo real; no forman parte de la puntuación. Los textos de IA (resumen, briefing para desarrollador, plan de 30 días) se generan con temperature 0: los mismos hechos, identificadores y recomendaciones aparecen siempre, pero DeepSeek no es determinista byte a byte, así que la redacción puede variar en unas palabras.
Lo que no hacemos
- No rastreamos posiciones en Google: la posición de palabras clave es altamente volátil y dependiente de la ubicación
- No inventamos una 'autoridad de dominio' o 'puntaje de confianza' propietario: esos números son sensaciones, no señales
- No extraemos datos de competidores ni obtenemos información de APIs SaaS de terceros por las que no pagas
- No prometemos aumentos de tráfico ni posicionamiento. Prometemos diagnósticos transparentes y correcciones listas para copiar y pegar
- No cambiamos la fórmula de la nota en silencio, sin actualizar esta página
Las 92 verificaciones
Cada verificación que se ejecuta en tu sitio, agrupada por categoría. La severidad es la máxima que puede recibir un hallazgo de esta verificación en la nota; un hallazgo concreto puede ser más leve: por ejemplo, un error en parte de las páginas pesa menos que en todas. «Opcional» es una recomendación fuera de la nota.
Technical SEO22 verificaciones
- site.broken-linksCríticobroken links
- site.sitemap-completenessAltositemap completeness
- tech.canonicalMediocanonical
- tech.canonical-correctnessAltocanonical correctness
- tech.hreflang-reciprocalMediohreflang reciprocal
- tech.httpsCríticohttps
- tech.indexnowOpcionalindexnow
- tech.llms-txtOpcionalllms txt
- tech.noindex-checkCríticonoindex check
- tech.redirect-chainAltoredirect chain
- tech.robots-allows-css-jsAltorobots allows css js
- tech.robots-noindexCríticorobots noindex
- tech.robots-txtAltorobots txt
- tech.sitemap-in-robotsBajositemap in robots
- tech.sitemap-xmlMediositemap xml
- tech.snippet-controlsAltosnippet controls
- tech.soft-404Mediosoft 404
- tech.ssr-readinessMediossr readiness
- tech.trailing-slashMediotrailing slash
- tech.url-cleanOpcionalurl clean
- tech.www-redirectMediowww redirect
- tech.xml-sitemap-validMedioxml sitemap valid
On-Page SEO13 verificaciones
- i18n.hreflang-sitewideMediohreflang sitewide
- i18n.hreflang-validationMediohreflang validation
- onpage.anchor-text-varietyOpcionalanchor text variety
- onpage.h1-existsAltoh1 exists
- onpage.heading-hierarchyOpcionalheading hierarchy
- onpage.internal-linksOpcionalinternal links
- onpage.meta-description-existsAltometa description exists
- onpage.og-tagsBajoog tags
- onpage.og-url-canonicalOpcionalog url canonical
- onpage.title-existsAltotitle exists
- onpage.title-lengthOpcionaltitle length
- site.metadata-consistencyMediometadata consistency
- site.title-uniquenessMediotitle uniqueness
Content4 verificaciones
- content.about-pageOpcionalabout page
- content.author-presentOpcionalauthor present
- content.date-modifiedOpcionaldate modified
- content.date-publishedOpcionaldate published
Performance6 verificaciones
- perf.clsOpcionalcls
- perf.fcpOpcionalfcp
- perf.gzipOpcionalgzip
- perf.lcpOpcionallcp
- perf.tbtOpcionaltbt
- perf.ttfbOpcionalttfb
Structured Data13 verificaciones
- geo.sameas-linksOpcionalsameas links
- schema.articleOpcionalarticle
- schema.breadcrumbOpcionalbreadcrumb
- schema.breadcrumb-validBajobreadcrumb valid
- schema.deprecated-typesOpcionaldeprecated types
- schema.has-jsonldBajohas jsonld
- schema.local-businessOpcionallocal business
- schema.organizationOpcionalorganization
- schema.page-type-coverageOpcionalpage type coverage
- schema.review-ratingOpcionalreview rating
- schema.software-appOpcionalsoftware app
- schema.valid-syntaxBajovalid syntax
- schema.value-qualityBajovalue quality
Security13 verificaciones
- sec.csp-headerBajocsp header
- sec.hstsBajohsts
- sec.https-redirectAltohttps redirect
- sec.no-mixed-contentAltono mixed content
- sec.permissions-policyBajopermissions policy
- sec.referrer-policyBajoreferrer policy
- sec.secure-cookiesOpcionalsecure cookies
- sec.server-headerBajoserver header
- sec.sri-integrityOpcionalsri integrity
- sec.x-content-typeBajox content type
- sec.x-frame-optionsBajox frame options
- sec.x-powered-byBajox powered by
- sec.x-xss-protectionBajox xss protection
Accessibility10 verificaciones
- a11y.aria-rolesBajoaria roles
- a11y.doc-titleBajodoc title
- a11y.form-labelsBajoform labels
- a11y.heading-orderOpcionalheading order
- a11y.lang-attrBajolang attr
- a11y.link-textBajolink text
- a11y.semantic-htmlOpcionalsemantic html
- a11y.skip-navigationOpcionalskip navigation
- a11y.table-headersBajotable headers
- a11y.video-captionsBajovideo captions
Images2 verificaciones
- img.alt-allAltoalt all
- img.decorative-altOpcionaldecorative alt
AI Search (GEO)6 verificaciones
- brand.name-consistencyBajoname consistency
- geo.ai-crawler-accessAltoai crawler access
- geo.answer-firstOpcionalanswer first
- geo.citable-factsOpcionalcitable facts
- geo.llms-txtOpcionalllms txt
- geo.llms-txt-qualityOpcionalllms txt quality
Frontend3 verificaciones
- fe.charsetOpcionalcharset
- fe.doctypeOpcionaldoctype
- fe.faviconOpcionalfavicon