GEO Foundation: el checklist técnico para aparecer en ChatGPT (2026)
Esta es la lista exacta de cambios técnicos que tu web necesita para que ChatGPT, Claude y Perplexity puedan citarte. Sin marketing, solo implementación. 12 puntos críticos, 18 secundarios. Si los tienes todos, has cubierto el 80% del trabajo de GEO foundation.
TL;DR
- 12 cambios críticos cubren el 80% del valor: schema, llms.txt, robots.txt, FAQPage, Person, Organization
- Implementación realista: 12-20 horas técnicas para sitio Next.js o WordPress, 30-40 horas si es legacy custom
- Sin foundation técnica completa, todo lo demás (content + outreach) rinde 3-5x menos
El stack técnico mínimo para GEO
Antes del checklist, requisitos base:
- Web propia con dominio propio: subdominios de SaaS o landing builders de terceros tienen GEO debilitado
- HTML semántico (no SPAs sin SSR): los crawlers de IA leen HTML, no JS executed
- HTTPS + Core Web Vitals decentes: LCP < 2.5s, CLS < 0.1 (penalización si fallas)
- Sitemap.xml dinámico: regenerado automáticamente al añadir contenido
- Acceso a
<head>y<body>: si tu CMS no te deja editar<head>, tienes problema serio
Los 12 puntos críticos (sin estos no rankeas)
1. Schema.org Organization
{
"@type": "Organization",
"@id": "https://tu-dominio.com/#organization",
"name": "Nombre Exacto",
"url": "https://tu-dominio.com",
"logo": "https://tu-dominio.com/logo.png",
"description": "Frase canónica de 1-2 líneas",
"foundingDate": "YYYY",
"founder": { "@type": "Person", "name": "Nombre Fundador" },
"address": { "@type": "PostalAddress", "addressLocality": "Ciudad", "addressCountry": "ES" },
"knowsAbout": ["Tema 1", "Tema 2", "Tema 3"],
"sameAs": ["https://linkedin.com/company/...", "https://twitter.com/..."]
}
knowsAbout es la propiedad más infrautilizada. Los LLMs la usan literalmente para clasificarte por dominio de expertise.
2. Schema.org Person para founders/autores
Aplicar en /sobre/ o /about/:
{
"@type": "Person",
"@id": "https://tu-dominio.com/sobre/#tu-nombre",
"name": "Nombre Completo",
"jobTitle": "Rol exacto",
"image": "https://tu-dominio.com/foto.webp",
"sameAs": ["https://linkedin.com/in/...", "https://github.com/..."],
"knowsAbout": ["Skill 1", "Skill 2"],
"worksFor": { "@id": "https://tu-dominio.com/#organization" }
}
Sin Person schema, los LLMs no pueden citarte como autoridad humana en tu nicho.
3. Service schema en cada página de servicio
Cada /servicios/X/ debe tener:
{
"@type": "Service",
"name": "Nombre exacto del servicio",
"provider": { "@id": "https://tu-dominio.com/#organization" },
"description": "Qué incluye, para quién, qué resuelve",
"offers": { "@type": "Offer", "price": "200", "priceCurrency": "EUR" },
"areaServed": "ES"
}
Sin Service schema, las páginas de servicio se tratan como contenido genérico.
4. FAQPage schema en páginas de servicio + blog
5+ Q&A reales, con respuestas factuales (no marketing):
{
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "¿Cuánto cuesta X?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Respuesta concreta con cifras reales."
}
}
]
}
Los LLMs citan FAQs literalmente. Es la forma más rápida de aparecer en respuestas para queries estilo "cuánto cuesta", "cómo funciona", "diferencia entre".
5. llms.txt en raíz
Archivo estandarizado en https://tu-dominio.com/llms.txt:
# Nombre Empresa
> Frase canónica.
## Empresa
- Razón: ...
- NIF: ...
- Sede: ...
## Servicios
- Servicio 1 — descripción
- Servicio 2 — descripción
## Contenido (blog)
- https://tu-dominio.com/blog/articulo-1/
- https://tu-dominio.com/blog/articulo-2/
Es el estándar emergente que ChatGPT, Claude y Perplexity respetan para entender tu sitio rápido. Sin llms.txt, dependes de que crawleen todo y deduzcan estructura.
6. robots.txt permitiendo AI bots
User-agent: GPTBot
Allow: /
User-agent: Claude-Web
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: anthropic-ai
Allow: /
Sitemap: https://tu-dominio.com/sitemap.xml
Si bloqueas estos bots (configuración por defecto de algunos firewalls/CDN), tu sitio no entra en LLMs. Verifica explícitamente.
7. Sitemap.xml dinámico
Generado automáticamente al añadir contenido. En Next.js 16:
// app/sitemap.ts
export default function sitemap(): MetadataRoute.Sitemap {
return [
{ url: 'https://tu-dominio.com/', lastModified: new Date(), priority: 1 },
// generar entries por blog post + servicios + páginas
];
}
Sin sitemap o con sitemap estático, los crawlers tardan 2-4x más en indexar contenido nuevo.
8. Title + meta description con keyword principal
Cada página debe tener:
<title>: 50-60 caracteres, incluir keyword + marca<meta name="description">: 140-160 caracteres, incluir keyword + CTA- Para servicios:
[Servicio] | [Marca]con marca consistente
En Next.js 16:
export const metadata: Metadata = {
title: { default: "...", template: "%s | MARCA" },
description: "..."
}
9. Canonical URL en cada página
<link rel="canonical" href="https://tu-dominio.com/ruta-canonica/" />
Sin canonical, los LLMs (y Google) tratan duplicados como contenido independiente, diluyendo autoridad.
10. OpenGraph + Twitter Card
Mínimo:
<meta property="og:title" content="..." />
<meta property="og:description" content="..." />
<meta property="og:image" content="..." />
<meta property="og:url" content="..." />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary_large_image" />
Los LLMs los usan para previews y resumen al citar.
11. sameAs consistente en Person + Organization
sameAs debe apuntar a perfiles externos VERIFICADOS de tu marca:
- LinkedIn (empresa + personal)
- X/Twitter
- GitHub (si aplica)
- Crunchbase (si aplica)
- Wikidata (si tienes entrada)
URLs deben ser exactas, sin typos. Una URL rota en sameAs invalida la verificación de identidad por LLM.
12. Estructura de URLs limpia
- Slugs descriptivos:
/blog/como-aparecer-en-chatgpt/no/?p=12345 - Trailing slash consistente en todo el sitio
- Sin parámetros de tracking en URLs canónicas
- HTTPS obligatorio, redirect HTTP → HTTPS
URLs feas son penalización moderada en GEO; muy importantes en SEO clásico.
Los 18 secundarios (mejoras incrementales)
- Author schema en cada blog post
- Article schema con datePublished, dateModified
- HowTo schema para tutoriales
- BreadcrumbList schema en navegación
- AggregateRating schema si tienes reviews reales
- VideoObject schema si tienes video embebido
- alt text descriptivo en todas las imágenes
- headings semánticos (un solo h1, jerarquía h2 → h3)
- internal linking estratégico entre artículos relacionados
- WebP/AVIF para imágenes (reduce LCP)
- lazy loading de imágenes below the fold
- font-display: swap para evitar FOUT
- Preload de fuentes críticas
- DNS prefetch para terceros
- Compresión gzip/brotli activa
- Cache headers correctos para estáticos
- HSTS header para forzar HTTPS
- Content Security Policy restrictivo
Checklist de validación
Después de implementar, verificar:
| Check | Herramienta |
|---|---|
| Schema.org válido | https://validator.schema.org |
| Rich Results test | https://search.google.com/test/rich-results |
| llms.txt accesible | curl https://tu-dominio.com/llms.txt |
| robots.txt permite bots | curl https://tu-dominio.com/robots.txt |
| Sitemap generado | curl https://tu-dominio.com/sitemap.xml |
| Canonical correcta | inspeccionar HTML head |
| OpenGraph válido | https://www.opengraph.xyz |
| Lighthouse SEO score | Chrome DevTools > Lighthouse |
Si los 12 críticos pasan, foundation técnica está completa.
Errores típicos en implementación
| Error | Consecuencia |
|---|---|
| Schema solo en home, no en páginas internas | LLMs ven una entidad pero no servicios específicos |
| FAQPage con preguntas marketing genéricas | LLMs no las citan, prefieren respuestas factuales |
| sameAs con URLs rotas o typos | Identidad no verificada, no rankeas como entidad |
| llms.txt copiado de otra empresa sin adaptar | Información incorrecta, dañas credibilidad |
| Bloquear AI bots por error en CDN/firewall | Tu sitio simplemente no entra en LLMs, sin avisos |
| Schema correcto pero sin contenido detrás | Schema sin contenido factual = no se cita |
Cuánto tarda la implementación
| Tipo de sitio | Horas técnicas | |---|---| | Next.js / Astro / Hugo moderno | 8-12h | | WordPress con buen tema | 12-20h | | Webflow / Wix custom | 15-25h | | CMS legacy / custom | 30-50h | | Web estática HTML pura | 6-10h |
Multiplica por 1.5x si nunca has tocado schema.org o JSON-LD.
DIY vs agencia
Foundation técnica es la parte más automatizable de GEO. Si tienes dev skills, hazlo solo. El error es asumir que después de foundation ya está hecho: foundation es 20% del trabajo total. Content + outreach es donde la mayoría falla por tiempo.
Si tu sitio es Next.js / Astro y tienes 12-20h libres este mes, foundation DIY es viable. Si es WordPress legacy, externaliza foundation y haz content tú.
FAQ
¿Cuántos schemas puedo tener en una misma página?
Sin límite técnico. Recomendado: usar @graph para agruparlos en un solo <script>. Ejemplo: home con Organization + LocalBusiness + FAQPage en mismo array @graph.
¿Puedo usar generadores online de schema?
Para Person/Organization simples, sí. Para Service + FAQPage + casos complejos, mejor escribirlo manual. Los generadores tienden a generar JSON-LD sobre-completo con propiedades irrelevantes.
¿Qué pasa si mi sitio es muy grande (1000+ páginas)?
Foundation se aplica de forma sistémica: layout root + componente reutilizable de schema + sitemap dinámico. Una vez configurado, escala automáticamente. El esfuerzo es flat.
¿Necesito Google Search Console y Bing Webmaster?
Sí ambos. Search Console para tracking de Google. Bing Webmaster es CRÍTICO para GEO porque ChatGPT Search se basa en Bing. Sin Bing Webmaster verificado, ChatGPT te indexa más lento.
¿Schema.org cambia mucho año a año?
Estable en lo básico (Organization, Person, Service, FAQPage). Las nuevas propiedades (knowsAbout, knowsLanguage) llegaron 2022-2024. Una vez implementado bien, cambia poco.
Conclusión
12 puntos críticos cubren el 80% de GEO foundation técnica. Implementarlo bien acelera los resultados de content + outreach 3-5x. Si no quieres hacerlo solo, STAKKER SYSTEMS implementa foundation completa en 1-2 semanas (600 EUR setup + 80 EUR/mes monitoring).
¿Quieres implementar esto en tu negocio?
Primera consulta gratis. Te decimos exactamente qué necesitas y cuánto cuesta. Sin compromisos.
Consulta gratis