Si los modelos de lenguaje no citan tu marca, no es porque no existas. Es porque no te están leyendo bien. Esta guía recorre los tres caminos por los que un LLM cita una marca, el schema mínimo que tu sitio necesita, cómo armar un llms.txt útil, y qué patrones de contenido aumentan la probabilidad de citación.
Los tres caminos por los que un LLM cita una marca
Antes de optimizar, tenés que entender por dónde te puede leer un modelo. Hay tres caminos y cada uno requiere palancas distintas.
1. Búsqueda web en tiempo real
Perplexity, ChatGPT con browsing, Claude con web search y Gemini con Search Grounding hacen una query a Google o Bing, leen las primeras URLs y arman la respuesta. Si tu sitio rankea bien para esa query, el modelo te lee. Acá importa el SEO clásico, los Core Web Vitals y la velocidad de respuesta del servidor.
2. Training data
Modelos como GPT, Claude o Gemini aprenden con datasets curados: Common Crawl, Wikipedia, GitHub, papers académicos, blogs editoriales. Si tu marca está representada ahí, el modelo te conoce de antemano. El ciclo de training es lento — entre 6 y 18 meses entre cut-offs — pero el efecto es duradero.
3. Tools y RAG empresarial
En implementaciones B2B, el modelo se conecta a una base de conocimiento controlada vía MCP (Model Context Protocol) o RAG. Acá no importa el SEO público — importa exponer tu documentación de forma consumible por un agente.
El schema mínimo que tu sitio necesita
Un LLM lee entidades. Si tu sitio no las declara explícitamente, el modelo tiene que inferirlas — y la inferencia falla más seguido de lo que pensás. Estas son las piezas que vale la pena tener bien:
Organization
Una sola declaración por sitio, en home y reutilizable por @id en otras páginas. Sirve para que el modelo sepa qué eres.
{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://tumarca.com/#organization",
"name": "Tu Marca",
"url": "https://tumarca.com",
"logo": "https://tumarca.com/logo.png",
"description": "Una frase clara de qué eres y a quién sirves.",
"knowsAbout": ["categoría 1", "categoría 2", "categoría 3"],
"sameAs": [
"https://www.linkedin.com/company/tumarca",
"https://github.com/tumarca",
"https://en.wikipedia.org/wiki/Tu_Marca"
]
}El campo sameAs es subestimado. Conecta tu sitio con otros nodos que el modelo ya conoce (Wikipedia, LinkedIn, GitHub) y refuerza la entidad.
Service
Si vendés servicios, declarálos con tipos canónicos. El modelo los lee cuando alguien pregunta “quién hace X”.
{
"@context": "https://schema.org",
"@type": "Service",
"serviceType": "Consultoría SEO",
"provider": { "@id": "https://tumarca.com/#organization" },
"areaServed": ["Argentina", "México", "España"],
"description": "Qué entregás, en una frase.",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Servicios",
"itemListElement": [
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Auditoría" } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Implementación" } }
]
}
}FAQPage
Cada página clave debería tener un bloque de preguntas frecuentes con schema. Los LLMs aman las FAQs porque ya están en formato pregunta- respuesta — exactamente lo que necesitan para citar.
DefinedTerm
Si tu marca ocupa una categoría que vale definir (ej. “agentic team OS”, “observatorio de datos híbridos”), declará el término. Eso te posiciona como fuente canónica de la definición.
llms.txt: el archivo que muchos ignoran y vale la pena tener
Es un estándar emergente. Un archivo markdown plano en la raíz de tu dominio (/llms.txt) que resume tu sitio para crawlers IA sin que tengan que parsear tu CSS y JavaScript. Anthropic, Vercel, Mintlify y FastAPI ya lo implementan.
# Tu Marca
## Qué es
Una frase clara de qué hacés.
## Por qué importa
El problema concreto que resolvés.
## Servicios
- Servicio A — qué incluye, en una línea.
- Servicio B — qué incluye, en una línea.
## Quiénes somos
Equipo, ubicación, sitios públicos.
## Contacto
Email, web.Si tu sitio tiene documentación técnica (típico en B2B SaaS), también existe /llms-full.txt con un volcado más extenso de la documentación.
robots.txt permisivo: la decisión que muchos toman al revés
La mayoría de los sitios bloquea los crawlers IA en robots.txt por miedo a “robo de contenido”. Si tu objetivo es ser citado, tenés que hacer lo opuesto exacto: permitirlos.
User-agent: *
Allow: /
User-agent: GPTBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: anthropic-ai
Allow: /
User-agent: Claude-Web
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: Applebot-Extended
Allow: /
Sitemap: https://tumarca.com/sitemap.xmlEdge Middleware para servir versión condensada a bots
Una técnica avanzada: detectar el user-agent del crawler y servirle una versión semánticamente densa de tu home, sin chrome visual, directamente con la información que necesita. En Next.js se hace con Edge Middleware.
// src/middleware.ts
import { NextRequest, NextResponse } from "next/server";
const AI_BOT = /(GPTBot|Claude-Web|PerplexityBot|anthropic-ai|Google-Extended)/i;
export function middleware(req: NextRequest) {
const ua = req.headers.get("user-agent") || "";
if (req.nextUrl.pathname === "/" && AI_BOT.test(ua)) {
const url = req.nextUrl.clone();
url.pathname = "/agents";
return NextResponse.rewrite(url);
}
return NextResponse.next();
}
export const config = { matcher: ["/"] };En la ruta /agents servís texto plano denso, sin headers ni navegación, con todos los datos que querés que el modelo asocie a tu marca.
Patrones de contenido que aumentan la probabilidad de citación
- Direct-answer first. Las primeras 50 palabras de cada página responden la pregunta implícita. Los LLMs citan el bloque que resuelve, no el que rodea.
- Una promesa por página. Si tu home dice doce cosas, el modelo no sabe cuál usar como definición. Si dice una clara, la usa.
- Estadísticas atribuibles. Cada número con su fuente. Los modelos prefieren citar contenido con citas — eso lo vuelve verificable.
- Glosario de categoría. Si construís el glosario autoritativo de los términos de tu industria, el modelo te elige como fuente cuando alguien pregunta una definición.
- Casos con datos.“Aumentamos 3.2× las citaciones en Perplexity para 7 clientes B2B en Q1-2026” gana lejos a “mejoramos visibilidad en IA”.
- FAQs por página. Pregunta + respuesta breve + schema FAQPage. Patrón ganador para citación.
Cómo medir que estás siendo citado
Sin medición, no sabés si lo que hacés sirve. Un loop básico:
- Definí 8-12 keywords que reflejen cómo un comprador habla de tu categoría. No las que tu marketing usa — las que el cliente usa.
- Cada semana, hacé esas queries en Perplexity, ChatGPT, Claude y Gemini. Registrá: ¿te citan? ¿qué dicen? ¿a quién más citan?
- Guardá los resultados con timestamp en una tabla. Comparalos a la semana siguiente. La curva en el tiempo es la única métrica seria.
- Cuando un modelo se actualiza (cut-off, nueva versión, cambio de provider), repetí el batch completo. Los cambios suelen ser bruscos.
Errores comunes
- Schema copiado de un template.Si tu schema dice que sos “LocalBusiness” y en realidad sos un SaaS B2B, el modelo se confunde. Vale la pena escribirlo a mano una vez.
- llms.txt con info desactualizada. Si publicás llms.txt y después cambian tus servicios o tu posicionamiento, actualizalo. Los crawlers vuelven.
- Bloquear bots IA “por las dudas”. Decisión que cuesta visibilidad sin ganar nada concreto.
- Un pop-up de cookies que tapa el contenido. Los crawlers no clickean modales. Si tu contenido vive detrás de un consent banner, para el modelo ese contenido no existe.
GEO es un trabajo de meses, no de un sprint. Las marcas que están construyendo el activo hoy son las que van a ser respuesta cuando alguien le pregunte a una IA en 2027.