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, es necesario entender por dónde puede leerte 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 parece. 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 ofreces servicios, decláralos 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é entregas, 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”), declara 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é haces.
## Por qué importa
El problema concreto que resuelves.
## 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, hay 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 se sirve texto plano denso, sin headers ni navegación, con todos los datos que el modelo debe asociar 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 construyes 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 es posible saber si lo que se hace sirve. Un loop básico:
- Define 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, haz esas queries en Perplexity, ChatGPT, Claude y Gemini. Registra: ¿te citan? ¿qué dicen? ¿a quién más citan?
- Guarda los resultados con timestamp en una tabla. Compáralos 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), repite el batch completo. Los cambios suelen ser bruscos.
Errores comunes
- Schema copiado de un template.Si tu schema dice que eres “LocalBusiness” y en realidad eres un SaaS B2B, el modelo se confunde. Vale la pena escribirlo a mano una vez.
- llms.txt con info desactualizada. Si publicas llms.txt y después cambian tus servicios o tu posicionamiento, actualízalo. 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 hacen clic en 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.