Diferencia entre robots.txt y meta robots
Tanto el fichero robots.txt como la etiqueta meta robots se utilizan a menudo para evitar que una página o conjunto de páginas de un sitio web aparezcan en los resultados de Google, pero ambas opciones funcionan de forma diferente y los resultados obtenidos varían.
¿Qué es el robots.txt?
También conocido como protocolo de exclusión de robots o estándar de exclusión de robots, hace referencia al proceso de crear un fichero de texto (robots.txt) en el directorio raíz de la estructura de una web con instrucciones de rastreo para los motores de búsqueda.
El robot de Google (Googlebot) y los robots de todos los motores de búsqueda mayoritarios, respetan el protocolo de exclusión y buscan el fichero en la raíz para procesar las instrucciones antes de empezar a rastrear un sitio web, pero no todos los demás robots actúan igual, ya que la gran mayoría (especialmente bots de scraping, mail harvesters y otros bots maliciosos) se saltan las directivas.
La regla más común en este fichero es el disallow, que indica al robot qué páginas de nuestra web son las que queremos bloquear al rastreo. En el ejemplo siguiente estaríamos bloqueando a todos los robots el acceso a todas las páginas de la web:
User-agent: *
Disallow: /
En este, solo al directorio /ejemplo y todo su contenido:
User-agent: *
Disallow: /ejemplo/
Y el siguiente sería igual que el anterior pero la restricción solo aplicaría para un robot específico (en este caso, el robot de imágenes de Google):
User-agent: Googlebot-Image
Disallow: /ejemplo/
Estas son las reglas más básicas, pero existen numerosas formas de sintaxis en el robots.txt para conseguir el resultado que más nos interese, entre ellas el uso de wildcards o de la regla “allow”.
¿Para qué sirve el disallow en el robots.txt?
Esta regla provoca que los motores de búsqueda que respetan el robot no rastreen la página en cuestión. Para comprobarlo basta con utilizar la opción de Google Webmaster Tools “Explorar como Google”:
Esta funcionalidad permite, según la página de soporte de Google, simular la forma en que Google rastrea o procesa una dirección URL en tu sitio.
Si intentamos rastrear la página bloqueada mediante disallow, la interfaz nos devolverá un mensaje de error avisando de que la página no se ha podido rastrear debido a que se encuentra bloqueada en el robots.txt.
A modo de prueba, hemos creado dos páginas en nuestra web (https://internetrepublica.com/robots-txt-con-enlace/ y https://internetrepublica.com/robots-txt-sin-enlace) y las hemos bloqueado mediante robots.txt:
Si intentamos rastrearlas utilizando la opción “Explorar como Google” nos aparece el mensaje de error:
Entonces, las páginas bloqueadas por el robot no se rastrean, pero, ¿significa eso que tampoco se indexan? No exactamente: WMT no nos permite rastrear las páginas pero sí nos permite procesarlas creando una entrada vacía en el índice por cada una de ellas, lo que significa que son susceptibles de aparecer en los resultados. Si utilizamos el operador de búsqueda site: podemos comprobar que las páginas se muestran en los resultados, pero como el robot no las ha rastreado aparecen sin título ni descripción y solo muestran la URL y un aviso de que no hay contenido disponible debido al bloqueo del robots:
Utilizando el operador cache: para visualizar la versión en caché de la página que aparece cuando Google ha rastreado el contenido, obtenemos un error ya que no hay ningún contenido indexado que mostrar:
¿Qué es la meta robots?
La segunda opción utilizada para evitar que las páginas aparezcan en los resultados de búsqueda es la etiqueta «meta robots» con la directiva noindex. Se trata de una «metaetiqueta» (metatag en inglés) que debemos añadir al head de la página que queramos bloquear. Para ello habría que utilizar la siguiente sintaxis:
<meta name=»robots» content=»noindex»>
Esta metaetiqueta es respetada por los motores de búsqueda mayoritarios y además de la directiva noindex, permite algunas otras para, por ejemplo, evitar que el robot siga los enlaces de la página o para que esta no aparezca en los resultados de búsqueda de imágenes de Google:
¿Para qué sirve el noindex en la meta robots?
Esta directiva provoca que los motores de búsqueda que respetan la meta robots no indexen la página, pero no impide su rastreo, lo cual resultaría de hecho incompatible con la posibilidad de que el robot pudiera leer la metaetiqueta. Para comprobarlo, hemos creado dos páginas de prueba en nuestra web (https://internetrepublica.com/meta-robots-con-enlace y https://internetrepublica.com/meta-robots-sin-enlace) y las hemos bloqueado mediante noindex en la meta robots:
Si las procesamos utilizando la herramienta de WMT, podemos comprobar que las páginas se rastrean y Google lee su contenido:
La herramienta nos permite la opción de enviar ambas páginas al índice:
No obstante, a pesar de permitir el envío, Google no las agrega al índice debido a que al rastrearlas encuentra la meta robots con la directiva noindex:
¿Cuál es la mejor opción para impedir que una página aparezca en los resultados de búsqueda?
Tal como ocurre a menudo, la elección de una u otra opción dependerá de las necesidades específicas de cada proyecto y de las posibilidades técnicas de implementación, por lo que es competencia de cada webmaster valorar los pros y los contras de cada una:
Artículos relacionados
David Muñoz
Últimos artículos de David Muñoz (Ver todos)
- Efecto de la ubicación de las palabras clave en el title - 7 mayo, 2015
- Efecto del tipo de anchor en el posicionamiento - 18 marzo, 2015
- Meta keywords y meta description para SEO: ¿funcionan todavía? - 29 enero, 2015