Saltar al contenido

Los errores de SEO técnico que Google Travel se puede permitir y tu OTA no

Retrato de Natzir Turrado

Por Natzir Turrado

Autor invitado

Revisado por
33 min de lectura

Si te dedicas al SEO en el sector de los viajes, te habrás encontrado muchas veces con un competidor distinto a los demás, Google Travel. Aparece en búsquedas de hoteles y de vuelos, a veces con varias URLs en la misma SERP e incluso en búsquedas del nombre de un hotel.

Lo lógico sería que un producto de Google que rankea tan bien siguiera al pie de la letra lo que Google pide a las demás webs, y quise comprobar si lo hace.

Según Ahrefs, en España rankean más de 33.000 URLs de Google Travel entre google.es/travel y google.com/travel. google.es/travel, casi todo Hoteles, recibe unas 197.000 visitas orgánicas estimadas al mes, y google.com/travel, casi todo Vuelos, unas 431.000. Lo consigue con una sección de Hoteles que incumple varias recomendaciones de la propia documentación de Google.

En este artículo explico cuánto rankea, repaso esos fallos técnicos con ejemplos de cada uno, y los comparo con Vuelos, que sigue casi todas esas recomendaciones. Al final miro qué pasa con Google Travel en AI Mode y en ChatGPT, donde juega con otras reglas. Hice las pruebas con curl, Chrome, el Rich Results Test y los propios asistentes de IA, y los datos de rankings, tráfico, SERP y respuestas de IA son de Ahrefs.

Resumen rápido:


  • Google Travel rankea en España con más de 33.000 URLs y unas 628.000 visitas orgánicas estimadas al mes entre google.es/travel y google.com/travel.
  • Hoteles incumple varias recomendaciones de Google: soft 404, URLs duplicadas por parámetros y por dominio, canonicals que Google ignora, rutas bloqueadas en robots.txt y fichas de más de 2 MB.
  • Vuelos sigue casi todas esas recomendaciones (hreflang, enlazado interno, noindex y canonical a google.com).
  • En AI Mode, Google etiqueta el tráfico que se manda a sí mismo y cita a "Google" en hoteles. ChatGPT, Claude y Perplexity no pueden leer Google Travel.

Cuánto rankea Google Travel

Qué tipo de páginas rankean

En Ahrefs, el 96 % de las keywords de google.es/travel/hotels/ llegan por fichas de hotel (/travel/hotels/entity/…). Entre junio y octubre de 2026 las URLs con rankings se multiplicaron por cinco, casi todas fichas limpias y compartidas (variantes con parámetros que explico más abajo).

Las actualizaciones de 2026 y las OTA

Las keywords de Hoteles en el top 10 suben durante varias actualizaciones del algoritmo de Google, la principal de mayo y las dos contra el spam de agosto y septiembre. La de septiembre coincide además con los cambios del 8 de septiembre en los resultados de hoteles del Espacio Económico Europeo por la DMA. El mayor salto, entre finales de enero y principios de febrero de 2026, no coincide con ninguna actualización anunciada, y la caída de marzo y abril la sufren igual las OTA de la comparación y no se puede atribuir solo a Google Travel, y en todos los casos hablo de coincidencias de fechas, no de causas.

En las dos actualizaciones contra el spam, Google Travel ganó keywords en el top 10 y las grandes agencias de viajes online (OTA) no. Lo mido en keywords en el top 10 porque el tráfico estimado de Ahrefs sube y baja con la estacionalidad de las búsquedas.

Dominio
Spam de agosto (17 a 24 ago)
Spam de septiembre (23 sep a 8 oct)
google.es/travel/hotels
+8,8 %
+19,8 %
booking.com
-0,5 %
-2,4 %
tripadvisor.es
-0,7 %
-7,8 %
expedia.es
-1,6 %
-4,9 %
hoteles.com
0 %
-8,2 %
trivago.es
-0,8 %
-9,9 %

Para ver de quién salen los puestos, comparé las SERP que guarda Ahrefs de antes y de después de cada actualización en unas 70 keywords por actualización donde Google Travel entra en el top 10, elegidas en parte por tráfico y en parte al azar. Como solo incluye búsquedas donde Google Travel ganó, la muestra sirve para ver a quién desplaza, no para medir la actualización entera.

Tipo de dominio
Agosto:
salen / entran del top 10
Septiembre:
salen / entran del top 10
OTA y metabuscadores
139 / 43
142 / 110
Webs oficiales, blogs, medios y guías
48 / 30
106 / 121
Redes sociales y Wikipedia
15 / 4
21 / 32

Los puestos que gana Google Travel salen sobre todo de OTA y metabuscadores, y los que más veces dejan el top 10 son centraldereservas.com, trivago.es, hoteles.com, booking.com y tripadvisor.es. Ni booking.com ni tripadvisor.es ganan keywords en el top 10 en esas fechas, así que no parece que estas actualizaciones favorezcan a todos los dominios grandes a costa de los pequeños.

Con estos datos no puedo saber si Google Travel sube porque esas actualizaciones penalizan a las OTA y ocupa su hueco, o porque Google trata mejor a sus propias páginas. Lo que sí muestran es que Google Travel posiciona con fallos técnicos que en cualquier otra web se marcarían como problemas, y que repaso a continuación.

Demasiadas URLs para lo mismo

Cualquier URL de Hoteles devuelve 200

Hoteles no comprueba si el lugar o el hotel de la URL existen. Cualquier texto después de /travel/hotels/ devuelve una página 200 con ese texto en el title. google.es/travel/hotels/asdfqwertyzx, por ejemplo, responde 200 con el title "asdfqwertyzx: búsqueda de hoteles de Google", y Googlebot la ve sin canonical, sin noindex y sin ningún hotel. Una ficha con un ID inventado (/travel/hotels/entity/xyz) también responde 200, con el title vacío.

Para una URL que no existe, la guía de errores de rastreo de Google pide responder 404 o 410, o redirigir con 301 si el contenido se ha movido, pero Hoteles sirve un soft 404. La única plantilla que detecta un lugar inexistente es la landing SEO (/travel/hotels/landingpage/), y redirige con 302 a la landing normal, que vuelve a responder 200.

Según Ahrefs, en España rankean 91 URLs de este tipo con el nombre de un lugar real, como /travel/hotels/Madrid o /travel/hotels/Córdoba.

URLs compartidas que crea el JavaScript

Las URLs con utm_campaign=sharing las genera el JavaScript de Hoteles en cada visita, sin que nadie pulse Compartir. En el HTML que sirve el servidor, ninguno de los enlaces a fichas de madrid-hotels lleva esos parámetros. Después del JavaScript los llevan todos, tanto para Googlebot como para un usuario de móvil, y la propia URL de la página pasa a ser /travel/hotels/madrid-hotels?utm_campaign=sharing&…&ts=….

Para verlo en el render de Googlebot inspeccioné la landing en Search Console, a través de una redirección desde mi dominio, y saqué sus enlaces con la extensión que reconstruye el render completo, que permite filtrarlos y exportarlos.

El parámetro ts guarda el estado de la búsqueda (lugar, fechas y moneda), y como cambia en cada visita, cada ficha acumula URLs distintas. De la ficha del Exe Sevilla Macarena, Google tiene indexadas 1 URL limpia y 26 variantes compartidas.

Top pages de Ahrefs para google.es/travel/hotels/ en España con el filtro URL contiene utm_campaign=sharing (29-10-2026), donde las URLs compartidas se llevan el 20 % del tráfico de Hoteles. He quitado columnas para que quepa.

La landing SEO (/landingpage/) también reescribe su URL con utm_campaign=sharing y un ved distinto en cada visita, aunque sin ts y con el canonical limpio. Ninguna de esas variantes aparece rankeando en Ahrefs. Las fichas acumulan además URLs con sa=X&ved=, que en google.es rankean por cientos, sin contar las compartidas.

Una URL compartida de Madrid en google.com, generada en febrero de 2022 con fechas de estancia de junio de 2021, sale 1.ª para "hoteles cerca de mí" y 2.ª para "hotel cerca de mi". El tráfico de las URLs compartidas llega sobre todo por búsquedas del nombre de un hotel.

SERP overview de Ahrefs para "hotel cerca de mi" (21-10-2026): la URL compartida de Madrid en google.com sale 2.ª con todos sus parámetros, y Ahrefs marca el 302 con el que redirige en escritorio.
Googlebot, en esa URL, ve hoteles de Madrid, y un usuario de móvil también, esté donde esté. En escritorio la URL redirige a /travel/search, pierde el destino y enseña hoteles cerca de donde Google sitúa al usuario, con "Madrid" todavía en el buscador. Para "hoteles cerca de mi", el escritorio acierta por casualidad y el móvil no. La landing limpia no tiene este problema, porque su redirección conserva la consulta (q=madrid+hotels).

Fichas de hotel con varias URLs

Una ficha admite dos formas de ID, un prefijo de lugar (/travel/hotels/Catalunya/entity/…), cualquier pestaña (/prices, /reviews o cualquier texto, que también devuelve 200) y los parámetros que añade el JavaScript. Por eso en google.es rankean más URLs de fichas que alojamientos, y el Hotel Palacio de Luko llega a 17.

Las dos formas de ID no se consolidan. Una lleva el identificador del Knowledge Graph y la otra no, y cada una se declara canónica de sí misma.

El Barceló Murcia Siete Coronas, por ejemplo, responde en /travel/hotels/entity/ChkIhI2H5Njrn8_cARoML2cvMWhjMWdnMjUyEAE, con el identificador /g/1hc1gg252, y en /travel/hotels/entity/CgsIhI2H5Njrn8_cARAB, sin él. Las dos llevan el mismo identificador de Maps y las dos rankean en google.es para el nombre del hotel. Al Exe Sevilla Macarena le pasa lo mismo con ChkI6_TdiuGlz-FwGg0vZy8xMWI2eTlmejNfEAE y CgoI6_TdiuGlz-FwEAE.

Para "google hotels", la ficha del Hotel Palacio de Luko ocupa cinco de los siete primeros resultados con URLs distintas, la primera en catalán. El hub de Hoteles solo sale 1.º para "google hoteles".

SERP overview de Ahrefs para "google hotels" (9-10-2026): cinco de los siete primeros resultados son la ficha del Hotel Palacio de Luko, con el title en catalán "Viatge - Hotels de Google". Las URLs están recortadas a dos líneas.

Los puntos de interés también tienen ficha dentro de Hoteles y rankean para su nombre. La de la catedral de Segovia, por ejemplo, sale 3.ª para "catedral segovia".

Copias en cada dominio de Google y fichas en catalán

Cada dominio de Google sirve su propia copia de cada landing. Las versiones de madrid-hotels de google.es, google.com, google.co.uk y google.com.mx se declaran canónicas de sí mismas, y ninguna tiene hreflang. Según Ahrefs, en España rankean además URLs de Travel de al menos 34 dominios de Google más, como google.com.py, google.co.ve o google.com.br, y casi todas son fichas de hotel.

Top pages de Ahrefs para google.com.py/travel/ en España (29-10-2026): fichas de hotel que salen 1.ª o 2.ª, algunas con utm_campaign=sharing. He quitado columnas para que quepa.

Dentro de google.es también rankean fichas en un idioma que no corresponde. Las fichas con el parámetro hl=ca, en catalán, reciben el 15,7 % del tráfico estimado de Hoteles en google.es según Ahrefs, y casi todas son URLs compartidas. Su title termina en "Hotels de Google".

El canonical de esas fichas tampoco ayuda, porque apunta a una página en otro idioma. Las fichas con hl=ca, en catalán, declaran como canónica la versión limpia de google.es, que está en español. La variante del Barceló Murcia Siete Coronas en google.com.br con hl=es&gl=es, en español, declara la de google.com.br, que está en portugués. Según la documentación de versiones localizadas, las versiones de una página solo se consideran duplicadas si el contenido principal está sin traducir. Google las trata como páginas distintas, no aplica el canonical y las indexa, y de ahí salen las fichas en catalán que rankean en google.es y la variante brasileña que aparece para frases en español.

Las landings y las fichas no usan hreflang, que sirve para mostrar a cada usuario la versión de su idioma o región, aunque falle bastante. Solo el hub lo declara, en un sitemap aparte y sin x-default.

Señales que Google no puede leer o ignora

Canonicals que Google no respeta

En las landings, el canonical llega vacío en el HTML del servidor y lo rellena el JavaScript. Google admite que se puede poner el canonical con JavaScript cuando no se puede poner en el HTML, aunque no lo recomienda, y pide que el JavaScript no cambie el del HTML original ni deje más de una etiqueta. Explorar sirve dos canonical distintos, uno a google.es y otro a google.com.

Si el JavaScript no reconoce el lugar, el canonical se queda vacío para Googlebot. Para un visitante apunta a la landing de la zona donde Google lo sitúa, que puede ser una comunidad autónoma, una ciudad o un código postal. Sin sesión iniciada, la zona sale de la IP, y en mis pruebas el canonical era comunidad-de-madrid-hotels desde Madrid y barcelona-hotels desde Barcelona. Con la sesión iniciada, Google puede usar la ubicación de la cuenta aunque la IP sea de otra ciudad.

Cuando el canonical sí está, Google a menudo lo ignora. Estas URLs con el nombre de un lugar declaran como canónica su landing -hotels, pero Google posiciona la URL original. Las posiciones las saco de Ahrefs.

URL que rankea
Canonical que declara
Posición
/travel/hotels/Córdoba
córdoba-hotels
2.ª en "hoteles en córdoba"
/travel/hotels/Benidorm
benidorm-hotels
1.ª en "hotels benidorm"
/travel/hotels/Asturias
principado-de-asturias-hotels
1.ª en "hoteles en asturias"
/travel/hotels/Torremolinos
torremolinos-hotels
3.ª en "hotel en torremolinos"
/travel/hotels/Burgos
burgos-hotels
6.ª en "hoteles en burgos capital"
/travel/hotels/Madrid
madrid-hotels
8.ª en "hotel en madrid"
Rich Results Test de google.es/travel/hotels/Madrid, con el canonical renderizado a madrid-hotels.

robots.txt bloquea lo que lleva canonical, noindex o redirección

robots.txt bloquea /travel/entity, /travel/search y las stories, rutas que la propia web enlaza o usa como destino de redirecciones. La ficha del Museo Paleontológico Megaterio en /travel/entity/key/ responde 200 y declara como canónica su versión en /travel/hotels/entity/, que sí se puede rastrear. Como robots.txt impide leer la primera, Google nunca ve ese canonical.

La guía de URLs duplicadas pide no usar robots.txt para canonicalizar y avisa de que Google puede indexar las URLs bloqueadas sin su contenido. Esas URLs salen indexadas sin descripción, y según Ahrefs en España rankean 24 URLs bloqueadas, casi todas de /travel/flights/search en google.com.

Resultados de site:google.com/travel/entity.

Las de Vuelos (/travel/flights/search y /travel/flights/booking) llevan además la meta robots "noindex, nofollow". Como robots.txt impide rastrearlas, Google nunca llega a leer ese noindex, y la guía del noindex avisa de que, si la página está bloqueada en robots.txt, el rastreador no ve la regla y la URL puede seguir saliendo en los resultados.

Ahrefs atribuye además a Google Travel casi 11.000 URLs bloqueadas de /travel/clk/. Son el enlace que Google añade como sitelink bajo los resultados de aerolíneas y agencias, como Iberia, Vueling o Skyscanner, y que pasa por su propia redirección antes de llevar a la web. Como robots.txt bloquea /travel/clk/, Googlebot no puede seguir esa redirección y la URL de clk se indexa como una página más.

SERP overview de Ahrefs para "vuelos madrid sevilla" (13-10-2026): bajo los resultados de Iberia, Vueling y Skyscanner, el sitelink es una URL de google.com/travel/clk/.

Landings que sólo existen en móvil

Las landings de ciudad responden 200 en móvil. Con cualquier user agent de escritorio, Googlebot desktop incluido, redirigen con 302 a /travel/search, una ruta bloqueada en robots.txt. Las fichas no redirigen nunca.

La misma URL, google.es/travel/hotels/madrid-hotels, abierta en móvil y en escritorio (29-10-2026). En móvil responde 200 y en escritorio redirige con un 302 a /travel/search.
User agent
Respuesta de madrid-hotels
Chrome en Mac y Windows, Googlebot desktop
302 a /travel/search
Chrome en Android, Safari en iPhone, Googlebot smartphone
200

Googlebot recibe lo mismo que un usuario del mismo dispositivo, así que no hay cloaking, y con el índice mobile-first Google indexa la versión móvil. La respuesta cambia según el user agent, pero la cabecera Vary no lo declara, y la guía mobile-first describe esta configuración como una que se apoya en el user agent y en Vary. Además, la versión de escritorio es otra URL, y bloqueada, cuando la misma guía pide el mismo contenido en las dos.

Descubrimiento y contenido

Landings que solo están en el sitemap

Hoteles tiene 46.407 landings de ciudad (/travel/hotels/madrid-hotels) y otras tantas en versión SEO (/travel/hotels/landingpage/madrid-hotels). El hub de Hoteles, las fichas y Vuelos no enlazan a ninguna landing de ciudad, así que Google solo puede descubrirlas por sus sitemaps.

Esos sitemaps solo listan URLs de google.com. google.es sirve copias idénticas de los mismos ficheros en las mismas rutas, también con URLs de google.com. Que listen google.com encaja con la migración, porque es el dominio que Google mantiene. En cambio, en Hoteles siguen rankeando las URLs de google.es, que no están en ningún sitemap y no se han consolidado en google.com como las de Vuelos. No declarar el sitemap en robots.txt no es un problema, porque Google acepta los que se envían por Search Console.

Los sitemaps de landings tampoco están limpios. Cuando el nombre de un lugar lleva una coma, el generador lo parte en dos URLs, y "University of California, Los Angeles" aparece como /travel/hotels/university-of-california y /travel/hotels/-los-angeles-hotels, mientras que la buena, con la coma, no está. Le pasa a 739 lugares, cuyas URLs responden 200, unas repitiendo otra landing y otras sin ningún hotel, aunque según Ahrefs ninguna rankea en España. En los mismos ficheros hay entradas repetidas y landings que solo se diferencian en una tilde, como los-angeles-hotels y los-ángeles-hotels.

El enlazado va de la landing a las 24 fichas de su búsqueda y de cada ficha a otras 35. Ninguna ficha enlaza de vuelta a su ciudad y ninguna landing enlaza a otra.

On-page y datos estructurados

Todas las landings tienen la misma meta description, y el title se construye con el slug de la URL en inglés, como en "madrid hotels: búsqueda de hoteles de Google". El H1 de las landings es siempre "Hoteles", sin el nombre del lugar. Las fichas no tienen meta description. La guía de fragmentos de Google dice que una descripción idéntica en todas las páginas no ayuda cuando aparece en los snippets de los resultados.

Hoteles no tiene ningún dato estructurado. Google los usa para entender y clasificar el contenido de la página, y John Mueller ha dicho que le ayudan a entender las entidades de la página y para qué búsquedas es más relevante, pero también que no hacen que una web rankee mejor. Se notan sobre todo en el CTR. La galería de datos estructurados no tiene un resultado específico para hoteles, pero el fragmento de reseña admite negocios locales, y Hotel y LodgingBusiness lo son. Las fichas de Google Travel tienen esos datos de cada hotel, y como Google no es el dueño del hotel, no les afecta la norma que excluye las reseñas propias. Vuelos, además, marca las migas (BreadcrumbList), que Hoteles tampoco tiene, aunque Google ya construye la ruta del snippet a partir de la URL.

Fichas que pasan de 2 MB

Googlebot solo descarga los primeros 2 MB del HTML, contados sin comprimir y con las cabeceras, y Google explica que lo que queda detrás no se rastrea, no se renderiza y no se indexa. El mismo artículo recomienda sacar el CSS y el JavaScript pesados a ficheros externos y poner arriba el title, el canonical y los datos estructurados.

Pedí las fichas de hotel con el user agent de Googlebot y desde una IP de EE. UU., y pesan entre 2,35 y 2,91 MB sin comprimir. Antes del title llevan unos 1,5 MB de código, casi todo CSS en línea, y la descripción propia del hotel, las reseñas, la dirección y los servicios quedan después de los 2 MB. Las landings de ciudad y el hub pesan unos 2,2 MB y pierden el bloque de datos que usa el JavaScript. Las fichas de alquileres vacacionales y de puntos de interés pesan menos de 2 MB.

Para ver si Google indexa lo que queda detrás, busqué entre comillas frases de 17 fichas, cada una con la redacción que recibe Googlebot y en una posición conocida del HTML.

Dónde está la frase
Resultado
Antes de los 2 MB (de 1,93 a 1,98 MB)
5 de 5 encuentran la ficha
Entre 2.000.000 y 2.097.152 bytes (de 2,00 a 2,02 MB)
3 de 3 encuentran la ficha
Después (de 2,22 a 2,38 MB)
4 de 6 no encuentran ninguna página de Google Travel, y 2 de 6 solo encuentran variantes con parámetros, nunca la ficha limpia
Al final de fichas de menos de 2 MB
4 de 4 encuentran la ficha

El límite se cumple, y está en 2 MiB (2.097.152 bytes), no en 2.000.000. En las fichas limpias, Google no indexa la descripción del hotel ni nada de lo que va detrás.

Algunas variantes de la misma ficha, como una URL compartida de google.com.ec en la pestaña de precios, una versión en catalán de google.es o una de google.co.ve con prefijo de lugar, sí están indexadas con texto que hoy queda detrás del corte, aunque pesan lo mismo. Lo más probable es que Google las rastreara cuando Google Travel servía una versión anterior de la página, más ligera, y que esas copias sigan en el índice. No he podido comprobarlo con capturas antiguas.

La redacción de la descripción depende del país desde el que se pide la ficha. Desde España, la del Barceló Murcia Siete Coronas habla de "un restaurante sofisticado de cocina mediterránea", y desde EE. UU., que es desde donde rastrea Googlebot, de "un restaurante mediterráneo elegante".

Core Web Vitals en suspenso

Google usa las Core Web Vitals en su ranking y lleva desde 2020 pidiendo a las webs que las mejoren, aunque su documentación reconoce que pesan poco. El contenido más relevante gana aunque la experiencia sea mala, y una buena experiencia solo desempata cuando hay mucho contenido igual de útil. Ninguna página de Google Travel con datos de usuarios en Chrome las aprueba.

Página
LCP
INP
CLS
google.es/travel/hotels (móvil)
1,89 s
298 ms
0,17
google.com/travel/hotels/madrid-hotels (móvil)
2,57 s
282 ms
0,25
Vuelos de Valencia a Madrid (todos los dispositivos)
2,25 s
302 ms
0,21
google.es/travel/search (escritorio)
3,96 s
252 ms
0,07

Para aprobar hace falta un LCP de 2,5 s o menos, un INP de 200 ms o menos y un CLS de 0,1 o menos en el percentil 75 (CrUX, 28 días hasta el 18-10-2026). /travel/search es donde acaban en escritorio las visitas al hub y a las páginas de ciudad.

El CLS alto viene de las fichas. Se abren desde la lista sin recargar la página, así que Chrome anota a la URL de la lista todo lo que se mueve después. Al bajar por una ficha, la barra de pestañas se queda fija y empuja el contenido, y al volver con el botón atrás del navegador la lista reaparece con un salto de toda la pantalla, que por sí solo da un CLS de 1,05. En Vuelos de escritorio pasa algo parecido al pulsar "Ver vuelos", cuando el pie de página salta mientras cargan los resultados.

En mis pruebas de laboratorio, cada página de Hoteles lleva dentro del HTML 1,4 MB de CSS, del que usa menos del 6 %, y como el HTML no se guarda en caché se descarga otra vez en cada página. En un móvil emulado, más de un segundo del hilo principal se va en animaciones de carga que no se detienen, y solo los mapas de madrid-hotels pesan más de 1,5 MB. No he querido hacer una auditoría de rendimiento completa, porque la idea es mostrar el dato y no solucionarle los marrones a Google.

La migración a google.com a medias

Google anunció el 15 de abril de 2025 que el buscador dejaba los dominios de país, y la portada de google.es ya redirige a google.com. En Travel la consolidación solo se completó en Vuelos.

Sección de google.es
Estado
Vuelos (/flights y /travel/flights)
301 de /flights a /travel/flights, que tiene noindex y canonical a google.com
Explorar (/travel/explore)
Dos canonical, a google.es y a google.com
Hoteles (/travel/hotels)
Indexable y canónica de sí misma

Por eso google.es/travel sigue rankeando, muchas veces en la misma SERP que google.com/travel, con más de 700 keywords en común según Ahrefs. Para "google flights", por ejemplo, google.com/travel/flights sale 1.º y google.es/travel/explore 5.º.

Casi todo el tráfico estimado de google.es/travel es de Hoteles, y el de google.com/travel, de Vuelos. Hoteles de google.com apenas recibe tráfico.

La migración explica que haya dos dominios rankeando. El resto de fallos de este artículo se repite igual en las URLs de google.com.

Vuelos como contraste

En Vuelos, Google Travel resuelve casi todos estos problemas.

Práctica
Vuelos
Hoteles
Versión de google.es
noindex y canonical a google.com con país e idioma
Indexable y canónica de sí misma
hreflang
73 por página, con x-default
Solo el hub, en un sitemap y sin x-default
Enlazado interno
76 enlaces a otras rutas por página
Landings sin enlaces
Datos estructurados
BreadcrumbList
Ninguno

Vuelos de google.es estaba en la raíz, en google.es/flights. Según Ahrefs, tuvo algo de tráfico entre 2021 y 2023 y en la primavera de 2025, y desde agosto de 2025 no tiene ninguno. Hoy esa ruta redirige con 301 a google.es/travel/flights, que lleva noindex y canonical a google.com. Mezclar noindex y canonical no es lo que recomienda Google. John Mueller ha dicho que son señales contradictorias, y la guía de URLs duplicadas prefiere el canonical al noindex para consolidar. Una redirección 301 directa a google.com, como la de la portada de google.es, sería más limpia.

Pese al hreflang, según Ahrefs en España rankean 1.422 URLs de Vuelos en español de Latinoamérica, como la versión argentina de la ruta Murcia-Madrid.

En Ahrefs, google.com/travel/flights ya crecía desde mediados de 2023, pero su tráfico estimado se multiplica casi por treinta entre febrero de 2024 y agosto de 2025. El 6 de marzo de 2024 Google retiró el módulo de Vuelos de los resultados del Espacio Económico Europeo para cumplir la Ley de Mercados Digitales (DMA). eDreams ya avisó de que, sin el módulo, Google Flights podía salir más arriba como resultado orgánico. La actualización principal de marzo de 2024 empezó un día antes, el 5 de marzo, y con estas fechas no se puede separar un efecto del otro ni demostrar la causa.

Google Travel en las respuestas de IA

AI Mode: Vuelos se enlaza a sí mismo y Hoteles cita a "Google"

Hasta aquí he tratado Google Travel como una web más, con sus fallos de robots.txt, canonical y noindex. En AI Mode Google cambia de papel y pasa a ser el buscador que recomienda y enlaza sus propios servicios.

Los enlaces de AI Mode a Google Flights llevan el parámetro source=aim_search. Según Brand Radar de Ahrefs, aparece por primera vez entre el 22 de junio y el 1 de julio, y hoy lo llevan casi 3.000 URLs de Google Flights citadas en España.

Con ese parámetro Google etiqueta el tráfico que AI Mode se manda a sí mismo, pero no el que manda a los demás. En la respuesta a "vuelos barcelona sevilla", por ejemplo, el enlace a Google Flights lleva source=aim_search y los de Vueling y Ryanair van sin nada, y lo mismo pasa con Skyscanner o Booking en el resto de respuestas. Una aerolínea o una agencia no tiene forma directa de separar las visitas que le llegan de AI Mode, porque en Search Console sus clics van sumados a los de la búsqueda web y en GA4 entran como tráfico orgánico de Google.

AI Mode responde a "flights barcelona to seville" (30-10-2026). Los enlaces a Vueling y Ryanair llevan a su página de inicio sin parámetros, y el chip "Google" lleva a Google Flights con source=aim_search.

El módulo de vuelos de la búsqueda clásica hace lo mismo y enlaza a Google Flights con source=flun. Google sabe medir de dónde viene ese tráfico, como demuestra con sus propios enlaces, y no da esa información a las webs a las que envía pocas visitas y que le dan la data.

Módulo de vuelos de la búsqueda clásica para "flights barcelona to seville" (30-10-2026). Los enlaces de la fila de Google Flights, recuadrados en rojo, llevan a Google Flights con source=flun.

Hay una segunda variante, source=aim_shopping, que lleva a /travel/flights/search, la ruta que robots.txt bloquea y que tiene noindex. Esos enlaces llevan la ruta y unas fechas de viaje calculadas al responder, y los construye el módulo de vuelos de AI Mode sin pasar por el rastreo. Por eso un enlace de AI Mode a una ruta bloqueada no quiere decir que Google se salte su robots.txt.

AI Mode responde a "flights malaga to bilbao today schedule" (30-10-2026). Los enlaces marcados en rojo llevan a /travel/flights/search con source=aim_shopping, la ruta que robots.txt bloquea y que tiene noindex, y los grises, a /travel/flights con source=aim_search.

En hoteles, AI Mode apenas enlaza a Google Hoteles, pero cita a Google con otra URL, google.com/searchviewer/, una página titulada "Place Viewer" con la ficha de un negocio (valoración, dirección y precio por noche), y en la respuesta aparece como una fuente llamada "Google". El identificador de la URL (svid) lleva dentro el ID del Knowledge Graph del lugar, del mismo tipo /g/ que usan las fichas de Hoteles. Como página repite los fallos de las fichas. Todas tienen el title "Place Viewer", no llevan canonical ni meta robots y robots.txt no las bloquea.

Según Ahrefs, google.com/searchviewer/ tiene datos en España desde el 22 de abril de 2026 y su tráfico estimado pasó de unas 33.000 visitas al mes el 1 de septiembre a 1,9 millones el 29 de octubre. El salto coincide con la actualización contra el spam de septiembre, y las URLs con más tráfico son fichas de comercios como Mercadona o Carrefour.

Respuestas en España
AI Overviews
AI Mode (keywords)
AI Mode (prompts)
Vuelos que citan Google Travel
74 %
73 %
70 %
Vuelos que solo citan a Google
0 %
3 %
17 %
Vuelos con source=aim_search
0 %
8 %
13 %
Hoteles que citan Google Hoteles
8 %
8 %
10 %
Hoteles que citan /searchviewer/
32 %
58 %
50 %

Muestra de unas 400 respuestas por celda de Brand Radar (España, octubre de 2026), con consultas que contienen "vuelo" o "hotel". Brand Radar separa AI Mode en un índice de búsquedas por keyword y otro de prompts en forma de pregunta.

Algunas respuestas sobre hoteles no citan nada. Para "hotel four seasons madrid precio", AI Mode me dio, en tres pruebas, precios por noche según el tipo de habitación sin ninguna fuente, ni siquiera "Google". Encaja con cómo llegan los datos del Knowledge Graph a la IA de Google, que se convierten en texto y que el modelo recibe sin URL, como expliqué en este análisis sobre el Knowledge Graph y la IA de Google.

AI Mode responde a "hotel four seasons madrid precio" con precios por noche y sin ninguna fuente (29-10-2026).

Cuando le pedí a AI Mode que enumerase los datos que había usado, me devolvió un resultado de tipo HotelPriceResult para el 8 y el 9 de diciembre con los precios de 36 webs de reserva, que coinciden con los de la ficha de Google Hoteles para esas fechas. Los rangos de la respuesta salen de los precios por habitación de la web oficial, y las ofertas más baratas, desde 737 €, se quedan fuera. En la SERP clásica, el panel del hotel enseña esos mismos precios con un enlace a cada web, de Booking a trivago. AI Mode usa los mismos datos, responde "a partir de 1.300 o 1.400 €" y no enlaza a ninguna.

Lo que devolvió AI Mode al pedirle los datos de esa respuesta. Se lo pedí con números en lugar de algunas letras para que el filtro no bloqueara la respuesta, y por eso sale así.
La cabecera del mismo resultado, traducida. Es un HotelPriceResult del Four Seasons Hotel Madrid para el 8 y el 9 de diciembre, dos adultos y 36 webs de reserva.

Esto afecta a la Ley de Mercados Digitales, cuyo artículo 6.5 prohíbe a Google tratar "más favorablemente" a sus propios servicios y productos frente a los de terceros, "ni en la clasificación ni en las funciones relacionadas de indexado y rastreo". El 23 de julio de 2026 la Comisión Europea multó a Google con 460 millones de euros por autopreferencia en compras, hoteles, transporte y deportes, y en el mismo comunicado dice que toma nota de cómo propone Google aplicar la decisión a AI Overviews y AI Mode, un diálogo que sigue abierto. Si el artículo 6.5 se aplica a AI Mode, que es lo que la Comisión está discutiendo con Google, la pregunta es si responder sobre vuelos citando solo a Google Flights es tratar más favorablemente a su propio servicio. Con estos datos no puedo decir si AI Mode cumple, pero sí que en España hay respuestas sobre vuelos que solo citan a Google, que ese tráfico va etiquetado y que en hoteles usa los precios de terceros sin enlazarlos.

ChatGPT, Claude y Perplexity no pueden leer Google Travel

La regla general del robots.txt de Google deja pasar a los rastreadores de IA por /travel/hotels/ y /travel/flights/, pero el servidor los bloquea. Cuando pido las páginas desde una IP normal con el user agent de OAI-SearchBot, ChatGPT-User, GPTBot, PerplexityBot o Claude-SearchBot, Google Travel responde con una redirección 302 a /travel/unsupported, una página que pide actualizar el navegador ("Time for an upgrade"). Pasa en las landings, en las fichas y en Vuelos, y también con el rastreador de Vertex AI, que es de la propia Google. Googlebot y Bingbot para móvil sí reciben la página.

Cuando pedí a cada asistente que abriera la ficha del Four Seasons Madrid y me dijera su precio y su valoración, Claude llegó a la página de navegador no compatible, ChatGPT explicó que Google lo redirigía a una pantalla de consentimiento y Perplexity no pudo abrirla. Gemini, que es de Google, respondió buscando en Google Hoteles. Con la landing de Vuelos de la ruta Madrid-Bangkok pasó lo mismo. ChatGPT llegó esta vez a la página de navegador no compatible, y Gemini contestó con precios de Google Flights para unas fechas que eligió él.

Como control probé una ficha de google.com/searchviewer/, que Google sí sirve a los bots de IA. ChatGPT la abrió y dio la valoración y los precios por noche del hotel, así que en su caso el bloqueo es propio de Google Travel. Claude, Perplexity y Gemini no pudieron abrirla.

ChatGPT (29-10-2026) intenta abrir la landing de Vuelos de Madrid a Bangkok y Google lo redirige a una página de compatibilidad del navegador.
ChatGPT (29-10-2026) abre sin problema una ficha de google.com/searchviewer/ y devuelve la valoración y los precios por noche del hotel.

Aun así, según Brand Radar ChatGPT cita Google Travel en más de 1.700 respuestas en España, casi dos tercios con fichas de hotel. Cuando le pregunté "¿Cuánto cuesta una noche en el Four Seasons Madrid?", respondió "entre 1.200 y 1.600 €" con un solo indicador de fuentes, "Expedia +2", que incluye Expedia, la Guía MICHELIN y la ficha de Google Hoteles. El texto nombra a MICHELIN, pero nunca a Google. Entre sus 7 fuentes hay 4 URLs de esa misma ficha, con dos formas de ID, tres dominios de Google (.com, .es y .co.ve) y estados guardados de búsquedas de 2019 y 2024. No abrió ninguna y respondió con los fragmentos de su buscador, que sí tiene el contenido de la ficha.

Ese contenido no sale de Bing. En Bing, las fichas de Google Hoteles aparecen con el title "Google" y la descripción "Google", sin más texto, y algunas URLs de Vuelos tienen como descripción la página comprimida, en bytes ilegibles. El buscador de ChatGPT, en cambio, tenía de esas fichas el nombre del hotel, su descripción y hasta el precio por noche, así que OpenAI guarda su propia copia de Google Travel en su índice. No he podido saber si la consiguió antes de que Google bloqueara a sus bots o por otra vía.

Cómo comprobarlo

Cuatro de los fallos se pueden reproducir con curl. La cookie SOCS evita el muro de consentimiento de la UE.

UA_DESK='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Safari/537.36'
UA_MOB='Mozilla/5.0 (Linux; Android 14; Pixel 8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/141.0.0.0 Mobile Safari/537.36'
SOCS='SOCS=CAESHAgBEhJnd3NfMjAyNDA5MjQtMF9SQzEaAmVzIAEaBgiA_LC3Bg'

# 1. Redirección por dispositivo y cabecera Vary
for UA in "$UA_DESK" "$UA_MOB"; do
  curl -s -o /dev/null -D - -A "$UA" -b "$SOCS" https://www.google.es/travel/hotels/madrid-hotels | grep -iE '^HTTP|^location|^vary'
done

# 2. URL inventada: 200, title con el texto y canonical vacío
curl -s --compressed -A "$UA_MOB" -b "$SOCS" https://www.google.es/travel/hotels/asdfqwertyzx -w '\n%{http_code}\n' | grep -oE '<title>[^<]*|<link rel="canonical"[^>]*>|^[0-9]{3}$'

# 3. Enlaces con parámetros de compartir en el HTML del servidor (devuelve 0)
curl -s --compressed -A "$UA_MOB" -b "$SOCS" https://www.google.es/travel/hotels/madrid-hotels | grep -oE 'href="[^"]*/(entity|stories)/[^"]*"' | grep -c utm_campaign

# 4. Bot de IA: 302 a /travel/unsupported
curl -s -o /dev/null -w '%{http_code} %{redirect_url}\n' -b "$SOCS" -A 'Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.3; +https://openai.com/searchbot' https://www.google.com/travel/hotels/madrid-hotels

Con la misma página abierta en móvil, este código en la consola de DevTools devuelve 36 enlaces con parámetros de 36.

const a = [...document.querySelectorAll('a[href*="/entity/"], a[href*="/stories/"]')];
({ total: a.length, compartidos: a.filter(x => /utm_campaign=sharing/.test(x.href)).length, url: location.href })

Para verlo en el render de Googlebot, inspecciona en Search Console una URL de tu dominio que redirija a la landing y saca sus enlaces con esta extensión.

Los rankings, el tráfico estimado y las SERP salen de la base de España de Ahrefs (Site Explorer, Keywords Explorer y Brand Radar), que consulté el 29 de octubre de 2026.

¿Tienes preguntas? Estamos en LinkedIn y en X.

Retrato de Natzir Turrado
Publicado porNatzir Turrado

Natzir Turrado es consultor independiente de SEO y AI Search y una de las voces de referencia en SEO técnico en el ámbito hispanohablante e internacional. Cofundador de AdRanger.io, es conocido por sus herramientas, investigaciones y experimentos sobre la evolución de la búsqueda y los sistemas de IA.

Revisado por