Cómo inspeccionar cualquier URL en Google Search Console

Published in

Hoy os traigo una herramienta que os permitirá llevar vuestras pruebas de URL en Google Search Console al siguiente nivel. Vamos a entender cómo un script que hace reverse proxy y/o redirects nos ayudará a probar URLs de cualquier sitio web, y que también os dará una ventaja competitiva en los análisis de nuestras estrategias de SEO.

Me vino a la cabeza prepararlo gracias a todo el tema de la batalla de Reddit contra los buscadores que no le pagan y les bloquea, como Bing.

¡Empecemos!

¿Para qué sirve este script?

Este script está diseñado para funcionar en Cloudflare Workers, aunque se puede usar en cualquier entorno compatible con JavaScript y la idea de tener un dominio a tu entera disposición.

Puedes encontrar el script entero en GitHub. Cualquier feedback o sugerencia de mejora es bienvenido

Su propósito principal es actuar como un proxy inverso y/o un redireccionador dinámico, permitiéndoos simular diferentes dispositivos y agentes de usuario al acceder a URLs, tanto nuestras como obviamente de nuestros competidores u otros sitios web.

¿Por qué es esto interesante? Porque os permite, entre otras cosas:

  1. Comprobar si un sitio web está haciendo cloaking (mostrando contenido diferente a los bots y a los usuarios).
  2. Verificar si se están ocultando elementos específicamente para Googlebot (por ejemplo, el banner de cookies)
  3. Realizar análisis competitivo de forma más eficaz.
  4. Probar cómo se ve y comporta un sitio web de terceros desde diferentes dispositivos y navegadores para Googlebot.

Este script crea en un dominio que tengamos, una infraestructura totalmente dinámica para probar en GSC cualquier URL existente (o no existente!) en todo internet

Análisis detallado del funcionamiento del script

Vamos a desgranar las partes más importantes del script:

1. Manejo de solicitudes

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

Este es el punto de entrada del script. Escucha todas las solicitudes entrantes y las pasa a la función handleRequest.

2. Función principal: handleRequest

Esta función es el corazón del script. Hace lo siguiente:

  • Sirve un archivo robots.txt
  • Maneja las solicitudes en el directorio/proxy.
  • Comprueba los parámetros necesarios (URL, dispositivo, redirección).
  • Realiza la solicitud al sitio de destino con el agente de usuario apropiado.
  • Modifica las respuestas HTML para reescribir las URLs relativas. Eso se hace porque las URLs relativas no contiene el dominio y sino al cargar da error, llamando al root + path de nuestro dominio.

3. Simulación de dispositivos

El script puede simular diferentes dispositivos cambiando el User-Agent:

switch(device) {
  case 'desktop':
    // ...
  case 'windows':
    // ...
  case 'android':
    // ...
  case 'iphone':
    // ...
  default:
    // ...
}

Desktop y mobile (por defecto) van con el user-agent de Googlebot, el resto van sin Googlebot.

Esto es crucial para probar cómo se comporta un sitio en diferentes dispositivos y plataformas.

4. Reescritura de URLs

La función rewriteUrls es esencial para asegurar que todos los recursos (imágenes, CSS, JavaScript) se carguen correctamente a través del proxy:

function rewriteUrls(html, baseUrl) {
  // ...
}

Esta función modifica todas las URLs relativas en el HTML para que apunten al proxy, manteniendo la funcionalidad del sitio intacta.

Natzir Turrado me pasó este artículo de Oliver H.G. Mason y caí en que los redirects era una manera mejor de hacer este ejercicio, ya que con el reverse proxy es probable que algunas webs especialmente grandes nos bloqueen, además el tema de las URLs relativas a escala es bastante complejo y dado a no captar todos los casos de uso, aunque el script es bastante flexible con esto, he visto que hay casos que no los corrige bien, y en vistas de que el redirect funciona perfecto ya que Google es quien hace la petición en destino, no hace falta preocuparse más.

Cómo desplegar el script en Cloudflare Workers

  • Inicia sesión en tu cuenta de Cloudflare.
  • Ve a la sección “Workers”.
  • Haz clic en “Create a Worker”.
  • Copia y pega el script completo en el editor.

  • Haz clic en “Save and Deploy”.

Finalmente, tendrás que verificar esa propiedad en Google Search Console para poder tener acceso completo. La manera más sencilla será dentro del propio dominio que idealmente tengas en Cloudflare, usar un TXT record para validarlo.

Una vez desplegado, tendrás una URL única para tu Worker. Úsala como base para tus solicitudes de proxy.

Para poder usar esto, necesitaras tener acceso completo al dominio o subdominio que uses, es por eso que no podrás usarlo en los dominios de Workers, sino que tendrás que usar uno tuyo.

Importante: Todo esto es gratis, excepto el domino que tendrás que comprar, o si usas el subdominio de uno que ya tengas existente pues será gratis. Cloudflare Workers es gratis hasta 100.000 peticiones al día.

Casos de uso prácticos

Esta solución funciona para cualquier URL y dominio, es decir que no tiene ningún tipo de límite.

Algunos casos de uso, verás que he usado un dominio que tenía por ahí tirado llamado aimarketshare.org, aquí puedes verlo funcionando en un caso real: https://aimarketshare.org/proxy?device=desktop&redirect=true&url=https://marca.com/ o sin redirect https://aimarketshare.org/proxy?device=desktop&url=https://marca.com:

1. Detección de cloaking en un competidor

Para comprobar si un sitio está mostrando contenido diferente a los bots, inspeccionarías una URL como esta en GSC

https://tu-dominio.com/proxy?url=https://sitio-sospechoso.com/pagina-sospechosa&device=desktop

Compara esto con lo que ves al acceder directamente al sitio.

2. Verificación de elementos ocultos para Googlebot

Para ver si hay elementos que solo se ocultan a Googlebot:

https://tu-dominio.com/proxy?url=https://sitio-a-verificar.com/pagina-1&device=mobile

O haz lo mismo pero con el método de redirect. Recomiendo usar siempre este método para resultados más fiables, es decir que siempre tendrías que agregar redirect=true en la petición.

https://tu-dominio.com/proxy?url=https://sitio-con-redirecciones.com&redirect=true

3. Análisis competitivo

Para analizar cómo se ve el sitio de un competidor en diferentes dispositivos:

https://tu-dominio.com/proxy?url=https://competidor.com/pagina-que-me-gusta&redirect=true&device=iphone

Conclusión

Este script puede ser a partir de ahora una herramienta interesante en tu arsenal como SEO o desarrollador web. Te permite obtener insights valiosos sobre cómo se comportan los sitios web de competidores en diferentes escenarios a ojos de Google, lo que puede ser crucial para optimizar vuestros propios sitios y entender mejor las estrategias más ocultas de tus competidores.

Recordad siempre usar esta herramienta de manera ética y responsable.

¡Feliz testeo!