Búsqueda IA
Un asistente que responde "¿qué es X?", "precio de X" o "mejor herramienta para Y" obtiene un puñado de páginas, extrae oraciones y filas de tablas, y las cita. Si un hecho no está en la página como texto plano, el asistente adivina o cita a quien lo haya escrito. El trabajo: hacer que el producto sea fácil de describir correctamente con una sola obtención.
Un principio recorre cada paso: escribe cada hecho una vez y renderízalo en todas partes. La definición, el estado (beta, abierto para registro, generalmente disponible), el precio, las plataformas compatibles y las URL clave viven en un archivo fuente; las páginas, llms.txt y los datos estructurados se leen de él. Los hechos copiados a mano se desvían.
Flujo de trabajo
1. Escribir la hoja de hechos
Crea content/facts.ts (o JSON/YAML) con: nombre y nombres alternativos, la definición de una oración, para quién es, estado, planes y precios, plataformas o integraciones, URL de páginas clave y perfiles oficiales (GitHub, X, LinkedIn, Product Hunt). Verifica cada elemento contra el producto en vivo antes de escribirlo.
2. Publicar /llms.txt
Sigue llmstxt.org: un H1 con el nombre, un resumen en bloque de cita, algunos hechos simples, luego secciones H2 de enlaces escritos - [Título](url): qué cubre. Una sección titulada Optional marca los enlaces que un asistente puede omitir.
# Acme AI
> Acme AI es una herramienta de conciliación de facturas que reconcilia los pagos de Stripe con los depósitos bancarios para equipos financieros pequeños. Funciona en el navegador y se conecta a Stripe y Plaid.
- Para quién es: líderes financieros en empresas de 1 a 50 personas que concilian pagos manualmente.
- Estado: abierto para registro (desde 2026-11).
- Precios (https://acme.example/pricing): Gratuito, $0, hasta 50 facturas al mes; Pro, $29/mes, facturas ilimitadas; Team, $79/mes, hasta 10 asientos. Precios en USD.
- No confundir con: Acme Anvil, una empresa de hardware no relacionada.
## Páginas clave
- [Precios](https://acme.example/pricing): planes, límites y lo que está incluido.
- [Acme AI vs Rival](https://acme.example/vs/rival): comparación de características y precios, verificada 2026-11-06.
## FAQ
- ¿Acme AI es gratuito? Sí, hasta 50 facturas al mes. Pro y Team son de pago.
## Opcional
- [Blog](https://acme.example/blog): actualizaciones del producto y guías.
Genéralo desde la hoja de hechos y los metadatos de la página (un manejador de ruta o script de compilación) para que una nueva página aparezca sin ediciones manuales. Sírvuelo con estado 200, como text/plain o text/markdown; charset=utf-8, sin inicio de sesión, redirección ni JavaScript. Verifica:
curl -sI https://acme.example/llms.txt | head -5 # 200 y un tipo de contenido de texto
curl -s https://acme.example/llms.txt | head -30
3. Opcionalmente agregar /llms-full.txt
El texto Markdown completo de las páginas que más deseas citar (producto, precios, comparaciones, documentación), cada una bajo su propio # Título con una línea Fuente: <url>. Genéralo en tiempo de compilación. Omite el archivo del blog y cualquier cosa desactualizada.
4. Enlazarlo
Pon un enlace simple llms.txt en el pie de página, y opcionalmente <link rel="alternate" type="text/markdown" href="/llms.txt"> en <head>. Un archivo al que nada enlaza solo es encontrado por rastreadores que adivinan la ruta.
5. Permitir la entrada de rastreadores de IA (robots.txt y el CDN)
| Agente de usuario | Propietario | Usado para |
|---|---|---|
| OAI-SearchBot | OpenAI | Índice de búsqueda de ChatGPT |
| ChatGPT-User | OpenAI | Obtener una página sobre la que un usuario preguntó |
| GPTBot | OpenAI | Entrenamiento de modelos |
| Claude-SearchBot / Claude-User / ClaudeBot | Anthropic | Índice de búsqueda / obtenciones de usuario / entrenamiento |
| PerplexityBot / Perplexity-User | Perplexity | Índice de búsqueda / obtenciones de usuario |
| Google-Extended | Token para entrenamiento y fundamentación de Gemini; no afecta la Búsqueda de Google ni AI Overviews | |
| Bingbot | Microsoft | Índice de Bing, del que Copilot obtiene respuestas |
Los agentes de búsqueda y obtención de usuario deciden si puedes ser citado. Los agentes de entrenamiento son una decisión comercial; un producto que quiere ser recomendado generalmente también los permite.
User-agent: *
Allow: /
Disallow: /api/
Disallow: /app/
User-agent: OAI-SearchBot
User-agent: ChatGPT-User
User-agent: GPTBot
User-agent: Claude-SearchBot
User-agent: Claude-User
User-agent: ClaudeBot
User-agent: PerplexityBot
User-agent: Perplexity-User
User-agent: Google-Extended
Allow: /
Disallow: /api/
Disallow: /app/
Sitemap: https://acme.example/sitemap.xml
Un rastreador obedece solo el grupo que lo nombra, por lo que un grupo nombrado debe repetir cada Disallow, o abrirá tus rutas privadas. robots.txt tampoco puede anular el CDN: algunos ofrecen un interruptor "bloquear bots de IA" que devuelve 403 independientemente de lo que diga robots.txt. Haz una verificación puntual, luego confirma las visitas reales de rastreadores en el informe de bots del CDN o en los registros del servidor (los CDN que verifican las IP de los bots pueden tratar un User-Agent falsificado de manera diferente):
curl -s -o /dev/null -w '%{http_code}\n' -A 'Mozilla/5.0 (compatible; OAI-SearchBot/1.0; +https://openai.com/searchbot)' https://acme.example/pricing
6. Pon una definición de una oración al principio de cada página clave
Justo debajo del H1, en HTML renderizado en el servidor: " es una <categoría> que <hace qué> para <quién>." La segunda oración da el diferenciador. Reutiliza la misma oración en la página de inicio, en llms.txt, en Organization.description, en listados de directorios y en biografías de redes sociales. Un eslogan ("Finanzas, reinventadas") no le da nada al asistente para citar. Muchos obtenedores de IA no ejecutan JavaScript, así que verifica el HTML sin procesar:
curl -s https://acme.example/ | grep -c "es una herramienta de conciliación de facturas" # espera 1 o más
7. Tablas comparativas y FAQ
- Tablas: un
<table>HTML real, una fila por producto, columnas que los compradores preguntan (precio, plataformas, código abierto, límite principal). Ponle fecha ("Verificado 2026-11-06"). Toma cada hecho del propio sitio del vendedor, documentación, página de precios o la API de GitHub. Escribe "No publicado" cuando un vendedor no publique algo; nunca estimes. - FAQ: la pregunta como encabezado, en las palabras del buscador; una respuesta de 2 a 4 oraciones que se sostenga por sí misma, con la primera oración respondiéndola. Cubre las preguntas que los asistentes se equivocan: precio, "¿es gratuito?", "¿funciona con X?", "¿es lo mismo que <homónimo>?". El marcado FAQPage es opcional; las Q&A visibles son lo que se cita.
8. Haz públicos los precios
Una página /pricing con nombres de planes, precios, moneda, período de facturación y límites como texto, no solo en una imagen o calculadora. Reflejalo en llms.txt y en SoftwareApplication.offers. Las respuestas y listados de directorios necesitan un precio o un modelo de precios (gratuito, freemium, de pago); sin uno, adivinan o te omiten. Si los planes de pago no están activos, dilo ("Pro: próximamente; todo es gratuito hasta entonces").
{ "@context": "https://schema.org", "@type": "SoftwareApplication", "name": "Acme AI",
"applicationCategory": "BusinessApplication", "operatingSystem": "Web",
"offers": [ { "@type": "Offer", "name": "Gratuito", "price": "0", "priceCurrency": "USD" },
{ "@type": "Offer", "name": "Pro", "price": "29", "priceCurrency": "USD" } ] }
9. Datos de Organization y WebSite cuando el nombre colisiona
Si buscar el nombre de tu marca simple devuelve primero otro producto, elige una forma distintiva ("Acme AI") y úsala en todas partes, con datos estructurados que vinculen las variantes a una entidad:
{ "@context": "https://schema.org", "@type": "Organization",
"name": "Acme AI", "alternateName": ["Acme", "acme.example"],
"url": "https://acme.example/", "logo": "https://acme.example/logo.png",
"description": "Acme AI es una herramienta de conciliación de facturas que reconcilia los pagos de Stripe con los depósitos bancarios para equipos financieros pequeños.",
"sameAs": ["https://github.com/acme-ai", "https://x.com/acmeai", "https://www.linkedin.com/company/acme-ai"] }
Agrega un objeto WebSite con el mismo name y alternateName; Google lo usa para el nombre del sitio en los resultados. Enumera en sameAs solo los perfiles que controlas y que enlazan de vuelta al sitio.
10. Mantén el sufijo de la marca consistente
Un sufijo en todas partes: | Acme AI en los títulos, la misma cadena en og:site_name, el H1 de llms.txt, las biografías de redes sociales y la organización de GitHub. Mantén los títulos dentro de 60 caracteres (alrededor de 30 para chino, japonés y coreano), la palabra clave primero; agrega el sufijo solo cuando quepa.
11. Verifica lo que realmente dicen los asistentes
Mensualmente, y después de cambios grandes, haz de 5 a 10 consultas manualmente en ChatGPT (búsqueda activada), Perplexity, Claude, Gemini y Copilot: "¿Qué es Acme AI?", "precios de Acme AI", "mejor <categoría> para ", "alternativas a ", "Acme AI vs ". Una consulta a la vez en la interfaz normal; no automatices las UIs de chat. Registra fecha, asistente, consulta, si eres mencionado, qué URL se cita y cualquier hecho incorrecto en docs/seo/ai-answers.md. Corrige la página fuente detrás de cada hecho incorrecto, luego vuelve a verificar. Para el tráfico, segmenta los análisis por referente: chatgpt.com, perplexity.ai, claude.ai, gemini.google.com, copilot.microsoft.com.
Lista de verificación
- La hoja de hechos existe; las páginas, llms.txt y JSON-LD se leen de ella
- /llms.txt devuelve 200 como texto, se genera y está enlazado desde el pie de página
- robots.txt permite los agentes de IA y repite las denegaciones; el CDN no los bloquea
- Cada página clave comienza con una definición de una oración en el HTML sin procesar
- Las tablas comparativas están fechadas y referenciadas; los desconocidos dicen "No publicado"
- Las respuestas de FAQ se sostienen por sí mismas y cubren precio, "es gratuito" y confusión de nombre
- /pricing es público; llms.txt y
offerscoinciden - Organization y WebSite llevan name, alternateName, description y sameAs
- Un sufijo de marca en todas partes; títulos dentro de 60 caracteres
- Las respuestas de los asistentes se registran; los hechos incorrectos se rastrean hasta una página y se corrigen
Errores que hemos encontrado
- Sin precios públicos. /pricing devolvía 404, llms.txt y
SoftwareApplicationno tenían ofertas, y nuestra propia tabla comparativa tenía que decir "No publicado" para nosotros. Una página /pricing con tres planes en texto, reflejada en llms.txt yoffers, lo solucionó; los niveles de pago están marcados como "próximamente". - Desviación de estado. Después de que se abrieran los registros, alrededor de 300 archivos en 9 idiomas, incluido llms.txt, todavía decían "acceso temprano". El estado ahora proviene de una constante.
- Un archivo al que nadie enlaza. Una auditoría no encontró ninguna página que enlazara a llms.txt, ni llms-full.txt, ni
lastmoden el mapa del sitio. - Anulación de grupo en robots.txt. Dar a los rastreadores de IA su propio grupo sin repetir las denegaciones habría abierto las rutas de API y de inicio de sesión para ellos.
- Colisión de marca. Buscar el nombre simple de nuestra marca devolvía primero una aplicación de programación de tripulaciones del mismo nombre. Cambiamos a " AI" en títulos, alternateName y sameAs.
- Títulos truncados e inconsistentes. 49 títulos en inglés tenían de 57 a 88 caracteres con sufijos mixtos. Los redujimos a 60 o menos, palabra clave primero, sufijo solo cuando quepa.
- Obtenciones poco fiables de páginas de la competencia. La obtención de la página de precios de un competidor por parte de un subagente de investigación devolvió algo que parecía manipulado; lo confirmamos en un navegador real antes de publicar. La página de precios de otro vendedor devolvió 403 al obtenedor, así que tomamos los precios de su documentación y dijimos de dónde venían.
- Escribir "gratuito" demasiado pronto. Hasta que se publicaron los precios, escribíamos "no publicado", no "gratuito". Un asistente repite lo que sea que diga la página.
Habilidades relacionadas
- seo-page: la plantilla de página donde viven la definición, la tabla y las FAQ.
- competitor-pages: páginas de comparación y alternativas, que los asistentes citan mucho.
- programmatic-pages: generar secciones de llms.txt y datos estructurados a escala.
- multilingual-seo: definiciones, títulos y longitud de sufijo localizados por idioma.
- keyword-research, trend-keywords: las preguntas a responder y las consultas a probar.
- index-push: lograr que las páginas sean rastreadas; el índice de Bing alimenta a Copilot.
- seo-daily-report: visitas referidas por IA como una línea propia en el informe.