El fichero robots.txt es un archivo de texto que dicta unas recomendaciones de indexación y de comportamiento para los crawlers o los robots de los motores de búsqueda (¡ojo! recomendaciones, no obligaciones). Estos crawlers quieren indexar toda la información posible, así que cuando llegan a tu página web lo rastrean todo.

guia archivo robots txt que es ventajas como funciona

El problema surge cuando quieres evitar que ciertas páginas se incluyan en sus índices, ¿Qué haces entonces? Tienes 2 opciones. La primera es usar una etiqueta especial en cada página (véase Meta Robots) o utilizar un archivo centralizado para controlar la entrada. Esta última opción es la de robots.txt que es la que vamos a ver en profundidad.

También te puede interesar:

Índice

Esta página esta continuamente actualizándose. Vuelve de vez en cuando :)

Qué es un archivo robots.txt

El Protocolo de Exclusión de Robots o Robots Exclusion Protocol o REP es una serie de estándares web que regulan el comportamiento de los robots y la indexación de los motores de búsqueda. El REP consiste en lo siguiente:

  • El REP original data de 1994 y fue extendido en 1997, definiendo las directrices de rastreo del robots.txt. Algunas motores de búsqueda soportan extensiones como los patrones URI (wild cards).
  • En 1996 se definen las directrices de indexación (etiquetas REP) para su uso en los elementos meta de los robots, también conocidos como etiqueta meta robots. Los motores de búsqueda también admiten etiquetas REP adicionales con la “X-Robots-Tag”. Los webmasters pueden implementar estas etiquetas REP en la cabecera HTTP de los recursos que no sean HTML como documentos PDF o imágenes.
  • El microformato “rel-nofollow” aparece en 2005 para definir cómo los motores de búsqueda deben manejar los enlaces donde hay un el elemento A del tributo REL contiene el valor “nofollow”.

Etiquetas de exclusión de robots

Si hablamos de una URI, las etiquetas REP (noindex, nofollow, unavailable_after) dirigen ciertas tareas de los indexadores y en algunos casos (nosnippet, noarchive, NOODP) incluso motores de consultas en el monento de la ejecución de una consulta de búsqueda. Aparte de las directrices para los rastreadores, cada motor de búsqueda interpreta estas etiquetas REP de forma diferente. Por ejemplo, Google elimina los listados de URLs únicas y referencias OPD de sus SERPs cuando un recurso está etiquetado con “noindex”, sin embargo Bing muestra esas referencias externas a direcciones URL como prohibidas en sus resultados de búsqueda. Como las etiquetas REP pueden ser implementadas en los elementos META de contenidos X/HTML, así como en las cabeceras HTTP de cualquier objeto web, el consenso es que contenidos con la etiqueta “X-Robots-Tags” deberían invalidar o anular las directrices en conflicto que se encuentren en los elementos META.ç

Microformatos

Las directrices de los indexadores implementadas como microformatos invalidarán la configuración de página para determinados elementos HTML. Por ejemplo, cuando la etiqueta “X-Robots-Tag” de una página dice “follow” (no hay valor “nofollow”), la directriz rel-nofollow de un elemento A (enlace) se sobrepone.

Aunque robots.txt carece de directrices para indexadores, es posible establecer estas directrices para grupos de URIs con el scripts en el servidor actuando al mismo nivel web que apliquan a “X-Robots-Tags” para solicitar recursos. Este método requiere conocimientos de programación y una buena comprensión de los servidores web y el protocolo HTTP.

Coincidencia de patrones

Google y Bing tanto entienden dos expresiones regulares que se pueden usar para identificar las páginas o subcarpetas que un consultor SEO quiere excluir de su página web. Estos dos caracteres son el asterisco (*) y el signo de dólar ($).

  • * – Que es un comodín que representa cualquier secuencia de caracteres
  • $ – Que coincide con el final de la URL

Información Pública

El archivo robots.txt es público. Cualquiera puede ver qué secciones ha bloqueado un webmaster de su servidor (mira mi robots.txt). Esto significa que si un SEO tiene información de usuario privada a la que no quiere dejar acceder a nadie (y menos públicamente), debe utilizar un método más seguro como la protección con contraseña para mantener a raya a los curiosos que quieran ver qué páginas confidenciales no quiere que se indexen.

Volver al índice

Para qué sirve un archivo robots.txt

archivo robots txtComo ya sabrás, los robots o arañas son unos programas que utilizan los buscadores para rastrear la web. Cuando llegan a tu página web, lo primero que hacen es buscar el archivo robots.txt y dependiendo de lo que diga en él, continúan en tu página web o se van a otra. Puedes entender el archivo robots.txt como una lista de robots no admitidos, la cual te permite restringir el acceso a tu página web selectivamente. Si hay páginas que prefieres mantener fuera del alcance de los buscadores, puedes configurarlo aquí, y si hay un buscador al que quieres denegar el acceso, también.

Más concretamente, puedes utilizar el archivo robots.txt para lo siguiente:

  • Evitar que ciertas páginas y directorios de tu página web sean accesibles a los buscadores
  • Bloquear el acceso a archivos de código o utilidades
  • Impedir la indexación de contenido duplicado en tu sitio, como copias de prueba o versiones para imprimir
  • Indicar la localización del sitemap o mapa del sitio en XML

No obstante, hay un par de cosas que debes tener en cuenta sobre robots.txt:

  • Algunos robots pueden ignorar las instrucciones contenidas en este archivo, especialmente robots maliciosos o malware
  • El archivo es público, lo que significa que cualquiera puede verlo con sólo teclear www.example.com/robots.txt
  • Por tanto, si piensas utilizar robots.txt para esconder información privada, necesitas buscar otra alternativa.

Cómo generar el archivo robots.txt

archivo robots txtLo primero que necesitas saber sobre el archivo robots.txt es que no es obligatorio. Sólo necesitas crearlo cuando quieres impedir que ciertas páginas o directorios de tu sitio aparezcan en los resultados de búsqueda. Generar el archivo es muy sencillo, basta con crear un documento de texto con el nombre “robots.txt” y subirlo a la raiz de tu dominio (http://www.example.com/robots.txt), que es el lugar donde los los buscadores esperan encontrarlo.

Lo más fácil es crearlo a mano, mediante el bloc de notas o cualquier aplicación similar, aunque si eres de los que prefiere herramientas, la de SeoBook cumple con su cometido.

Un archivo robots.txt básico puede ser:

User-agent: *
Disallow: /privado/

Lo que hacen estas instrucciones es denegar el acceso al directorio “privado” a todos los buscadores. Para ello, primero se indica que la orden va dirigida a todos los robots (User-agent: *) y por último se especifica el directorio desautorizado (Disallow: /privado/).

Comandos principales

Los comandos que utiliza el archivo robots.txt vienen del llamado Robots Exclusion Protocol, un convenio universal cuya sintaxis debes seguir:

  • Sólo puedes utilizar los comandos permitidos (aunque algunos buscadores entienden comandos adicionales)
  • Debes respetar las mayúsculas/minúsculas, la puntuación y los espacios
  • Cada grupo User-agent/Disallow debe estar separado por una línea en blanco
  • Puedes incluir comentarios mediante la almohadilla o símbolo de hash (#)

Los comandos más importantes son:

  • User-agent: Indica qué tipo de robot debe cumplir con las directivas que se indiquen a continuación.
  • Disallow: Deniega el acceso a un directorio o página concreta.
  • Allow: Funciona al contrario que la directiva Disallow, permitiendo el acceso a directorios y páginas. Se puede utilizar para sobrescribir la directiva Disallow parcial o totalmente.
  • Sitemap: Indicar la ruta donde se encuentra un mapa del sitio en XML.
  • Crawl-delay: Indica al robot el número de segundos que debe esperar entre cada página. Puede ser útil en casos en los que se necesita reducir la carga del servidor.

Adicionalmente, como comentaba más arriba, puedes utilizar 2 caracteres para aumentar o reducir la concordancia:

  • Asterisco (*): Vale por una secuencia cualquiera de caracteres. Por ejemplo, todos los directorios que empiezan por “privado” serían “/privado*/”
  • Dólar ($): Indica el final de una URL. Por ejemplo, para indicar cualquier archivo que acabe con la extensión .php se utilizaría “/*.php$”.

Restricciones más comunes

Con los comandos y comodines se puede crear todo tipo de restricciones. Sin embargo, no es buena idea ser creativo con el archivo de robots, ya que puedes acabar bloqueando algo que no deseas.

En este sentido, es mejor ceñirse a las restricciones más comunes, como son:

  • Incluir todos los robots – User-agent: *
  • Especificar el robot de Google – User-agent: Googlebot
  • Especificar el robot de Bing – User-agent: Bingbot
  • Denegar todo el sitio – Disallow: /
  • Denegar un directorio – Disallow: /directorio/
  • Denegar directorios que comienzan por “algo” – Disallow: /algo*/
  • Denegar una página – Disallow: /pagina-web.htm
  • Denegar directorios y páginas que comienzan por “algo” – Disallow: /algo
  • Denegar la extensión .gif – Disallow: /*.gif$
  • Permitir un subdirectorio – Allow: /directorio/subdirectorio/
  • Señalar el mapa del sitio – Sitemap: http://www.example.com/sitemap.xml
Volver al índice

Un ejemplo de robots.txt para WordPress

archivo robots txt

Para ayudarte a comprender mejor el funcionamiento del archivo robots.txt me gustaría enseñarte un ejemplo real. Se trata del mismo archivo que utilizo en este blog, de ahí que sea un ejemplo orientado a WordPress.

No obstante, debes saber que este archivo quizá NO sea ideal para tí pese a usar WordPress. Según el caso, puede que necesites añadir restricciones, quitarlas, o usar la etiqueta meta robots. No hay un archivo robots.txt universal, tenlo en cuenta.

Recientemente he actualizado mi archivo robots.txt como sigue (sin los números de línea):

User-Agent: *
Disallow: /wp-
Disallow: /ir/
Allow: /wp-content/uploads/
Sitemap: https://ignaciosantiago.com/sitemap_index.xml

Ahora me gustaría explicarte cada línea:

  • Línea 1 – Declaro que las instrucciones que vienen a continuación son para los robots de cualquier buscador.
  • Línea 2 – Deniego el acceso a todos directorios y páginas que comienzan por “wp-”, propios de la instalación de WordPress.
  • Línea 3 – Deniego el acceso al directorio que utilizo para redirecciones (no tienes por qué tenerlo).
  • Línea 4 – Permito el acceso al directorio de archivos adjuntos, puesto que en la línea 2 lo había desautorizado.
  • Línea 5 – Indico la ruta donde se encuentra el mapa XML de mi página web.

Te recomiendo que cuando crees tu archivo compruebes que hace lo que esperas de él. Ten en cuenta que un simple error puede impedir el acceso a los buscadores y causar la pérdida de todos tus rankings. La comprobación es facil de hacer con las Herramientas para Webmasters de Google, en Rastreo > URL bloqueadas.

Volver al índice

Chuleta para principiantes

Te voy a enseñar varias opciones, y tu elige la que más te convenga:

  • Bloquear todos los rastreadores web de todo el contenido
User-agent: * Disallow: /
  • Bloquear un rastreador web específica desde una carpeta específica
User-agent: Googlebot Disallow: /google-no/
  • Bloquear un rastreador web específica de una página web específica
User-agent: Googlebot Disallow: /google-no/pagina-bloqueada.html
  • Permitir que un rastreador web específica para visitar una página web específica
Disallow: /sin-robots/bloquear-todos-los-robots-excepto-rogerbot.html User-agent: rogerbot Allow: /sin-robots/bloquear-todos-los-robots-excepto-rogerbot.html
  • Parámetro del Sitemap
User-agent: * Disallow: Sitemap: http://www.example.com/sitemap.xml

Recordatorio de reglas

  • En la mayoría de los casos, meta robots con parámetros “noindex, follow” deben ser empleados como una forma de restringir el rastreo o la indexación
  • Es importante señalar que los rastreadores maliciosos son propensos a ignorar completamente robots.txt y, como tal, este protocolo no es un buen mecanismo de seguridad
  • Sólo 1 línea “Disallow:” está permitida para cada URL
  • Cada subdominio de un dominio raíz utiliza archivos robots.txt separados
  • Google y Bing aceptan dos caracteres de expresiones regulares específicos para la exclusión de patrones (* y $)
  • El nombre del archivo robots.txt es sensible a las mayúsculas. Utiliza “robots.txt”, no “Robots.TXT”
  • Los espacios no se aceptan para separar parámetros de consulta. Por ejemplo, “/categoría/ /producto” no sería detectado por el archivo robots.txt

¿Ya sabes cómo crear tu archivo robots.txt?

Volver al índice

Valora el contenido por favor

 

A otros usuarios les intereso…