{"id":31229,"date":"2025-11-25T16:47:36","date_gmt":"2025-11-25T15:47:36","guid":{"rendered":"https:\/\/dinorank.com\/blog\/?p=31229"},"modified":"2026-02-20T10:38:55","modified_gmt":"2026-02-20T09:38:55","slug":"seo-para-llms-como-trabajarlo-y-aparecer-en-llms-en-la-actualidad","status":"publish","type":"post","link":"https:\/\/dinorank.com\/blog\/seo-para-llms\/","title":{"rendered":"SEO para LLMs: C\u00f3mo trabajarlo y aparecer en LLMs en la actualidad"},"content":{"rendered":"<p>\u00bfTe imaginas hacer una consulta en ChatGPT y que en la respuesta aparezca tu marca?<\/p>\n<p>Pues eso ya est\u00e1 pasando.<\/p>\n<p>F\u00edjate en la siguiente imagen:<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter wp-image-30612 size-full\" title=\"LLMO o SEO para LLMs: ejemplo de menci\u00f3n en ChatGPT\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-mencion-dinorank.png\" alt=\"LLMO o SEO para LLMs: ejemplo de menci\u00f3n en ChatGPT\" width=\"1024\" height=\"644\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-mencion-dinorank.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-mencion-dinorank-300x189.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-mencion-dinorank-768x483.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>ChatGPT recomienda DinoRANK como herramienta SEO para realizar un an\u00e1lisis TF*IDF.<\/p>\n<p>Te prometo que no le hemos pagado para que diga eso. De hecho, ni se puede.<\/p>\n<p>El motivo de que <strong>mencione nuestra marca<\/strong> es porque forma parte de su base de conocimiento.<\/p>\n<p>\u00bfTe gustar\u00eda conseguir lo mismo con tu proyecto?<\/p>\n<p>Entonces sigue leyendo, porque en este post te explico <strong>en qu\u00e9 consiste el LLMO<\/strong>, un concepto que est\u00e1 muy de moda por el auge de la IA, c\u00f3mo puedes empezar a trabajarlo desde hoy mismo y c\u00f3mo DinoRANK puede ser tu gran aliado en esta nueva forma de entender el SEO.<\/p>\n<p>\u00a1Empezamos!<\/p>\n<h2>Qu\u00e9 es un LLM y qu\u00e9 significa LLMO<\/h2>\n<p>LLMs significa Large Language Models (modelos de lenguaje grande o de gran tama\u00f1o) y es la <strong>tecnolog\u00eda que utilizan las herramientas de Inteligencia Artificial<\/strong> como ChatGPT, Gemini, Copilot o Claude para funcionar.<\/p>\n<p>Estos modelos, basados en sistemas de aprendizaje profundo (deep learning) y redes neuronales, han sido <strong>alimentados con multitud de informaci\u00f3n de todo tipo<\/strong>: art\u00edculos cient\u00edficos, libros, webs, foros, etc.<\/p>\n<p>El objetivo no es otro que <strong>aprender c\u00f3mo escribimos las personas<\/strong>, c\u00f3mo preguntamos o c\u00f3mo contestamos a diferentes cuestiones en contextos diversos.<\/p>\n<p>De ese modo, cuando t\u00fa entras a ChatGPT y le pides algo, el LLM que hay por detr\u00e1s es capaz de entender el lenguaje que utilizas y generarte una respuesta apropiada (un art\u00edculo, un resumen, un fragmento de c\u00f3digo o lo que t\u00fa desees) como si fuera una persona.<\/p>\n<p>\u00bfY sabes qu\u00e9? En muchas de estas respuestas de la IA podr\u00eda aparecer tu marca.<\/p>\n<p>Es precisamente en este contexto donde surge el concepto de <strong>LLMO<\/strong>, que vendr\u00eda a ser como el <strong>SEO pero para los modelos de lenguaje<\/strong>.<\/p>\n<p>En concreto, la abreviatura LLMO significa \u201cLarge Language Model Optimization\u201d. Consiste en <strong>optimizar tus contenidos para que sean comprendidos correctamente por los modelos de IA<\/strong> y, de esta manera, puedan aparecer como parte de las respuestas que generan.<\/p>\n<p>\u00bfQuieres saber c\u00f3mo hacer que tu contenido no solo posicione en Google sino que tambi\u00e9n alimente a estos LLMs como ChatGPT?<\/p>\n<p>Lo vamos a ver a continuaci\u00f3n. Y comprobar\u00e1s que no es tan complicado como parece.<\/p>\n<h2>C\u00f3mo hacer SEO para LLM con DinoRANK<\/h2>\n<p>Para hacer SEO en LLM con sentido hay una cosa que debes tener muy clara: no puedes ir a ciegas.<\/p>\n<p>Es decir, existen varias t\u00e9cnicas para conseguir aumentar las probabilidades de que tu contenido sea citado en las respuestas generadas por IA (m\u00e1s adelante te hablar\u00e9 de ellas en profundidad), pero de poco te sirven si no puedes <strong>analizar despu\u00e9s los resultados<\/strong>.<\/p>\n<p>Y precisamente es en este punto donde <strong>DinoRANK te puede echar una mano<\/strong>.<\/p>\n<p>Porque si hasta ahora DinoRANK hab\u00eda sido una herramienta SEO muy \u00fatil para ayudarte a aumentar tu visibilidad en Google y en otros buscadores, en la era de la inteligencia artificial quiere seguir si\u00e9ndolo.<\/p>\n<p>Por eso, el equipo t\u00e9cnico de DinoRANK est\u00e1 dedicando un gran esfuerzo en comprender c\u00f3mo funcionan las nuevas plataformas impulsadas por IA donde los usuarios formulan ahora sus preguntas, con el objetivo de incorporarlas a los an\u00e1lisis de la herramienta.<\/p>\n<p>Fruto de ello es <a href=\"https:\/\/dinorank.com\/blog\/llms\/\"><strong>el m\u00f3dulo de SEO en LLMs<\/strong><\/a>, que<strong> te va a permitir estudiar las respuestas de modelos como ChatGPT o Gemini<\/strong> para comprobar si tu proyecto est\u00e1 siendo mencionado de alg\u00fan modo por ellos.<\/p>\n<p>Hasta ahora no son muchas las <a href=\"https:\/\/dinorank.com\/blog\/dinorank-seo-llms-vs-llm-pulse\/\">herramientas que te permiten monitorizar las apariciones de tu marca en la IA<\/a>, por lo que una vez m\u00e1s es de agradecer la apuesta de DinoRANK por estar siempre al corriente de las tendencias m\u00e1s actuales el sector.<\/p>\n<p>Te explico todos los detalles a continuaci\u00f3n.<\/p>\n<h3>Conoce el tr\u00e1fico que recibes desde los distintos LLMs<\/h3>\n<p><strong>\u00bfSabr\u00edas decirme si tu sitio web est\u00e1 recibiendo visitas procedentes de la IA?<\/strong><\/p>\n<p>\u00bfY desde qu\u00e9 plataforma exactamente (ChatGPT, Gemini, Copilot, Perplexity,&#8230;)?<\/p>\n<p>Vale, es cierto que esta informaci\u00f3n la puedes obtener con Google Analytics. Pero llegar hasta ella no es nada intuitivo y muchos usuarios no tienen nada claro c\u00f3mo hacerlo.<\/p>\n<p>Lo s\u00e9 porque me han preguntado cientos de veces sobre ello.<\/p>\n<blockquote><p>Con DinoRANK conocer el tr\u00e1fico que procede de los modelos de lenguaje como ChatGPT es muy f\u00e1cil y visual.<\/p><\/blockquote>\n<p>Basta con conectar tu cuenta de Analytics e ir a la <strong>pesta\u00f1a \u201cTr\u00e1fico\u201d dentro del m\u00f3dulo de SEO en LLMs.<\/strong><\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-31237 size-full\" title=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tr\u00e1fico desde plataformas de IA\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-trafico.png\" alt=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tr\u00e1fico desde plataformas de IA\" width=\"1024\" height=\"729\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-trafico.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-trafico-300x214.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-trafico-768x547.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>De esta manera ver\u00e1s varias gr\u00e1ficas y tablas que te mostrar\u00e1n:<\/p>\n<p><span style=\"font-weight: 400;\"><div class=\"su-list\" style=\"margin-left:0px\"><\/span><\/p>\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> La evoluci\u00f3n de las visitas recibidas desde diferentes LLMs a lo largo del tiempo.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> El porcentaje del tr\u00e1fico que procede de cada fuente (ChatGPT, Perplexity, Gemini, Claude, Copilot, Grok).<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> El n\u00famero de visitas totales desde cada fuente de IA.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> El listado de URLs que captan un mayor tr\u00e1fico.<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\"><\/div><\/span><\/p>\n<p>Como ves, tienes a tu disposici\u00f3n una informaci\u00f3n muy valiosa que te permitir\u00e1 <strong>evaluar el impacto que tiene la IA para tu proyecto<\/strong>.<\/p>\n<p>\ud83d\udc49 Si buscas una soluci\u00f3n gratuita para saber el tr\u00e1fico que recibes desde los modelos de IA, echa un vistazo a <a href=\"https:\/\/dinorank.com\/blog\/como-medir-trafico-desde-chatgpt\/\">nuestra plantilla de Looker Studio<\/a>.<\/p>\n<h3>Monitoriza tus prompts en ChatGPT y otros modelos de lenguaje<\/h3>\n<p>Ahora bien, las estad\u00edsticas anteriores est\u00e1n genial, pero tienen un problema: no sabemos c\u00f3mo estamos obteniendo este tr\u00e1fico.<\/p>\n<p>O, dicho de otro modo, cu\u00e1les son las<strong> preguntas de los usuarios que est\u00e1n haciendo que nuestro proyecto aparezca en las respuestas generadas por la IA<\/strong>.<\/p>\n<p>Para dar soluci\u00f3n a esta cuesti\u00f3n, en DinoRANK se ha a\u00f1adido la funci\u00f3n de <strong>Tracking en LLMs<\/strong>.<\/p>\n<p>Si alguna vez has usado el tracker de keywords de DinoRANK, sabr\u00e1s que es una utilidad muy potente. De hecho, es una de las m\u00e1s valoradas por los usuarios de la herramienta.<\/p>\n<p>Pues bien, toda esta experiencia de monitorizaci\u00f3n de palabras clave se ha trasladado al <a href=\"https:\/\/dinorank.com\/blog\/llms\/\" target=\"_blank\" rel=\"noopener\">m\u00f3dulo de SEO en LLMs para permitirte hacer un <strong>seguimiento de tus prompts en las principales plataformas de IA<\/strong><\/a>.<\/p>\n<p>El funcionamiento es el siguiente:<\/p>\n<p>En primer lugar tienes que <strong>configurar tu proyecto para indicar c\u00f3mo puede aparecer mencionada tu marca<\/strong> por los modelos de lenguaje. Adem\u00e1s, puedes a\u00f1adir descripciones de tu proyecto a DinoRANK para darle todav\u00eda m\u00e1s contexto.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-31233 size-full\" title=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-configuracion-proyecto.png\" alt=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" width=\"1024\" height=\"523\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-configuracion-proyecto.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-configuracion-proyecto-300x153.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-configuracion-proyecto-768x392.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Hecho esto, es el momento de<strong> a\u00f1adir tus prompts<\/strong>. Aqu\u00ed puedes escribir aquellas preguntas que ya sepas que son relevantes para tu marca o pedirle a DinoRANK que te sugiera ideas.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-31235 size-full\" title=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-prompts.png\" alt=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" width=\"1024\" height=\"713\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-prompts.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-prompts-300x209.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-prompts-768x535.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Cuando tengas listo tu listado de prompts es el momento de configurarlos. <strong>Elige sobre qu\u00e9 plataformas quieres hacer el seguimiento<\/strong> (ChatGPT, Perplexity, Gemini, Claude, etc.) <strong>e indica los dominios de tus competidores<\/strong>, as\u00ed como sus nombres de marca. Esto te permitir\u00e1 saber si ellos tambi\u00e9n est\u00e1n siendo citados por la IA o no.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-31234 size-full\" title=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-plataformas.png\" alt=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" width=\"1024\" height=\"912\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-plataformas.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-plataformas-300x267.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-plataformas-768x684.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Adicionalmente, <strong>puedes agrupar todos tus prompts bajo una misma etiqueta<\/strong>, para que luego te resulte m\u00e1s sencillo analizarlos.<\/p>\n<p>Por ejemplo, en el caso de DinoRANK, podr\u00edamos tener una etiqueta para englobar los prompts relacionados con \u201cherramienta SEO\u201d, otra para \u201cm\u00e1ster de SEO\u201d, otra para \u201cSEO en IA\u201d, etc.<\/p>\n<p>Una vez hayas configurado tus prompts,<strong> la herramienta har\u00e1 la consulta en los diferentes LLMs y mostrar\u00e1 una tabla<\/strong> como la siguiente.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-31236 size-full\" title=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-tabla-resultados.png\" alt=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" width=\"1024\" height=\"571\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-tabla-resultados.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-tabla-resultados-300x167.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-tabla-resultados-768x428.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>En esta tabla podemos ver:<\/p>\n<p><span style=\"font-weight: 400;\"><div class=\"su-list\" style=\"margin-left:0px\"><\/span><\/p>\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> El prompt que estamos trackeando.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> La respuesta que nos ha devuelto cada plataforma de IA.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> El modelo de IA en cuesti\u00f3n.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Si nuestra marca aparece o no citada en la respuesta.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> La cantidad de menciones (aparici\u00f3n de nuestra marca sin enlace) que recibimos en la respuesta y las de nuestros competidores.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> La cantidad de citaciones (apariciones con enlace a nuestra web) que recibimos en la respuesta y las de nuestros competidores.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> La fecha de la \u00faltima ejecuci\u00f3n del prompt.<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\"><\/div><\/span><\/p>\n<p>Adem\u00e1s, si hacemos clic en cada una de las respuesta de la IA accederemos a su detalle, donde podremos indicar que nuestra marca aparezca resaltada, para ver c\u00f3mo se est\u00e1 utilizando exactamente.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-31232 size-full\" title=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-analisis-respuesta.png\" alt=\"M\u00f3dulo de SEO en LLMs de DinoRANK: tracking\" width=\"1024\" height=\"853\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-analisis-respuesta.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-analisis-respuesta-300x250.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/11\/llmo-dinorank-tracker-analisis-respuesta-768x640.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Cada 72 horas todos <strong>estos resultados se van renovando de manera autom\u00e1tica<\/strong>. De este modo podremos llevar un seguimiento y saber si las acciones de LLMO que estamos realizando en nuestro proyecto est\u00e1n teniendo \u00e9xito o no.<\/p>\n<p>\u00bfY qu\u00e9 acciones son esas? \u00bfC\u00f3mo podemos trabajar la optimizaci\u00f3n de modelos de lenguaje?<\/p>\n<p>Ha llegado el momento de cont\u00e1rtelo. Pero antes, es necesario que conozcas un poco de teor\u00eda sobre los LLMs.<\/p>\n<h2>C\u00f3mo funcionan los LLMs<\/h2>\n<p>Ahora toca ponerse un poco m\u00e1s t\u00e9cnico. Pero no te preocupes, intentar\u00e9 no liarte con conceptos raros y contarte c\u00f3mo funciona un LLM de la manera m\u00e1s sencilla de la que sea capaz.<\/p>\n<h3>Fase 1: entrenamiento<\/h3>\n<p>Para que un modelo de IA pueda responderte a todo aquello que le preguntes, antes debe ser <strong>alimentado con cantidades ingentes de datos<\/strong>: libros, art\u00edculos, hilos de Reddit, blogs de recetas, papers cient\u00edficos y un mont\u00f3n de fuentes m\u00e1s.<\/p>\n<blockquote><p>Toda esa informaci\u00f3n, una vez procesada, forma lo que llamamos el<strong> corpus del LLM<\/strong>.<\/p><\/blockquote>\n<p><strong>Esta fase se llama entrenamiento<\/strong> y es car\u00edsima. Dura semanas o meses y requiere unos ordenadores superpotentes.<\/p>\n<h3>Fase 2: inferencia<\/h3>\n<p>Una vez entrenado, el LLM ya est\u00e1 listo para responder preguntas, escribir textos, hacer sugerencias, etc. Esto se llama inferencia y <strong>es lo que ocurre cada vez que t\u00fa interact\u00faas con la IA<\/strong>, d\u00e1ndole unas instrucciones, un contexto o corrigi\u00e9ndole cuando no te gusta lo que te devuelve.<\/p>\n<p>Ahora bien, para crear esta respuesta, el LLM debe <strong>procesar tu prompt<\/strong>.<\/p>\n<blockquote><p>El prompt es dividido en trozos m\u00e1s peque\u00f1os llamados tokens.<\/p><\/blockquote>\n<p>Estos tokens se emparejan con elementos del modelo, se calculan las relaciones sem\u00e1nticas y se van prediciendo nuevos tokens que compondr\u00e1n la respuesta final.<\/p>\n<h3>Fase 3: b\u00fasqueda de informaci\u00f3n actual<\/h3>\n<p><strong>El LLM solo conoce lo que ha aprendido hasta su \u00faltima actualizaci\u00f3n<\/strong>. Por ejemplo, en el caso de GPT-5, tiene informaci\u00f3n hasta junio de 2024.<\/p>\n<p>\u00bfQu\u00e9 pasa entonces si le preguntas por algo reciente?<\/p>\n<p>Supongo que ya sabes la respuesta: lo <strong>busca en Internet<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-30611 size-full\" title=\"LLMO o SEO para LLMs: varias consultas creadas a partir de un prompt (query fan-out)\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-busqueda-web.png\" alt=\"LLMO o SEO para LLMs: varias consultas creadas a partir de un prompt (query fan-out)\" width=\"1024\" height=\"528\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-busqueda-web.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-busqueda-web-300x155.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-busqueda-web-768x396.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Esta t\u00e9cnica se conoce con el nombre de <strong>RAG (Retrieval-Augmented Generation)<\/strong> y no es sino el proceso que permite a los LLMs complementar la informaci\u00f3n de su corpus con los datos de una fuente externa.<\/p>\n<p>De manera sencilla, lo que hace el RAG es esto:<\/p>\n<ol>\n<li>Detecta que tu pregunta necesita informaci\u00f3n nueva o espec\u00edfica.<\/li>\n<li>Descompone tu prompt y lo transforma en varias consultas, que lanza de manera simult\u00e1nea a Internet. Es lo que se llama query fan-out.<\/li>\n<li>Recupera los textos m\u00e1s relevantes, los filtra, los resume y se los pasa al modelo.<\/li>\n<li>Y con eso, genera la respuesta final.<\/li>\n<\/ol>\n<p>As\u00ed, aunque el modelo \u201cbase\u201d est\u00e9 entrenado hasta cierta fecha, puede actualizarse sobre la marcha si tiene acceso a fuentes externas.<\/p>\n<h2>C\u00f3mo optimizar para LLMs. Gu\u00eda de LLMO con ejemplos pr\u00e1cticos<\/h2>\n<p>Llegados a este punto, quiz\u00e1 est\u00e9s empezando a pensar que esto del LLMO es demasiado complejo. Modelos de lenguaje, redes neuronales, inteligencia artificial,.. Todo suena demasiado t\u00e9cnico y quiz\u00e1 por eso asuste un poco enfrentarse a ello.<\/p>\n<p>D\u00e9jame tranquilizarte. Lo cierto es que <strong>la optimizaci\u00f3n SEO para LLMs se basa en una serie de pautas que casi todo el mundo puede aplicar<\/strong> en su sitio web.<\/p>\n<p>No necesitas ser programador, ni tener una ingenier\u00eda para trabajar el LLMO. <strong>Si ya hac\u00edas SEO ver\u00e1s que muchas cosas son similares<\/strong> y que otras tan solo requieren un poquito de cuidado y sentido com\u00fan.<\/p>\n<p>Vamos a verlo.<\/p>\n<h3>1. Estructura tus contenidos de forma clara<\/h3>\n<p>Los LLMs necesitan procesar y comprender tus textos. Por eso, si utilizas una <strong>estructura l\u00f3gica y jer\u00e1rquica, junto con un formato escaneable,<\/strong> facilitar\u00e1s mucho su trabajo.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:3px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937D;color:#FFFFFF;border-top-left-radius:1px;border-top-right-radius:1px\">Buenas pr\u00e1cticas para que tu contenido sea m\u00e1s escaneable<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:1px;border-bottom-right-radius:1px\">\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Usa encabezados (&lt;h2&gt;, &lt;h3&gt;,&#8230;) para dividir bien los bloques tem\u00e1ticos.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Destaca palabras clave o ideas clave en negrita.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Utiliza las listas con vi\u00f1etas o n\u00fameros.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Incluye tablas o comparativas si tienes varios elementos que contrastar.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Evita los p\u00e1rrafos largos: 3 \u00f3 4 l\u00edneas por bloque como m\u00e1ximo suele ser una buena aproximaci\u00f3n.<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n<p>Por otro lado, \u00bfte has fijado en los <em>bullet points<\/em> que solemos colocar al inicio de nuestros posts?<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-30619 size-full\" title=\"LLMO o SEO para LLMs: formato escaneable con bullet points\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-bullet-points.png\" alt=\"LLMO o SEO para LLMs: formato escaneable con bullet points\" width=\"1024\" height=\"353\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-bullet-points.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-bullet-points-300x103.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-bullet-points-768x265.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Son una buena pr\u00e1ctica que no solo ayudan al lector a saber si le va a interesar o no el contenido, sino que tambi\u00e9n le dan al modelo una idea r\u00e1pida de lo que puede encontrar y qu\u00e9 partes usar si tiene que citarte o resumirte.<\/p>\n<h3>2. Utiliza formatos de pregunta-respuesta<\/h3>\n<p>Si <strong>estructuras tus p\u00e1ginas en forma de preguntas y las contestas a continuaci\u00f3n<\/strong>\u00a0estar\u00e1s ofreciendo a los modelos del lenguaje justo la informaci\u00f3n que necesitan para responder a los usuarios.<\/p>\n<p>Si analizas los t\u00edtulos de este mismo post ver\u00e1s que esto es precisamente lo que hemos intentado hacer.<\/p>\n<p>Ten en cuenta que<strong> la interacci\u00f3n con la IA suele ser muy conversacional<\/strong>, por lo que cuanto m\u00e1s nos ajustemos a ese formato, m\u00e1s probable es que nuestros contenidos formen parte de los resultados que ofrece.<\/p>\n<p>\u00bfNo se te ocurre qu\u00e9 preguntas puedes incluir en tus contenidos?<\/p>\n<p>No me lo creo. Pero si es as\u00ed, siempre <strong>puedes inspirarte en las preguntas frecuentes de Google<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-30617 size-full\" title=\"LLMO o SEO para LLMs:preguntas frecuentes de Google como fuente de inspiraci\u00f3n\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-paa-google.png\" alt=\"LLMO o SEO para LLMs:preguntas frecuentes de Google como fuente de inspiraci\u00f3n\" width=\"1024\" height=\"500\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-paa-google.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-paa-google-300x146.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-paa-google-768x375.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h3>3. Responde a la intenci\u00f3n de b\u00fasqueda lo antes posible<\/h3>\n<p><strong>No marees y ve al grano<\/strong>. No pongas contexto innecesario, ni te lies con historias que no vienen a cuento.<\/p>\n<p>Porque si el lector humano se cansa r\u00e1pido, el modelo seguramente considere que tu informaci\u00f3n es de poco valor si no le das lo que busca en las primeras l\u00edneas.<\/p>\n<p><strong>Intenta responder siempre en el primer p\u00e1rrafo<\/strong>, o mejor en la primera frase. Luego ya, si quieres, desarrollas, matizas o ampl\u00edas la informaci\u00f3n. Pero la respuesta principal tiene que estar arriba.<\/p>\n<p>Mira estos dos ejemplos para la pregunta \u201c\u00bfQu\u00e9 es el SEO On-Page?\u201d:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-thumbs-up\" style=\"color:#00c4a7\"><\/i> El SEO On-Page es el conjunto de optimizaciones que se aplican dentro de una p\u00e1gina web para mejorar su posicionamiento en buscadores.<\/li>\n<\/ul>\n<\/div>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-thumbs-down\" style=\"color:#FF0000\"><\/i> El SEO, o Search Engine Optimization, es una pr\u00e1ctica cada vez m\u00e1s com\u00fan en el marketing digital. Desde que los motores de b\u00fasqueda existen, los profesionales han buscado formas de mejorar su presencia online. Existen muchos tipos de estrategias SEO, bla, bla, bla \u2026<\/li>\n<\/ul>\n<\/div>\n<p>\u00bfCon cu\u00e1l crees que se quedar\u00e1 la IA y cu\u00e1l desechar\u00e1?<\/p>\n<h3>4. Enriquece tus contenidos con entidades relacionadas<\/h3>\n<p>Para que un LLM entienda tus contenidos y pueda usarlos en sus respuestas, <strong>debes darle contexto sem\u00e1ntico<\/strong> y, para ello, usar sin\u00f3nimos, conceptos relacionados, ejemplos, etc.<\/p>\n<p>En este punto, <strong>juegan un papel muy relevante las entidades<\/strong>, que ya eran utilizadas por Google, pero que ahora con los LLMs adquieren m\u00e1s importancia si cabe.<\/p>\n<p>Las entidades son <strong>t\u00e9rminos que tienen un significado claro y reconocido <\/strong>dentro de una base de conocimiento. Por ejemplo:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-share-alt\" style=\"color:#00937D\"><\/i> \u201cGoogle\u201d es una entidad (empresa).<\/li>\n<li><i class=\"sui sui-share-alt\" style=\"color:#00937D\"><\/i> \u201cSEO\u201d es una entidad (disciplina).<\/li>\n<li><i class=\"sui sui-share-alt\" style=\"color:#00937D\"><\/i> \u201cPageRank\u201d es una entidad (algoritmo).<\/li>\n<\/ul>\n<\/div>\n<p>\u00bfRecuerdas el tema de los tokens que comentamos antes?<\/p>\n<p>Pues bien, <strong>la combinaci\u00f3n de varios tokens puede dar lugar a entidades<\/strong>, que el modelo puede entender y relacionar entre s\u00ed. En la siguiente imagen creo que se ve bastante bien esta idea:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-30620 size-full\" title=\"LLMO o SEO para LLMs: ejemplo de tokens y entidades\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-entidades-tokens.png\" alt=\"LLMO o SEO para LLMs: ejemplo de tokens y entidades\" width=\"1024\" height=\"447\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-entidades-tokens.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-entidades-tokens-300x131.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-entidades-tokens-768x335.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>De este modo, cuantas m\u00e1s de estas entidades relevantes incluyas en tu contenido, m\u00e1s claro le queda al modelo de qu\u00e9 est\u00e1s hablando.<\/p>\n<h3>5. Incluye citas, ejemplos y estad\u00edsticas<\/h3>\n<p>Si te apoyas en <strong>datos reales y concretos<\/strong> aumentas las probabilidades de que un LLM te considere una fuente fiable al generar sus respuestas.<\/p>\n<p>Porque cuando el modelo escanea tu contenido, identifica que no est\u00e1s divagando, sino que <strong>te apoyas en hechos, nombras entidades relevantes y sabes de los que hablas.<\/strong><\/p>\n<p>Y eso, a nivel pr\u00e1ctico, se traduce en usar ejemplos claros, estad\u00edsticas relevantes o citas con fuentes. Mira, por ejemplo, este fragmento de nuestro post sobre <a id=\"CTA-1\" href=\"https:\/\/dinorank.com\/blog\/como-posicionar-ai-overviews\/\" target=\"_blank\" rel=\"noopener\">c\u00f3mo posicionar en las AI Overviews<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-30614 size-full\" title=\"LLMO o SEO para LLMs: citas, ejemplos y estad\u00edsticas\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-citas-estadisticas.png\" alt=\"LLMO o SEO para LLMs: citas, ejemplos y estad\u00edsticas\" width=\"1024\" height=\"739\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-citas-estadisticas.png 1024w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-citas-estadisticas-300x217.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-citas-estadisticas-768x554.png 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Adem\u00e1s, si aportas tu <strong>experiencia personal con casos reales y demostrables,<\/strong> que apoyen lo que est\u00e1s contando, estar\u00e1s reforzando tu autoridad como experto en la materia y es muy probable que la IA te acabe citando en determinadas ocasiones.<\/p>\n<h3>6. Emplea lenguaje natural<\/h3>\n<p><strong>Escribe como si hablaras<\/strong>. De manera correcta, eso s\u00ed, pero sin tecnicismos, ni frases enrevesadas.<\/p>\n<p>Recuerda que los modelos de lenguaje necesitan entender lo que dices, pero tambi\u00e9n c\u00f3mo lo dices, para poder dar respuestas lo m\u00e1s naturales posibles.<\/p>\n<p>Por eso, funcionan mejor cuando el <strong>lenguaje es claro y directo<\/strong>, ya que les resulta m\u00e1s sencillo dividir las frases en tokens coherentes, asociar esos tokens a entidades y entender el significado global de todo el texto.<\/p>\n<p>Te pongo un ejemplo para que entiendas mejor a lo que me refiero:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-thumbs-down\" style=\"color:#FF0000\"><\/i> \u201cEl PageRank constituye uno de los pilares fundamentales del ecosistema algor\u00edtmico de Google para la jerarquizaci\u00f3n de los resultados de b\u00fasqueda.\u201d<\/li>\n<\/ul>\n<\/div>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-thumbs-up\" style=\"color:#00c4a7\"><\/i> \u201cEl PageRank es uno de los sistemas que usa Google para decidir qu\u00e9 p\u00e1ginas muestra primero cuando buscas algo.\u201d<\/li>\n<\/ul>\n<\/div>\n<p>En definitiva, cuando escribas algo, l\u00e9elo dos o tres veces y, si hace falta, p\u00e1saselo a tu hermano a ver si lo entiende.<\/p>\n<h3>7. Utiliza datos estructurados<\/h3>\n<p>Si queremos que la IA interprete nuestro contenido sin lugar a errores podemos usar <strong>metadatos o datos estructurados tipo Schema.org<\/strong> para informarle sobre los puntos fundamentales. Echa un vistazo al siguiente ejemplo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-30615 size-full\" title=\"LLMO o SEO para LLMs: ejemplo de datos estructurados \" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-datos-estructurados.png\" alt=\"LLMO o SEO para LLMs: ejemplo de datos estructurados \" width=\"1000\" height=\"579\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-datos-estructurados.png 1000w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-datos-estructurados-300x174.png 300w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-datos-estructurados-768x445.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>Le estamos diciendo al modelo, a trav\u00e9s de un formato legible para m\u00e1quinas, cosas como:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> \u201cEsto es un art\u00edculo de blog.\u201d<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> \u201cSe trata de una gu\u00eda para aparecer en ChatGPT.\u201d<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> \u201cSe ha publicado recientemente\u201d<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> \u201cEl autor es Eduard Coromina, que forma parte de DinoRANK\u201d<\/li>\n<\/ul>\n<\/div>\n<p>De este modo, adem\u00e1s de <strong>facilitar al modelo la interpretaci\u00f3n del contenido<\/strong>, ya est\u00e1s identificando entidades desde un primer momento, por lo que tus textos ser\u00e1n tambi\u00e9n m\u00e1s f\u00e1ciles de reutilizar e integrar en las respuestas de la IA.<\/p>\n<h3>8. Refuerza tu EEAT<\/h3>\n<p>Para que los LLMs te tengan en cuenta, deben poder fiarse de ti y de tus contenidos. Y para ello, <strong>tienen muy presente lo que otros dicen de ti<\/strong>.<\/p>\n<p>En el mundo SEO, Google lleva ya tiempo hablando y valorando el tema del <a id=\"CTA-1\" href=\"https:\/\/dinorank.com\/blog\/que-es-eeat-y-como-trabajarlo-caso-real-seo\/\" target=\"_blank\" rel=\"noopener\">EEAT<\/a>. Ahora, con los modelos de lenguaje, este concepto cobra todav\u00eda m\u00e1s peso.<\/p>\n<p>Por ejemplo, si ChatGPT ve que DinoRANK aparece en art\u00edculos de blogs de SEO, en comparativas de software, en podcasts de SEO local o en foros tem\u00e1ticos, seguramente asuma que es relevante cuando alguien pregunta por herramientas de SEO.<\/p>\n<p>Por eso, necesitas <strong>tener presencia digital en aquellos lugares que el modelo considera contextualmente significativos para tu sector<\/strong>. De esa manera ser\u00e1 m\u00e1s probable que te tome como fuente de autoridad, ya sea para usar tu contenido o para citarte en sus respuestas.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:3px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937D;color:#FFFFFF;border-top-left-radius:1px;border-top-right-radius:1px\">Lugares donde deber\u00edas aparecer mencionado para ser relevante<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:1px;border-bottom-right-radius:1px\">\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Directorios especializados del sector.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Foros o comunidades tem\u00e1ticas.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Webs de nicho o blogs con autoridad.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Entrevistas, podcasts, webinars.<\/li>\n<li><i class=\"sui sui-check\" style=\"color:#00937D\"><\/i> Redes sociales.<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n<h3>9. Actualiza tus contenidos con regularidad<\/h3>\n<p><strong>A los LLMs les gusta la informaci\u00f3n fresca.<\/strong> Y m\u00e1s a\u00fan si est\u00e1n conectados a la web o utilizan sistemas de recuperaci\u00f3n como RAG.<\/p>\n<p>Pi\u00e9nsalo por un momento:<\/p>\n<p>\u00bfDe qu\u00e9 le vale a un LLM un contenido que es igual que lo que ya tiene en su corpus? \u00bfO para qu\u00e9 quiere procesar un texto que ya est\u00e1 desfasado?<\/p>\n<p>Por eso:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check-square-o\" style=\"color:#00937D\"><\/i> Revisa al menos cada 6 meses los contenidos clave de tu web.<\/li>\n<li><i class=\"sui sui-check-square-o\" style=\"color:#00937D\"><\/i> Si haces un cambio relevante, actualiza la fecha de publicaci\u00f3n o modificaci\u00f3n.<\/li>\n<li><i class=\"sui sui-check-square-o\" style=\"color:#00937D\"><\/i> A\u00f1ade nuevos ejemplos, estad\u00edsticas o capturas de pantalla actualizadas.<\/li>\n<li><i class=\"sui sui-check-square-o\" style=\"color:#00937D\"><\/i> Comprueba que los enlaces externos sigan funcionando.<\/li>\n<\/ul>\n<\/div>\n<p>De este modo es mucho m\u00e1s probable que un LLM conf\u00ede en ti como fuente para generar una respuesta.<\/p>\n<h3>10. Trabaja el SEO de tu sitio web<\/h3>\n<p><strong>El LLMO no sustituye al SEO<\/strong>, sino que ambos se complementan.<\/p>\n<p>Ya hemos visto que cuando el modelo no tiene datos actualizados sobre un tema utiliza el <strong>modo RAG para conectarse a Internet <\/strong>y consultar nuevas fuentes que le permitan complementar su informaci\u00f3n.<\/p>\n<p>\u00bfA qu\u00e9 sitios web crees que acceder\u00e1 en busca de esta nueva informaci\u00f3n?<\/p>\n<p>Exacto, a los que est\u00e9n <strong>mejor posicionados en los buscadores.<\/strong><\/p>\n<p>Debes tener en cuenta que la mayor\u00eda de los modelos de IA utilizan la API de Google o la de Bing para acceder a Internet, por lo que todas las <a id=\"CTA-1\" href=\"https:\/\/dinorank.com\/blog\/estrategia-seo\/\" target=\"_blank\" rel=\"noopener\">estrategias SEO<\/a> que conoc\u00edamos hasta ahora siguen estando vigentes.<\/p>\n<p>Y por eso, si tu web no est\u00e1 optimizada para SEO es muy dif\u00edcil (te dir\u00eda que casi imposible) que consigas ser visible en las respuestas generadas por IA.<\/p>\n<p><span style=\"font-weight: 400;\"><div id=\"brxe-5c527e\" class=\"brxe-block p-2 gap-15\"><div id=\"brxe-d69b57\" class=\"brxe-text-basic h3\">Descubre 6 t\u00e9cnicas sencillas (pero eficaces) para que las visitas de tu web crezcan m\u00e1s r\u00e1pido que la espuma de una cerveza mal tirada.\n<\/div><div id=\"brxe-445cc8\" class=\"brxe-text-basic\"><strong>Aunque no seas un experto en SEO<\/strong> ni puedas dedicarte mucho tiempo a esto.<\/div><div id=\"brxe-lbvkeh\" data-script-id=\"lbvkeh\" class=\"brxe-code incontent-form-html\"><style>@import url(https:\/\/fonts.bunny.net\/css?family=source-sans-pro:400,700);<\/style>\n<style>\n#_form_331_{font-size:14px;line-height:1.6;font-family:arial, helvetica, sans-serif;margin:0}#_form_331_ *{outline:0}._form_hide{display:none;visibility:hidden}._form_show{display:block;visibility:visible}#_form_331_._form-top{top:0}#_form_331_._form-bottom{bottom:0}#_form_331_._form-left{left:0}#_form_331_._form-right{right:0}#_form_331_ input[type=\"text\"],#_form_331_ input[type=\"tel\"],#_form_331_ input[type=\"date\"],#_form_331_ textarea{padding:6px;height:auto;border:#979797 1px solid;border-radius:4px;color:#000 !important;font-size:14px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}#_form_331_ textarea{resize:none}#_form_331_ ._submit{-webkit-appearance:none;cursor:pointer;font-family:arial, sans-serif;font-size:14px;text-align:center;background:#00C4A7 !important;border:0 !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important;border-radius:3px !important;color:#FFFFFF !important;padding:14px !important}#_form_331_ ._submit:disabled{cursor:not-allowed;opacity:0.4}#_form_331_ ._submit.processing{position:relative}#_form_331_ ._submit.processing::before{content:\"\";width:1em;height:1em;position:absolute;z-index:1;top:50%;left:50%;border:double 3px transparent;border-radius:50%;background-image:linear-gradient(#00C4A7, #00C4A7), conic-gradient(#00C4A7, #FFFFFF);background-origin:border-box;background-clip:content-box, border-box;animation:1200ms ease 0s infinite normal none running _spin}#_form_331_ ._submit.processing::after{content:\"\";position:absolute;top:0;bottom:0;left:0;right:0;background:#00C4A7 !important;border:0 !important;-moz-border-radius:3px !important;-webkit-border-radius:3px !important;border-radius:3px !important;color:#FFFFFF !important;padding:14px !important}@keyframes _spin{0%{transform:translate(-50%, -50%) rotate(90deg)}100%{transform:translate(-50%, -50%) rotate(450deg)}}#_form_331_ ._close-icon{cursor:pointer;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/esfkyjh1u_forms-close-dark.png\");background-repeat:no-repeat;background-size:14.2px 14.2px;position:absolute;display:block;top:11px;right:9px;overflow:hidden;width:16.2px;height:16.2px}#_form_331_ ._close-icon:before{position:relative}#_form_331_ ._form-body{margin-bottom:30px}#_form_331_ ._form-image-left{width:150px;float:left}#_form_331_ ._form-content-right{margin-left:164px}#_form_331_ ._form-branding{color:#fff;font-size:10px;clear:both;text-align:left;margin-top:30px;font-weight:100}#_form_331_ ._form-branding ._logo{display:block;width:130px;height:14px;margin-top:6px;background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/hh9ujqgv5_aclogo_li.png\");background-size:130px auto;background-repeat:no-repeat}#_form_331_ .form-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}#_form_331_ ._form-label,#_form_331_ ._form_element ._form-label{font-weight:bold;margin-bottom:5px;display:block}#_form_331_._dark ._form-branding{color:#333}#_form_331_._dark ._form-branding ._logo{background-image:url(\"https:\/\/d226aj4ao1t61q.cloudfront.net\/jftq2c8s_aclogo_dk.png\")}#_form_331_ ._form_element{position:relative;margin-bottom:10px;font-size:0;max-width:100%}#_form_331_ ._form_element *{font-size:14px}#_form_331_ ._form_element._clear{clear:both;width:100%;float:none}#_form_331_ ._form_element._clear:after{clear:left}#_form_331_ ._form_element input[type=\"text\"],#_form_331_ ._form_element input[type=\"date\"],#_form_331_ ._form_element select,#_form_331_ ._form_element textarea:not(.g-recaptcha-response){display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-family:inherit}#_form_331_ ._field-wrapper{position:relative}#_form_331_ ._inline-style{float:left}#_form_331_ ._inline-style input[type=\"text\"]{width:150px}#_form_331_ ._inline-style:not(._clear){margin-right:20px}#_form_331_ ._form_element img._form-image{max-width:100%}#_form_331_ ._form_element ._form-fieldset{border:0;padding:0.01em 0 0 0;margin:0;min-width:0}#_form_331_ ._clear-element{clear:left}#_form_331_ ._full_width{width:100%}#_form_331_ ._form_full_field{display:block;width:100%;margin-bottom:10px}#_form_331_ input[type=\"text\"]._has_error,#_form_331_ textarea._has_error{border:#F37C7B 1px solid}#_form_331_ input[type=\"checkbox\"]._has_error{outline:#F37C7B 1px solid}#_form_331_ ._show_be_error{float:left}#_form_331_ ._error{display:block;position:absolute;font-size:14px;z-index:10000001}#_form_331_ ._error._above{padding-bottom:4px;bottom:39px;right:0}#_form_331_ ._error._below{padding-top:8px;top:100%;right:0}#_form_331_ ._error._above ._error-arrow{bottom:-4px;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #FFDDDD}#_form_331_ ._error._below ._error-arrow{top:0;right:15px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:8px solid #FFDDDD}#_form_331_ ._error-inner{padding:12px 12px 12px 36px;background-color:#FFDDDD;background-image:url(\"data:image\/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http:\/\/www.w3.org\/2000\/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M16 8C16 12.4183 12.4183 16 8 16C3.58172 16 0 12.4183 0 8C0 3.58172 3.58172 0 8 0C12.4183 0 16 3.58172 16 8ZM9 3V9H7V3H9ZM9 13V11H7V13H9Z' fill='%23CA0000'\/%3E%3C\/svg%3E\");background-repeat:no-repeat;background-position:12px center;font-size:14px;font-family:arial, sans-serif;font-weight:600;line-height:16px;color:#000;text-align:center;text-decoration:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;box-shadow:0 1px 4px rgba(31, 33, 41, 0.298295)}@media only screen and (max-width:319px){#_form_331_ ._error-inner{padding:7px 7px 7px 25px;font-size:12px;line-height:12px;background-position:4px center;max-width:100px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}#_form_331_ ._error-inner._form_error{margin-bottom:5px;text-align:left}#_form_331_ ._button-wrapper ._error-inner._form_error{position:static}#_form_331_ ._error-inner._no_arrow{margin-bottom:10px}#_form_331_ ._error-arrow{position:absolute;width:0;height:0}#_form_331_ ._error-html{margin-bottom:10px}.pika-single{z-index:10000001 !important}#_form_331_ input[type=\"text\"].datetime_date{width:69%;display:inline}#_form_331_ select.datetime_time{width:29%;display:inline;height:32px}#_form_331_ input[type=\"date\"].datetime_date{width:69%;display:inline-flex}#_form_331_ input[type=\"time\"].datetime_time{width:29%;display:inline-flex}@media (min-width:320px) and (max-width:667px){::-webkit-scrollbar{display:none}#_form_331_{margin:0;width:100%;min-width:100%;max-width:100%;box-sizing:border-box}#_form_331_ *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;font-size:1em}#_form_331_ ._form-content{margin:0;width:100%}#_form_331_ ._form-inner{display:block;min-width:100%}#_form_331_ ._form-title,#_form_331_ ._inline-style{margin-top:0;margin-right:0;margin-left:0}#_form_331_ ._form-title{font-size:1.2em}#_form_331_ ._form_element{margin:0 0 20px;padding:0;width:100%}#_form_331_ ._form-element,#_form_331_ ._inline-style,#_form_331_ input[type=\"text\"],#_form_331_ label,#_form_331_ p,#_form_331_ textarea:not(.g-recaptcha-response){float:none;display:block;width:100%}#_form_331_ ._row._checkbox-radio label{display:inline}#_form_331_ ._row,#_form_331_ p,#_form_331_ label{margin-bottom:0.7em;width:100%}#_form_331_ ._row input[type=\"checkbox\"],#_form_331_ ._row input[type=\"radio\"]{margin:0 !important;vertical-align:middle !important}#_form_331_ ._row input[type=\"checkbox\"]+span label{display:inline}#_form_331_ ._row span label{margin:0 !important;width:initial !important;vertical-align:middle !important}#_form_331_ ._form-image{max-width:100%;height:auto !important}#_form_331_ input[type=\"text\"]{padding-left:10px;padding-right:10px;font-size:16px;line-height:1.3em;-webkit-appearance:none}#_form_331_ input[type=\"radio\"],#_form_331_ input[type=\"checkbox\"]{display:inline-block;width:1.3em;height:1.3em;font-size:1em;margin:0 0.3em 0 0;vertical-align:baseline}#_form_331_ button[type=\"submit\"]{padding:20px;font-size:1.5em}#_form_331_ ._inline-style{margin:20px 0 0 !important}#_form_331_ ._inline-style input[type=\"text\"]{width:100%}}#_form_331_ .sms_consent_checkbox{position:relative;width:100%;display:flex;align-items:flex-start;padding:20px 0}#_form_331_ .sms_consent_checkbox input[type=\"checkbox\"]{float:left;margin:5px 10px 10px 0}#_form_331_ .sms_consent_checkbox .sms_consent_message{display:inline;float:left;text-align:left;margin-bottom:10px;font-size:14px;color:#7D8799}#_form_331_ .sms_consent_checkbox .sms_consent_message.sms_consent_mini{width:90%}#_form_331_ .sms_consent_checkbox ._error._above{right:auto;bottom:0}#_form_331_ .sms_consent_checkbox ._error._above ._error-arrow{right:auto;left:5px}@media (min-width:320px) and (max-width:667px){#_form_331_ .sms_consent_checkbox ._error._above{top:-30px;left:0;bottom:auto}}#_form_331_ .field-required{color:#FF0000}#_form_331_{position:relative;text-align:left;margin:25px auto 0;padding:20px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;background:rgba(255, 255, 255, 0) !important;border-top:0px solid #737373 !important;border-right:0px solid #737373 !important;border-bottom:0px solid #737373 !important;border-left:0px solid #737373 !important;max-width:800px;-moz-border-radius:1px !important;-webkit-border-radius:1px !important;border-radius:1px !important;color:#000000}#_form_331_ ._show_be_error{min-width:100%}#_form_331_._inline-form,#_form_331_._inline-form ._form-content{font-family:Source Sans Pro;font-size:14px;font-weight:400}#_form_331_._inline-form ._row span,#_form_331_._inline-form ._row label{font-family:Source Sans Pro;font-size:14px;font-weight:400;line-height:1.6em;color:#888 !important}#_form_331__inlineform input[type=\"text\"],#_form_331__inlineform input[type=\"date\"],#_form_331__inlineform input[type=\"tel\"],#_form_331__inlineform select,#_form_331__inlineform textarea:not(.g-recaptcha-response){font-family:Source Sans Pro;font-size:14px;font-weight:400;font-color:#000000;line-height:1.6em}#_form_331_._inline-form ._html-code *:not(h1, h2, h3, h4, h5, h6),#_form_331_._inline-form .sms_consent_message,#_form_331_._inline-form ._form-thank-you{font-family:Source Sans Pro;font-size:14px;font-weight:400;color:#888 !important}#_form_331_._inline-form ._form-label,#_form_331_._inline-form ._form-emailidentifier,#_form_331_._inline-form ._form-checkbox-option-label{font-family:Source Sans Pro;font-size:14px;font-weight:700;line-height:1.6em;color:#888 !important}#_form_331_._inline-form ._submit{margin-top:12px;font-family:Source Sans Pro;font-size:14px;font-weight:400}#_form_331_._inline-form ._html-code h1,#_form_331_._inline-form ._html-code h2,#_form_331_._inline-form ._html-code h3,#_form_331_._inline-form ._html-code h4,#_form_331_._inline-form ._html-code h5,#_form_331_._inline-form ._html-code h6,#_form_331_._inline-form ._form-title{font-family:Source Sans Pro;font-size:22px;line-height:normal;font-weight:700;color:black;margin-bottom:0;display:block}#_form_331_._inline-form ._form-branding{font-family:\"IBM Plex Sans\", Helvetica, sans-serif;font-size:13px;font-weight:100;font-style:normal;text-decoration:none}#_form_331_:before,#_form_331_:after{content:\" \";display:table}#_form_331_:after{clear:both}#_form_331_._inline-style{width:auto;display:inline-block}#_form_331_._inline-style input[type=\"text\"],#_form_331_._inline-style input[type=\"date\"]{padding:10px 12px}#_form_331_._inline-style button._inline-style{position:relative;top:27px}#_form_331_._inline-style p{margin:0}#_form_331_._inline-style ._button-wrapper{position:relative;margin:16px 12.5px 0 20px}#_form_331_ ._form-thank-you{position:relative;left:0;right:0;text-align:center;font-size:18px}#_form_331_ ._form-pc-confirmation ._submit{margin-top:16px}@media (min-width:320px) and (max-width:667px){#_form_331_._inline-form._inline-style ._inline-style._button-wrapper{margin-top:20px !important;margin-left:0 !important}}#_form_331_ .iti{width:100%}#_form_331_ .iti.iti--allow-dropdown.iti--separate-dial-code{width:100%}#_form_331_ .iti input{width:100%;border:#979797 1px solid;border-radius:4px}#_form_331_ .iti--separate-dial-code .iti__selected-flag{background-color:#FFFFFF;border-radius:4px}#_form_331_ .iti--separate-dial-code .iti__selected-flag:hover{background-color:rgba(0, 0, 0, 0.05)}#_form_331_ .iti__country-list{border-radius:4px;margin-top:4px;min-width:460px}#_form_331_ .iti__country-list--dropup{margin-bottom:4px}#_form_331_ .phone-error-hidden{display:none}#_form_331_ .phone-error{color:#E40E49}#_form_331_ .phone-input-error{border:1px solid #E40E49 !important}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field fieldset{margin:0;margin-bottom:1.1428571429em;border:none;padding:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field fieldset:last-child{margin-bottom:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field legend{margin-bottom:1.1428571429em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field label{display:flex;align-items:flex-start;justify-content:flex-start;margin-bottom:0.8571428571em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field label:last-child{margin-bottom:0}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field input{margin:0;margin-right:8px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label{display:block;font-weight:400;margin-top:-4px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-label-with-description{display:block;font-weight:700;margin-top:-4px}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-checkbox-option-description{margin:0;font-size:0.8571428571em}#_form_331_._inline-form ._form-content ._form-list-subscriptions-field ._form-subscriptions-unsubscribe-all-description{line-height:normal;margin-top:-2px}\n#_form_331_ ._submit{width:100%;font-family:\"Source Sans Pro\", Sans-serif !important;font-size:18px !important;font-weight:500 !important}#_form_331_ ._submit:hover{background-color:#04937E !important}#_form_331_ input#email{padding:3px 12px;background-color:#ffffff;border-radius:2px}#_form_331_._form{margin-top:-5px}#_form_331_ ._error._below{position:relative !important}#_form_331_ ._error._above{position:absolute !important}@media (min-width:320px) and (max-width:667px){#_form_331_ ._form_element{margin:0 0 0px}}<\/style>\n<form method=\"POST\" action=\"https:\/\/deandelafuenteromero.activehosted.com\/proc.php\" id=\"_form_331_\" class=\"_form _form_331 _inline-form  _dark\" novalidate data-styles-version=\"5\">\n  <input type=\"hidden\" name=\"u\" value=\"331\" \/>\n  <input type=\"hidden\" name=\"f\" value=\"331\" \/>\n  <input type=\"hidden\" name=\"s\" \/>\n  <input type=\"hidden\" name=\"c\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"m\" value=\"0\" \/>\n  <input type=\"hidden\" name=\"act\" value=\"sub\" \/>\n  <input type=\"hidden\" name=\"v\" value=\"2\" \/>\n  <input type=\"hidden\" name=\"or\" value=\"789ef8b4693eba56cf9cd6622eca7a0e\" \/>\n  <div class=\"_form-content\">\n    <div class=\"_form_element _x74577619 _full_width \" >\n      <label for=\"email\" class=\"_form-label\">\n      <\/label>\n      <div class=\"_field-wrapper\">\n        <input type=\"text\" id=\"email\" name=\"email\" placeholder=\"Tu email...\" required\/>\n      <\/div>\n    <\/div>\n    <div class=\"_form_element _x87696446 _full_width \" >\n      <fieldset class=\"_form-fieldset\">\n        <div class=\"_row\">\n          <legend for=\"field[15][]\" class=\"_form-label\">\n          <\/legend>\n        <\/div>\n        <input data-autofill=\"false\" type=\"hidden\" id=\"field[15][]\" name=\"field[15][]\" value=\"~|\">\n        <div class=\"_row _checkbox-radio\">\n          <input id=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\" type=\"checkbox\" name=\"field[15][]\"\n          value=\"He le\u00eddo y acepto la pol\u00edtica de privacidad\"                                                                                 required                                >\n          <span>\n            <label for=\"field_15He le\u00eddo y acepto la pol\u00edtica de privacidad\">\n              He le\u00eddo y acepto la pol\u00edtica de privacidad<span class=\"field-required\">\n              *\n            <\/span>\n          <\/label>\n        <\/span>\n      <\/div>\n    <\/fieldset>\n  <\/div>\n  <div class=\"_form_element _x09639014 _full_width \" >\n    <input type=\"hidden\" name=\"field[121]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x64811239 _full_width \" >\n    <input type=\"hidden\" name=\"field[122]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x58860354 _full_width \" >\n    <input type=\"hidden\" name=\"field[123]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x23331849 _full_width \" >\n    <input type=\"hidden\" name=\"field[125]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x72046679 _full_width \" >\n    <input type=\"hidden\" name=\"field[126]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_form_element _x41336277 _full_width \" >\n    <input type=\"hidden\" name=\"field[127]\" value=\"\" \/>\n  <\/div>\n  <div class=\"_button-wrapper _full_width\">\n    <button id=\"_form_331_submit\" class=\"_submit\" type=\"submit\">\n      Ap\u00fantate aqu\u00ed\n    <\/button>\n  <\/div>\n  <div class=\"_clear-element\">\n  <\/div>\n<\/div>\n<div class=\"_form-thank-you\" style=\"display:none;\">\n<\/div>\n<\/form><script>\nwindow.cfields = {\"15\":\"poltica_privacidad\",\"121\":\"utm_campaign\",\"122\":\"utm_source\",\"123\":\"utm_medium\",\"125\":\"utm_content\",\"126\":\"utm_adset\",\"127\":\"utm_ad\"};\nwindow._show_thank_you = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), thank_you = form.querySelector('._form-thank-you');\n    form.querySelector('._form-content').style.display = 'none';\n    thank_you.innerHTML = message;\n    thank_you.style.display = 'block';\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_unsubscribe = function(id, message, trackcmp_url, email) {\n    var form = document.getElementById('_form_' + id + '_'), unsub = form.querySelector('._form-thank-you');\n    var branding = form.querySelector('._form-branding');\n    if (branding) {\n        branding.style.display = 'none';\n    }\n    form.querySelector('._form-content').style.display = 'none';\n    unsub.style.display = 'block';\n    form.insertAdjacentHTML('afterend', message)\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._show_error = function(id, message, html) {\n    var form = document.getElementById('_form_' + id + '_'),\n        err = document.createElement('div'),\n        button = form.querySelector('button[type=\"submit\"]'),\n        old_error = form.querySelector('._form_error');\n    if (old_error) old_error.parentNode.removeChild(old_error);\n    err.innerHTML = message;\n    err.className = '_error-inner _form_error _no_arrow';\n    var wrapper = document.createElement('div');\n    wrapper.className = '_form-inner _show_be_error';\n    wrapper.appendChild(err);\n    button.parentNode.insertBefore(wrapper, button);\n    var submitButton = form.querySelector('[id^=\"_form\"][id$=\"_submit\"]');\n    submitButton.disabled = false;\n    submitButton.classList.remove('processing');\n    if (html) {\n        var div = document.createElement('div');\n        div.className = '_error-html';\n        div.innerHTML = html;\n        err.appendChild(div);\n    }\n};\nwindow._show_pc_confirmation = function(id, header, detail, show, email) {\n    var form = document.getElementById('_form_' + id + '_'), pc_confirmation = form.querySelector('._form-pc-confirmation');\n    if (pc_confirmation.style.display === 'none') {\n        form.querySelector('._form-content').style.display = 'none';\n        pc_confirmation.innerHTML = \"<div class='_form-title'>\" + header + \"<\/div>\" + \"<p>\" + detail + \"<\/p>\" +\n        \"<button class='_submit' id='hideButton'>Administrar preferencias<\/button>\";\n        pc_confirmation.style.display = 'block';\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '0';\n    } else {\n        form.querySelector('._form-content').style.display = 'inline';\n        pc_confirmation.style.display = 'none';\n    }\n\n    var hideButton = document.getElementById('hideButton');\n    \/\/ Add event listener to the button\n    hideButton.addEventListener('click', function() {\n        var submitButton = document.querySelector('#_form_331_submit');\n        submitButton.disabled = false;\n        submitButton.classList.remove('processing');\n        var mp = document.querySelector('input[name=\"mp\"]');\n        mp.value = '1';\n        const cacheBuster = new URL(window.location.href);\n        cacheBuster.searchParams.set('v', new Date().getTime());\n        window.location.href = cacheBuster.toString();\n    });\n\n    const vgoAlias = typeof visitorGlobalObjectAlias === 'undefined' ? 'vgo' : visitorGlobalObjectAlias;\n    var visitorObject = window[vgoAlias];\n    if (email && typeof visitorObject !== 'undefined') {\n        visitorObject('setEmail', email);\n        visitorObject('update');\n    } else if (typeof(trackcmp_url) != 'undefined' && trackcmp_url) {\n        \/\/ Site tracking URL to use after inline form submission.\n        _load_script(trackcmp_url);\n    }\n    if (typeof window._form_callback !== 'undefined') window._form_callback(id);\n};\nwindow._load_script = function(url, callback, isSubmit) {\n    var head = document.querySelector('head'), script = document.createElement('script'), r = false;\n    var submitButton = document.querySelector('#_form_331_submit');\n    script.charset = 'utf-8';\n    script.src = url;\n    if (callback) {\n        script.onload = script.onreadystatechange = function() {\n            if (!r && (!this.readyState || this.readyState == 'complete')) {\n                r = true;\n                callback();\n            }\n        };\n    }\n    script.onerror = function() {\n        if (isSubmit) {\n            if (script.src.length > 10000) {\n                _show_error(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Acorta tus respuestas y vuelve a intentarlo.\");\n            } else {\n                _show_error(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n            }\n            submitButton.disabled = false;\n            submitButton.classList.remove('processing');\n        }\n    }\n\n    head.appendChild(script);\n};\n(function() {\n    var iti;\n    if (window.location.search.search(\"excludeform\") !== -1) return false;\n    var getCookie = function(name) {\n        var match = document.cookie.match(new RegExp('(^|; )' + name + '=([^;]+)'));\n        return match ? match[2] : null;\n    }\n    var setCookie = function(name, value) {\n        var now = new Date();\n        var time = now.getTime();\n        var expireTime = time + 1000 * 60 * 60 * 24 * 365;\n        now.setTime(expireTime);\n        document.cookie = name + '=' + value + '; expires=' + now + ';path=\/; Secure; SameSite=Lax;';\n    }\n    var addEvent = function(element, event, func) {\n        if (element.addEventListener) {\n            element.addEventListener(event, func);\n        } else {\n            var oldFunc = element['on' + event];\n            element['on' + event] = function() {\n                oldFunc.apply(this, arguments);\n                func.apply(this, arguments);\n            };\n        }\n    }\n    var _removed = false;\n        var form_to_submit = document.getElementById('_form_331_');\n    var allInputs = form_to_submit.querySelectorAll('input, select, textarea'), tooltips = [], submitted = false;\n\n    var getUrlParam = function(name) {\n        if (name.toLowerCase() !== 'email') {\n            var params = new URLSearchParams(window.location.search);\n            return params.get(name) || false;\n        }\n        \/\/ email is a special case because a plus is valid in the email address\n        var qString = window.location.search;\n        if (!qString) {\n            return false;\n        }\n        var parameters = qString.substr(1).split('&');\n        for (var i = 0; i < parameters.length; i++) {\n            var parameter = parameters[i].split('=');\n            if (parameter[0].toLowerCase() === 'email') {\n                return parameter[1] === undefined ? true : decodeURIComponent(parameter[1]);\n            }\n        }\n        return false;\n    };\n\n    var acctDateFormat = \"%d\/%m\/%Y\";\n    var getNormalizedDate = function(date, acctFormat) {\n        var decodedDate = decodeURIComponent(date);\n        if (acctFormat && acctFormat.match(\/(%d|%e).*%m\/gi) !== null) {\n            return decodedDate.replace(\/(\\d{2}).*(\\d{2}).*(\\d{4})\/g, '$3-$2-$1');\n        } else if (Date.parse(decodedDate)) {\n            var dateObj = new Date(decodedDate);\n            var year = dateObj.getFullYear();\n            var month = dateObj.getMonth() + 1;\n            var day = dateObj.getDate();\n            return `${year}-${month < 10 ? `0${month}` : month}-${day < 10 ? `0${day}` : day}`;\n        }\n        return false;\n    };\n\n    var getNormalizedTime = function(time) {\n        var hour, minutes;\n        var decodedTime = decodeURIComponent(time);\n        var timeParts = Array.from(decodedTime.matchAll(\/(\\d{1,2}):(\\d{1,2})\\W*([AaPp][Mm])?\/gm))[0];\n        if (timeParts[3]) { \/\/ 12 hour format\n            var isPM = timeParts[3].toLowerCase() === 'pm';\n            if (isPM) {\n                hour = parseInt(timeParts[1]) === 12 ? '12' : `${parseInt(timeParts[1]) + 12}`;\n            } else {\n                hour = parseInt(timeParts[1]) === 12 ? '0' : timeParts[1];\n            }\n        } else { \/\/ 24 hour format\n            hour = timeParts[1];\n        }\n        var normalizedHour = parseInt(hour) < 10 ? `0${parseInt(hour)}` : hour;\n        var minutes = timeParts[2];\n        return `${normalizedHour}:${minutes}`;\n    };\n\n    for (var i = 0; i < allInputs.length; i++) {\n        var regexStr = \"field\\\\[(\\\\d+)\\\\]\";\n        var results = new RegExp(regexStr).exec(allInputs[i].name);\n        if (results != undefined) {\n            allInputs[i].dataset.name = allInputs[i].name.match(\/\\[time\\]$\/)\n                ? `${window.cfields[results[1]]}_time`\n                : window.cfields[results[1]];\n        } else {\n            allInputs[i].dataset.name = allInputs[i].name;\n        }\n        var fieldVal = getUrlParam(allInputs[i].dataset.name);\n\n        if (fieldVal) {\n            if (allInputs[i].dataset.autofill === \"false\") {\n                continue;\n            }\n            if (allInputs[i].type == \"radio\" || allInputs[i].type == \"checkbox\") {\n                if (allInputs[i].value == fieldVal) {\n                    allInputs[i].checked = true;\n                }\n            } else if (allInputs[i].type == \"date\") {\n                allInputs[i].value = getNormalizedDate(fieldVal, acctDateFormat);\n            } else if (allInputs[i].type == \"time\") {\n                allInputs[i].value = getNormalizedTime(fieldVal);\n            } else {\n                allInputs[i].value = fieldVal;\n            }\n        }\n    }\n\n    var remove_tooltips = function() {\n        for (var i = 0; i < tooltips.length; i++) {\n            tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n        }\n        tooltips = [];\n    };\n    var remove_tooltip = function(elem) {\n        for (var i = 0; i < tooltips.length; i++) {\n            if (tooltips[i].elem === elem) {\n                tooltips[i].tip.parentNode.removeChild(tooltips[i].tip);\n                tooltips.splice(i, 1);\n                return;\n            }\n        }\n    };\n    var create_tooltip = function(elem, text) {\n        var tooltip = document.createElement('div'),\n            arrow = document.createElement('div'),\n            inner = document.createElement('div'), new_tooltip = {};\n        if (elem.type != 'radio' && (elem.type != 'checkbox' || elem.name === 'sms_consent')) {\n            tooltip.className = '_error';\n            arrow.className = '_error-arrow';\n            inner.className = '_error-inner';\n            inner.innerHTML = text;\n            tooltip.appendChild(arrow);\n            tooltip.appendChild(inner);\n            elem.parentNode.appendChild(tooltip);\n        } else {\n            tooltip.className = '_error-inner _no_arrow';\n            tooltip.innerHTML = text;\n            elem.parentNode.insertBefore(tooltip, elem);\n            new_tooltip.no_arrow = true;\n        }\n        new_tooltip.tip = tooltip;\n        new_tooltip.elem = elem;\n        tooltips.push(new_tooltip);\n        return new_tooltip;\n    };\n    var resize_tooltip = function(tooltip) {\n        var rect = tooltip.elem.getBoundingClientRect();\n        var doc = document.documentElement,\n            scrollPosition = rect.top - ((window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0));\n        if (scrollPosition < 40) {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _below';\n        } else {\n            tooltip.tip.className = tooltip.tip.className.replace(\/ ?(_above|_below) ?\/g, '') + ' _above';\n        }\n    };\n    var resize_tooltips = function() {\n        if (_removed) return;\n        for (var i = 0; i < tooltips.length; i++) {\n            if (!tooltips[i].no_arrow) resize_tooltip(tooltips[i]);\n        }\n    };\n    var validate_field = function(elem, remove) {\n        var tooltip = null, value = elem.value, no_error = true;\n        remove ? remove_tooltip(elem) : false;\n        if (elem.type != 'checkbox') elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n        if (elem.getAttribute('required') !== null) {\n            if (elem.type == 'radio' || (elem.type == 'checkbox' && \/any\/.test(elem.className))) {\n                var elems = form_to_submit.elements[elem.name];\n                if (!(elems instanceof NodeList || elems instanceof HTMLCollection) || elems.length <= 1) {\n                    no_error = elem.checked;\n                }\n                else {\n                    no_error = false;\n                    for (var i = 0; i < elems.length; i++) {\n                        if (elems[i].checked) no_error = true;\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (elem.type =='checkbox') {\n                var elems = form_to_submit.elements[elem.name], found = false, err = [];\n                no_error = true;\n                for (var i = 0; i < elems.length; i++) {\n                    if (elems[i].getAttribute('required') === null) continue;\n                    if (!found && elems[i] !== elem) return true;\n                    found = true;\n                    elems[i].className = elems[i].className.replace(\/ ?_has_error ?\/g, '');\n                    if (!elems[i].checked) {\n                        no_error = false;\n                        elems[i].className = elems[i].className + ' _has_error';\n                        err.push(\"Es necesario verificar %s\".replace(\"%s\", elems[i].value));\n                    }\n                }\n                if (!no_error) {\n                    tooltip = create_tooltip(elem, err.join('<br\/>'));\n                }\n            } else if (elem.tagName == 'SELECT') {\n                var selected = true;\n                if (elem.multiple) {\n                    selected = false;\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected) {\n                            selected = true;\n                            break;\n                        }\n                    }\n                } else {\n                    for (var i = 0; i < elem.options.length; i++) {\n                        if (elem.options[i].selected\n                            && (!elem.options[i].value\n                            || (elem.options[i].value.match(\/\\n\/g)))\n                        ) {\n                            selected = false;\n                        }\n                    }\n                }\n                if (!selected) {\n                    elem.className = elem.className + ' _has_error';\n                    no_error = false;\n                    tooltip = create_tooltip(elem, \"Seleccione una opci\u00f3n.\");\n                }\n            } else if (value === undefined || value === null || value === '') {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Este campo es obligatorio.\");\n            }\n        }\n        if (no_error && elem.name == 'email') {\n            if (!value.match(\/^[\\+_a-z0-9-'&=]+(\\.[\\+_a-z0-9-']+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,})$\/i)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una direcci\u00f3n de correo electr\u00f3nico v\u00e1lida.\");\n            }\n        }\n        if (no_error && (elem.id == 'phone')) {\n            if (elem.value.trim() && typeof iti != 'undefined' && !iti.isValidNumber()) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Ingresa un n\u00famero de tel\u00e9fono v\u00e1lido.\");\n            }\n        }\n        if (no_error && \/date_field\/.test(elem.className)) {\n            if (!value.match(\/^\\d\\d\\d\\d-\\d\\d-\\d\\d$\/)) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Introduzca una fecha v\u00e1lida.\");\n            }\n        }\n\n        if (no_error && elem.name === 'sms_consent') {\n            const elemShouldBeChecked = (!!elem.attributes.required && !elem.checked);\n            if (elemShouldBeChecked) {\n                elem.className = elem.className + ' _has_error';\n                no_error = false;\n                tooltip = create_tooltip(elem, \"Marca esta casilla para continuar\");\n            } else {\n                elem.className = elem.className.replace(\/ ?_has_error ?\/g, '');\n            }\n        }\n        tooltip ? resize_tooltip(tooltip) : false;\n        return no_error;\n    };\n    var needs_validate = function(el) {\n        if(el.getAttribute('required') !== null){\n            return true;\n        }\n        if((el.name === 'email' || el.id === 'phone') && el.value !== \"\"){\n            return true;\n        }\n\n        return false;\n    };\n    var validate_form = function(e) {\n        var err = form_to_submit.querySelector('._form_error'), no_error = true;\n        if (!submitted) {\n            submitted = true;\n            for (var i = 0, len = allInputs.length; i < len; i++) {\n                var input = allInputs[i];\n                if (needs_validate(input)) {\n                    if (input.type == 'text' || input.type == 'number' || input.type == 'time' || input.type == 'tel') {\n                        addEvent(input, 'blur', function() {\n                            this.value = this.value.trim();\n                            validate_field(this, true);\n                        });\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'radio' || input.type == 'checkbox') {\n                        (function(el) {\n                            function getElementsArray(name){\n                                const value =  form_to_submit.elements[name];\n                                if (Array.isArray(value)){\n                                    return value;\n                                }\n                                return [value];\n                            }\n                            var radios = getElementsArray(el.name);\n                            for (var i = 0; i < radios.length; i++) {\n                                addEvent(radios[i], 'change', function() {\n                                    validate_field(el, true);\n                                });\n                            }\n                        })(input);\n                    } else if (input.tagName == 'SELECT') {\n                        addEvent(input, 'change', function() {\n                            validate_field(this, true);\n                        });\n                    } else if (input.type == 'textarea'){\n                        addEvent(input, 'input', function() {\n                            validate_field(this, true);\n                        });\n                    }\n                }\n            }\n        }\n        remove_tooltips();\n        for (var i = 0, len = allInputs.length; i < len; i++) {\n            var elem = allInputs[i];\n            if (needs_validate(elem)) {\n                if (elem.tagName.toLowerCase() !== \"select\") {\n                    elem.value = elem.value.trim();\n                }\n                validate_field(elem) ? true : no_error = false;\n            }\n        }\n        if (!no_error && e) {\n            e.preventDefault();\n        }\n        resize_tooltips();\n        return no_error;\n    };\n    addEvent(window, 'resize', resize_tooltips);\n    addEvent(window, 'scroll', resize_tooltips);\n\n    var _form_serialize = function(form){if(!form||form.nodeName!==\"FORM\"){return }var i,j,q=[];for(i=0;i<form.elements.length;i++){if(form.elements[i].name===\"\"){continue}switch(form.elements[i].nodeName){case\"INPUT\":switch(form.elements[i].type){case\"tel\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].previousSibling.querySelector('div.iti__selected-dial-code').innerText)+encodeURIComponent(\" \")+encodeURIComponent(form.elements[i].value));break;case\"text\":case\"number\":case\"date\":case\"time\":case\"hidden\":case\"password\":case\"button\":case\"reset\":case\"submit\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"checkbox\":case\"radio\":if(form.elements[i].checked){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value))}break;case\"file\":break}break;case\"TEXTAREA\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"SELECT\":switch(form.elements[i].type){case\"select-one\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break;case\"select-multiple\":for(j=0;j<form.elements[i].options.length;j++){if(form.elements[i].options[j].selected){q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].options[j].value))}}break}break;case\"BUTTON\":switch(form.elements[i].type){case\"reset\":case\"submit\":case\"button\":q.push(form.elements[i].name+\"=\"+encodeURIComponent(form.elements[i].value));break}break}}return q.join(\"&\")};\n\n    const formSupportsPost = false;\n    var form_submit = function(e) {\n\n        e.preventDefault();\n        if (validate_form()) {\n            if(form_to_submit.querySelector('input[name=\"phone\"]') && typeof iti != 'undefined') {\n                form_to_submit.querySelector('input[name=\"phone\"]').value = iti.getNumber();\n            }\n            \/\/ use this trick to get the submit button & disable it using plain javascript\n            var submitButton = e.target.querySelector('#_form_331_submit');\n            submitButton.disabled = true;\n            submitButton.classList.add('processing');\n                    var serialized = _form_serialize(document.getElementById('_form_331_')).replace(\/%0A\/g, '\\\\n');\n            var err = form_to_submit.querySelector('._form_error');\n            err ? err.parentNode.removeChild(err) : false;\n            async function submitForm() {\n                var formData = new FormData();\n                const searchParams = new URLSearchParams(serialized);\n                searchParams.forEach((value, key) => {\n                    if (key !== 'hideButton') {\n                        formData.append(key, value);\n                    }\n                });\n                let request = {\n                    headers: {\n                        \"Accept\": \"application\/json\"\n                    },\n                    body: formData,\n                    method: \"POST\"\n                };\n\n                let pageUrlParams = new URLSearchParams(window.location.search);\n                if (pageUrlParams.has('t')) {\n                    request.headers.Authorization = 'Bearer ' + pageUrlParams.get('t');\n                }\n                const response = await fetch('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?jsonp=true', request);\n\n                return response.json();\n            }\n            if (formSupportsPost) {\n                submitForm().then((data) => {\n                    eval(data.js);\n                }).catch(() => {\n                    _show_error(\"331\", \"Lo sentimos, ocurri\u00f3 un error con el env\u00edo. Vuelve a intentarlo.\");\n                });\n            } else {\n                _load_script('https:\/\/deandelafuenteromero.activehosted.com\/proc.php?' + serialized + '&jsonp=true', null, true);\n            }\n        }\n        return false;\n    };\n    addEvent(form_to_submit, 'submit', form_submit);\n})();\n\n<\/script><style>\/* Texto junto al checkbox: blanco y en l\u00ednea *\/\n._form_299 ._checkbox-radio label {\n  display: inline !important;\n  margin-left: 8px !important;\n}\n\n\/* Color blanco del texto \"Verifica que eres un humano\" *\/\n._form_299 label[for=\"ls\"],\n._form_299 ._form_element label._form-label {\n  color: #ffffff !important;\n  display: inline-block;\n  font-weight: 400 !important;\n  margin-left: 8px;\n}\n\n\/* Placeholder del campo de email *\/\n#_form_299_ #email::placeholder {\n  color: #002132 !important;\n}\n\n\/* Altura del campo de email reducida *\/\n#_form_299_ #email {\n  padding: 8px 12px !important;\n  height: 40px !important;\n  font-size: 14px !important;\n  line-height: 1.2 !important;\n  margin-bottom: 16px !important;\n}\n\nlabel {\n    display: inline;\n}<\/style><\/div><\/div><\/span><\/p>\n<h2>Preguntas frecuentes sobre el SEO en LLMs<\/h2>\n<p>\u00bfTodav\u00eda hay aspectos sobre los LLMs y el concepto de LLMO que no te quedan demasiado claros?<\/p>\n<p>No te preocupes, en este apartado vamos a intentar dar respuesta a las cuestiones m\u00e1s frecuentes que suelen hacerse los usuarios cuando se inician en este tema. Espero que despejen todas tus dudas.<\/p>\n<h3>\u00bfQu\u00e9 significa LLM en la IA?<\/h3>\n<p>LLM significa Large Language Model o, en espa\u00f1ol, Modelo de Lenguaje Grande (o de Gran Escala). Es el tipo de <strong>inteligencia artificial que hay detr\u00e1s de herramientas como ChatGPT, Gemini, Copilot o Claude<\/strong>.<\/p>\n<p>Todas ellas funcionan gracias a un LLM que ha sido entrenado con millones (o billones) de palabras para poder generar texto, responder preguntas o resumir contenido como si lo estuviera escribiendo una persona.<\/p>\n<h3>\u00bfCu\u00e1les son los principales modelos LLM?<\/h3>\n<p>Algunos de los<strong> LLMs m\u00e1s conocidos<\/strong> son:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-cogs\" style=\"color:#00937D\"><\/i> GPT-4, GPT-5 de OpenAI.<\/li>\n<li><i class=\"sui sui-cogs\" style=\"color:#00937D\"><\/i> Gemini 2.0, Gemini 2.5 de Google.<\/li>\n<li><i class=\"sui sui-cogs\" style=\"color:#00937D\"><\/i> Llama 3, Llama 4 de Meta.<\/li>\n<li><i class=\"sui sui-cogs\" style=\"color:#00937D\"><\/i> Claude Opus 4.1, Claude Sonnet 4 de Anthropic.<\/li>\n<\/ul>\n<\/div>\n<p>Quiz\u00e1 te extra\u00f1es de que no aparezca ChatGPT en esta lista. Te explico el porqu\u00e9 en la siguiente pregunta.<\/p>\n<h3>\u00bfQu\u00e9 es LLM en ChatGPT?<\/h3>\n<p><a id=\"CTA-1\" href=\"https:\/\/dinorank.com\/blog\/como-aparecer-en-chatgpt\/\" target=\"_blank\" rel=\"noopener\">ChatGPT<\/a> es un chatbot, es decir, la <strong>interfaz que permite a los usuarios interactuar con la IA<\/strong> de una manera sencilla. Por lo tanto, no es el modelo en s\u00ed, sino la aplicaci\u00f3n para acceder a un modelo de lenguaje concreto. Por debajo, ChatGPT utiliza los LLMs de OpenAI para generar las respuestas, al igual que hace Copilot de Microsoft.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-30613 size-full\" title=\"LLMO o SEO para LLMs: modelos usados por ChatGPT\" src=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-modelos.png\" alt=\"LLMO o SEO para LLMs: modelos usados por ChatGPT\" width=\"378\" height=\"358\" srcset=\"https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-modelos.png 378w, https:\/\/dinorank.com\/blog\/wp-content\/uploads\/2025\/09\/llmo-chatgpt-modelos-300x284.png 300w\" sizes=\"(max-width: 378px) 100vw, 378px\" \/><\/p>\n<p>Por otro lado, la aplicaci\u00f3n de Gemini usa los modelos de Google y Claude.ai utiliza los de Anthropic. En este caso, los responsables han decidido llamar a la herramienta de chat igual que a los modelos, pero no dejes que eso te confunda.<\/p>\n<p>En cualquier caso, ver\u00e1s que en muchos art\u00edculos, por simplificar, no distinguen entre interfaz y modelo y hablan de ChatGPT como si fuera el LLM. Yo mismo lo he hecho as\u00ed en algunos puntos de este art\u00edculo. Pero t\u00fa ya sabes diferenciarlos y eso te permitir\u00e1 comprender mejor c\u00f3mo utilizarlos.<\/p>\n<h3>\u00bfC\u00f3mo se entrenan los LLMs?<\/h3>\n<p>El entrenamiento de un LLM<strong> es la etapa m\u00e1s compleja, larga y costosa de todo el proceso de aprendizaje<\/strong>.<\/p>\n<p>Por simplificarlo bastante, podemos decir que este entrenamiento <strong>consta de dos fases<\/strong>:<\/p>\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-hand-o-right\" style=\"color:#00937D\"><\/i> Una primera fase, llamada <strong>preentrenamiento<\/strong>, durante la que se alimenta al modelo con cantidades enormes de textos, para que aprendan patrones del lenguaje y sepan predecir qu\u00e9 palabras pueden venir despu\u00e9s de otras.<\/li>\n<li><i class=\"sui sui-hand-o-right\" style=\"color:#00937D\"><\/i> En la segunda fase hay un equipo humano que le ense\u00f1a a responder mejor. Se le corrigen errores, se le premian buenas respuestas y, en definitiva, se va puliendo su comportamiento. Esta fase se llama<strong> RLHF (Reinforcement Learning from Human Feedback o Aprendizaje por Refuerzo con Retroalimentaci\u00f3n Humana)<\/strong>.<\/li>\n<\/ul>\n<\/div>\n<p>De este modo, al finalizar el entrenamiento, el modelo de lenguaje estar\u00e1 listo para empezar a responder las preguntas de los usuarios.<\/p>\n<h3>\u00bfPor qu\u00e9 es importante el SEO para LLMs (o LLMO)?<\/h3>\n<p>Porque la manera de buscar en Internet est\u00e1 cambiando. Ya no es la misma que hace 5 a\u00f1os y ni siquiera igual que el a\u00f1o pasado.<\/p>\n<p>Google, Bing o Yahoo ya no son los \u00fanicos protagonistas.<\/p>\n<p>Ahora <strong>los usuarios formulan preguntas a sistemas basados en inteligencia artificial<\/strong> y obtienen respuestas directas mucho m\u00e1s ajustadas a su perfil e intereses.<\/p>\n<p>Y <strong>si quieres que tus contenidos aparezcan en esas respuestas generadas por IA<\/strong> y seguir siendo relevante para esa masa de usuarios cada vez mayor que ya no se f\u00eda s\u00f3lo de Google, <strong>te va a tocar optimizarlos<\/strong>, no solo para los algoritmos de b\u00fasqueda tradicionales, sino tambi\u00e9n para los modelos de lenguaje (LLMs) sobre los que operan todas estas herramienta de IA.<\/p>\n<h3>\u00bfLLMO y GEO son lo mismo?<\/h3>\n<p>No, no lo son. Aunque es cierto que muchas veces se utilizan para referirse al mismo concepto, el SEO para IA, no se refieren exactamente a lo mismo.<\/p>\n<p><a id=\"CTA-1\" href=\"https:\/\/dinorank.com\/blog\/que-es-geo-en-seo-y-como-aplicar-a-tu-sitio-web\/\" target=\"_blank\" rel=\"noopener\"><strong>GEO <\/strong><\/a><strong>(Generative Engine Optimization) consiste en optimizar tu contenido para los motores generativos<\/strong>. Piensa en Perplexity, en las AI Overviews o en ChatGPT cuando se conecta a Internet. El objetivo es que tu web aparezca citada como fuente en las respuestas generadas por estas plataformas.<\/p>\n<p>Sin embargo, el <strong>LLMO <\/strong>va m\u00e1s all\u00e1 del motor de b\u00fasqueda. Aqu\u00ed el objetivo es <strong>estar presente en cualquier respuesta generada por el modelo<\/strong>, aunque no haya una citaci\u00f3n directa a tu web.<\/p>\n<p><span style=\"font-weight: 400;\">\t\t<div data-elementor-type=\"section\" data-elementor-id=\"29899\" class=\"elementor elementor-29899\" data-elementor-post-type=\"elementor_library\">\n\t\t\t<div class=\"elementor-element elementor-element-29ac5d82 e-con-full e-flex e-con e-parent\" data-id=\"29ac5d82\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-48a7645b elementor-widget elementor-widget-heading\" data-id=\"48a7645b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\"> \u00bfQuieres saber el tr\u00e1fico que recibe tu web de chatgpt?<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-523fd7a7 elementor-widget elementor-widget-heading\" data-id=\"523fd7a7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<p class=\"elementor-heading-title elementor-size-default\">Descarga nuestra plantilla de Looker Studio y con\u00e9ctala a tu proyecto para visualizar de forma r\u00e1pida y sencilla el tr\u00e1fico y las conversiones que recibe tu p\u00e1gina web de fuentes IA como ChatGPT<\/p>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5be72240 elementor-button-align-stretch elementor-widget elementor-widget-form\" data-id=\"5be72240\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;step_next_label&quot;:&quot;Siguiente&quot;,&quot;step_previous_label&quot;:&quot;Anterior&quot;,&quot;button_width&quot;:&quot;100&quot;,&quot;step_type&quot;:&quot;number_text&quot;,&quot;step_icon_shape&quot;:&quot;circle&quot;}\" data-widget_type=\"form.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<form class=\"elementor-form\" method=\"post\" id=\"329\" name=\"Nuevo formulario\" aria-label=\"Nuevo formulario\">\n\t\t\t<input type=\"hidden\" name=\"post_id\" value=\"29899\"\/>\n\t\t\t<input type=\"hidden\" name=\"form_id\" value=\"5be72240\"\/>\n\t\t\t<input type=\"hidden\" name=\"referer_title\" value=\"C\u00f3mo hacer un Keyword Research: Herramientas y Paso a Paso\" \/>\n\n\t\t\t\t\t\t\t<input type=\"hidden\" name=\"queried_id\" value=\"16338\"\/>\n\t\t\t\n\t\t\t<div class=\"elementor-form-fields-wrapper elementor-labels-above\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-email elementor-field-group elementor-column elementor-field-group-email elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<input size=\"1\" type=\"email\" name=\"form_fields[email]\" id=\"form-field-email\" class=\"elementor-field elementor-size-sm  elementor-field-textual\" placeholder=\"Correo electr\u00f3nico\" required=\"required\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-type-acceptance elementor-field-group elementor-column elementor-field-group-field_e742c14 elementor-col-100 elementor-field-required\">\n\t\t\t\t\t\t\t<div class=\"elementor-field-subgroup\">\n\t\t\t<span class=\"elementor-field-option\">\n\t\t\t\t<input type=\"checkbox\" name=\"form_fields[field_e742c14]\" id=\"form-field-field_e742c14\" class=\"elementor-field elementor-size-sm  elementor-acceptance-field\" required=\"required\" checked=\"checked\">\n\t\t\t\t<label for=\"form-field-field_e742c14\">Acepto la <a href=\"https:\/\/www.deanromero.com\/politica-de-privacidad\/\" target=\"_blank\" rel=\"noopener\">pol\u00edtica de privacidad<\/a><\/label>\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<div class=\"elementor-field-group elementor-column elementor-field-type-submit elementor-col-100 e-form__buttons\">\n\t\t\t\t\t<button class=\"elementor-button elementor-size-sm\" type=\"submit\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">DESCARGAR PLANTILLA<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/button>\n\t\t\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/form>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<\/span><\/p>\n<h3>\u00bfCu\u00e1l es la diferencia entre SEO tradicional y LLMO?<\/h3>\n<p>SEO y LLMO difieren tanto en su prop\u00f3sito como en la plataforma a la que se orientan.<\/p>\n<p><strong>El SEO tradicional se centra en los motores de b\u00fasqueda<\/strong> como Google o Bing. El objetivo es que tu web aparezca lo m\u00e1s arriba posible en el listado de resultados para conseguir el mayor n\u00famero de clics.<\/p>\n<p>En cambio, <strong>el LLMO trabaja la optimizaci\u00f3n de contenido para modelos de lenguaje<\/strong>. La idea es estar en la respuesta que da una IA cuando alguien pregunta algo, ya sea mediante una citaci\u00f3n a la fuente, una menci\u00f3n a nuestra marca o una recomendaci\u00f3n de nuestro producto, por ejemplo.<\/p>\n<h3>\u00bfLLMO reemplaza al SEO?<\/h3>\n<p>No, a pesar de lo que muchas voces agoreras van pregonando.<\/p>\n<p>LLMO y SEO son conceptos diferentes pero complementarios. Podr\u00edamos decir que <strong>LLMO es la evoluci\u00f3n l\u00f3gica del SEO<\/strong>, pero en ning\u00fan caso es una amenaza.<\/p>\n<p>Porque, para que tus contenidos puedan formar parte de las respuestas de la IA, \u00e9stos deben ser relevantes, estar bien estructurados y responder a la intenci\u00f3n de b\u00fasqueda de los usuarios.<\/p>\n<p>\u00bfNo es eso lo que hemos trabajado desde siempre con el SEO?<\/p>\n<p>Pues ahora todas esas t\u00e9cnicas siguen teniendo sentido, junto con otras como las que hemos visto en este post.<\/p>\n<p>Adem\u00e1s, Google sigue ah\u00ed, m\u00e1s vivo que nunca. Es cierto que la IA est\u00e1 ganando protagonismo, pero la realidad nos muestra que la cuota de mercado del buscador sigue siendo enorme.<\/p>\n<p>Por lo tanto, <strong>haz SEO y haz LLMO<\/strong>. Si trabajas todas las v\u00edas que den visibilidad a tu negocio, \u00e9ste tendr\u00e1 muchas m\u00e1s posibilidades de \u00e9xito.<\/p>\n<h3>\u00bfQu\u00e9 es el archivo llms.txt? \u00bfEs importante utilizarlo?<\/h3>\n<p>El fichero llms.txt es una propuesta para poner, en la ra\u00edz de tu web, un<strong> documento que te permita guiar a los modelos de lenguaje<\/strong> sobre c\u00f3mo deber\u00edan interpretar las secciones m\u00e1s relevantes de tu sitio.<\/p>\n<p>Hoy por hoy es tan solo una convenci\u00f3n pr\u00e1ctica, con herramientas y gu\u00edas apareciendo, pero todav\u00eda lejos de la adopci\u00f3n por gran parte de los proveedores de IA.<\/p>\n<p>Es \u00fatil, s\u00ed, y no pierdes nada por utilizarlo. Sin embargo,<strong> a\u00fan no es un est\u00e1ndar universal<\/strong> ni mucho menos sustituye a otros ficheros clave como el robots.txt o el sitemap.xml.<\/p>\n<h3>\u00bfC\u00f3mo puedo saber si mi web ya aparece en respuestas de IA?<\/h3>\n<p><strong>Usa el m\u00f3dulo de SEO en LLMs de DinoRANK<\/strong> para ver el tr\u00e1fico que recibes desde ChatGPT, Gemini, Copilot o Perplexity, entre otros, y activa su Tracking sobre LLMs para comprobar si tu marca aparece citada o mencionada en las respuestas a prompts concretos.<\/p>\n<p>Te animo a probarlo con tu proyecto. Entra en DinoRANK, conecta tu cuenta de Google Analytics y configura los prompts que te interese controlar.<\/p>\n<p>As\u00ed sabr\u00e1s si ya est\u00e1s saliendo en la IA y c\u00f3mo evoluciona tu protagonismo en sus respuestas.<\/p>\n<h2>Checklist SEO para LLMs<\/h2>\n<p>Espero que ahora ya tengas bastante m\u00e1s claro qu\u00e9 es eso del LLMO y c\u00f3mo puedes aplicarlo a tu proyecto.<\/p>\n<p>En cualquier caso, para facilitarte todav\u00eda m\u00e1s las cosas, a continuaci\u00f3n te dejo una <strong>recopilaci\u00f3n de las mejores pr\u00e1cticas que hemos ido viendo<\/strong> para que las tengas m\u00e1s a mano.<\/p>\n<div class=\"su-box su-box-style-default\" id=\"\" style=\"border-color:#00604a;border-radius:3px;max-width:none\"><div class=\"su-box-title\" style=\"background-color:#00937D;color:#FFFFFF;border-top-left-radius:1px;border-top-right-radius:1px\">Checklist b\u00e1sico para LLMO<\/div><div class=\"su-box-content su-u-clearfix su-u-trim\" style=\"border-bottom-left-radius:1px;border-bottom-right-radius:1px\">\n<div class=\"su-list\" style=\"margin-left:0px\">\n<ul>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Organiza tus contenidos con t\u00edtulos claros, usando &lt;h2&gt;, &lt;h3&gt;, etc.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Pon en negrita las ideas importantes para que salten a la vista.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Usa listas numeradas o con vi\u00f1etas: facilitan much\u00edsimo el escaneo.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Explica las cosas con frases cortas, claras y sin rodeos.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Evita los tecnicismos si no hacen falta.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Organiza tus textos en preguntas y respuestas para dar un enfoque m\u00e1s conversacional.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Responde justo debajo de la pregunta. Sin rodeos.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Escribe como hablas: usa un lenguaje directo y natural.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> No te l\u00edes con p\u00e1rrafos eternos que no dicen nada.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Menciona marcas, nombres conocidos o conceptos que cualquiera del sector reconozca.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Emplea sin\u00f3nimos, variantes, ejemplos. Dale contexto.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Explica con ejemplos concretos, no con teor\u00edas.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> A\u00f1ade experiencias reales, cosas que te hayan pasado a ti o a tu equipo.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Cita fuentes fiables y menciona a personas que sepan de lo que hablan, para aumentar tu autoridad y confiabilidad.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Si puedes, a\u00f1ade schema.org a tus contenidos.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Aseg\u00farate de que tu nombre (o tu marca) aparece en sitios donde deber\u00eda estar: entrevistas, directorios, listados del sector, etc.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Participa en podcasts, foros como Reddit y Quora o comunidades donde se hable de lo tuyo.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Que hablen bien de ti en redes tambi\u00e9n ayuda.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> No dejes que tu contenido se quede desfasado: rev\u00edsalo cada medio a\u00f1o como m\u00ednimo.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> No descuides el SEO.<\/li>\n<li><i class=\"sui sui-check-square\" style=\"color:#00937D\"><\/i> Y monitoriza siempre los resultados con una herramienta como DinoRANK.<\/li>\n<\/ul>\n<\/div>\n<\/div><\/div>\n<p>Mi recomendaci\u00f3n es que te imprimas esta lista y la tengas siempre a mano cuando trabajes la optimizaci\u00f3n de tu p\u00e1gina web.<\/p>\n<p>Si lo aplicas, poco a poco ver\u00e1s c\u00f3mo tus contenidos no solo posicionar\u00e1n en Google, sino que adem\u00e1s tendr\u00e1n muchas papeletas de <strong>aparecer en herramientas como ChatGPT, Gemini o Claude.<\/strong><\/p>\n<p>Y eso, en el momento actual, es un escaparate incre\u00edble que no deber\u00edas desatender.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfTe imaginas hacer una consulta en ChatGPT y que en la respuesta aparezca tu marca? Pues eso ya est\u00e1 pasando. F\u00edjate en la siguiente imagen: ChatGPT recomienda DinoRANK como herramienta SEO para realizar un an\u00e1lisis TF*IDF. Te prometo que no le hemos pagado para que diga eso. De hecho, ni se puede. El motivo de [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":30639,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[10],"tags":[],"class_list":["post-31229","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aprender-seo"],"acf":[],"_links":{"self":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/31229","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/comments?post=31229"}],"version-history":[{"count":10,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/31229\/revisions"}],"predecessor-version":[{"id":32438,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/posts\/31229\/revisions\/32438"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media\/30639"}],"wp:attachment":[{"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/media?parent=31229"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/categories?post=31229"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dinorank.com\/blog\/wp-json\/wp\/v2\/tags?post=31229"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}