Subdomains Extractor: Script para identificar subdominios indexados

🌐 ¿Qué es un subdominio y por qué conviene analizarlos?

Cuando gestionamos grandes portales una de las cosas que deberíamos tener en cuenta para evaluar la indexación del site global, es la de identificar todos los subdominios que hay indexados más allá del principal. Básicamente nos puede servir para hacernos un idea del tamaño del site si acabamos de empezar con él , para identificar cómo se organiza la arquitectura del site o para evaluar si están indexadas ciertas áreas que no me interesan que lo estén. Sea por el motivo que sea, una de las cosas que al menos yo suelo checkear al auditar un proyecto es hacer un recuento de todo lo que hay en el índice de Google más allá del dominio principal.

Un subdominio es un subgrupo o subclasificación del nombre de dominio el cual es definido con fines administrativos u organizativos, que podría considerarse como un dominio de segundo nivel.

Fuente: Wikipedia

Muchos sites utilizan una infraestructura de subdominios para gestionar de forma diferenciada algunas áreas de la web, e independientemente de su idoneidad o no (no es el caso del que venimos a hablar en el post), son muy usuales la existencia de subdominios para:

  • Blog: Muchas webs generan contenidos en un subdominio a parte. Ej.: blog.dominio.com
  • Tienda online: De igual modo, algunas marcas prefieren diversificar su tienda online a través del uso de subdominios. Ej.: shop.dominio.com
  • Entornos de desarrollo: Es muy común disponer de un entorno de staging en un subdominio. Ej.: staging.dominio.com
  • Idiomas: También podemos encontrar las diferentes versiones idiomáticas de una web por subdominios: Ej.: es.dominio.com o en.dominio.com
  • Secciones: No es raro tampoco encontrarse una arquitectura de secciones por subdominios, algo relativamente común en medios de comunicación. Ej.: seccion.dominio.com

Aunque pueden haber infinitas casuísticas más para el uso de subdominios en una web, lo cierto es que más allá de lo que creemos que son los subdominios principales, pueden haber muchos más subdominios que no son tan visibles en el uso común de la web y que no podemos diferenciar de una forma tan clara. Me he encontrado proyectos en los que había indexados decenas de subdominios que a priori no eran tan accesibles desde la web o no tenían una visibilidad clara con tan sólo navegar ella. Por ejemplo, había muchos subdominios utilizados en los iframes de la web cuya función básicamente era servir ciertos datos, como podían ser horarios de salida, horarios de entrada, etc. Como no puedo detallar mucho más de este proyecto, veamos un ejemplo hipotético:

Una web del tiempo cuya información a tiempo real se recoge a través de una infraestructura diferente alojada en "pronostico.dominio.com". La web principal recoge todos los datos de este subdominio y los inserta en su web a través de iframes. Si nada lo impide, Google podría llegar a este subdominio y e indexarlo si lo cree conveniente. 

Identificar todos los subdominios que están teniendo algún tipo de visibilidad orgánica es importante porque puede que no nos convenga que ciertas áreas sean accesibles o visibles desde los buscadores.

🔍️ ¿Cómo identificar los subdominios indexados?

Para facilitar esta tarea e identificar todos los subdominios que tenemos indexados en Google, he creado una plantilla de Google Sheet con un <script> dentro del entorno de App Script con el que podremos extraer de un plumazo todos los subdominios basándonos en los datos de Google Search Console. Realmente es una tarea que podemos hacer de formas muy diferentes, pero lo cierto es que de este modo no tardarás más de 2 minutos en hacerlo.

ENLACE A PLANTILLA DE GOOGLE SHEETS
Para utilizarla: Archivo > Hacer una copia

⚙️ Uso de la plantilla

Vídeo de ejemplo para utilizar la plantilla. He alterado los datos para ejemplificar su funcionamiento puesto que en mi web no tengo subdominios indexados.

Lo primero que tienes que tener en cuenta es que este proceso es sólo válido si dispones en Google Search Console de la propiedad a nivel de dominio de la web; es decir, aquella que te abarca todos los datos de un mismo dominio y por tanto, te abarca todos los posibles subdominios que tengas.

Sólo tienes que realizar una serie de pasos que no te llevarán más de 3 minutos:

  1. Introduce en la celda D3 de la hoja «How to use» tu dominio/subdominio principal sin http(s). Puede ser: www.dominio.com, dominio.es, etc
  2. Como he comentado previamente, antes de nada necesitamos los datos de Google Search Console, y cuantos más datos mejor. Por ello, vamos a utilizar el add-on de Search Analytics for Sheets ya que nos permite recoger a través de la API todos los datos disponibles de Google Search Console de una forma rápida. Una vez instalado desde la pestaña «Complementos», ejecútalo y haz la request para traerte todos los datos disponibles de tu Google Search Console hacia la hoja «Datos» agrupados por «página»:
Configuración del add-on para hacer la request

3. Una vez tengas todos los datos en la pestaña «Datos», simplemente vuelve a la hoja «How to use» y clicka en el botón «Extract Subdomains Indexed». Se te generará una nueva pestaña «Subdomains Extractor» donde podrás visualizar todos los subdominios que tienes indexados, o si por el contrario no hay nada más allá del dominio principal.

✔️ Casos de uso

  • Como he comentado, es una buena práctica checkear esto cuando estás auditando un site para tener identificadas todas las áreas de la web y analizar a partir de ahí si es conveniente o no la indexación de éstas.
  • Otra cosa que suelo hacer, siempre que procede, es hacerme un dashboard con datos de tráfico de cada uno de los subdominios para identificar su rendimiento y visibilidad en buscadores.
  • Si en una misma cuenta tengo varias propiedades de dominio registradas, podría repetir el proceso simplemente actualizando los datos del add-on y clickando en el botón: obtendría de una forma rápida la visión general de varios dominios.

⚠️ Limitaciones y advertencias

Hay que tener en cuenta que el script te va a extraer únicamente aquellos subdominios identificados en los datos de Google Search Console por lo que si un subdominio no ha recogido ningún dato de clics o impresiones, no será identificado aunque pueda estar indexado. La idea con este proceso es identificar aquellos que han podido tener un mínimo de visibilidad orgánica en Google. Se recomienda por ello realizar de forma paralela un check manual para identificar más subdominios que puedan estar indexados más allá de los aquí identificados.

Por otro lado, puede que el entorno de Google te bloquee la ejecución del script al considerar que accede a datos sensibles de tu cuenta.

No te preocupes, lo que tienes que hacer en ese caso es:

  1. Borra la plantilla de tu cuenta actual.
  2. En un spreadsheet diferente al de la plantilla, ejecuta el add-on y haz la request de los datos de tu Google Search Console.
  3. Vuelve a hacer la copia de la plantilla en otra cuenta de Google.
  4. Pega los datos de Google Search Console que tenías en la otra hoja en la pestaña «Datos» de la plantilla y clicka en el botón para ejecutar el script.

Deja un comentario