Robots.txt es un archivo de texto ubicado en el directorio raíz de un sitio web que especifica qué páginas y archivos del sitio web deseas (o no deseas) que visiten los rastreadores y arañas de los motores de búsqueda. Por lo general, los propietarios de sitios web quieren ser notados por los motores de búsqueda; sin embargo, hay casos en que no es necesario. Por ejemplo, si almacenas datos confidenciales o deseas ahorrar ancho de banda al no indexar.
Los motores de búsqueda indexan los sitios web utilizando las palabras clave y los metadatos para proporcionar los resultados más relevantes a los usuarios de Internet que buscan algo en línea. Llegar a la parte superior de la lista de resultados de búsqueda es especialmente importante para los propietarios de tiendas de comercio electrónico. Los clientes rara vez navegan más allá de las primeras páginas de las coincidencias sugeridas en ellos motores de búsqueda.
Para fines de indexación, se utilizan las llamadas arañas o rastreadores. Estos son bots que las compañías de motores de búsqueda usan para buscar e indexar el contenido de todos los sitios web que están abiertos para ellos.
Cuando un rastreador accede a un sitio web, primero solicita un archivo llamado /robots.txt. Si se encuentra un archivo de este tipo, el rastreador lo comprueba en busca de las instrucciones de indexación del sitio web. El bot que no encuentra ninguna directiva tiene su propio algoritmo de acciones, que básicamente indexa todo. Esto no solo sobrecarga el sitio web con solicitudes innecesarias, sino que también la indexación se vuelve mucho menos efectiva.
Archivo robots.txt
Solo puede haber un archivo robots.txt para el sitio web. Se debe colocar un archivo robots.txt en la raíz. Por ejemplo, si su nombre de dominio es www.midominio.com, debes encontrarlo en https://www.midominio/robots.txt.
También es muy importante que tu archivo robots.txt se llame realmente robots.txt. El nombre distingue entre mayúsculas y minúsculas, así que asegúrate de hacerlo bien o no funcionará.
Posición oficial de Google con el archivo robots.txt
Un archivo robots.txt consta de líneas que contienen dos campos:
- Nombre del User-agent (rastreadores de motores de búsqueda). Encuentra la lista con todos los nombres de User-agent aquí.
- Línea (s) que comienzan con Disallow: directiva para bloquear la indexación.
Robots.txt debe crearse en formato de texto UNIX. Es posible crear dicho archivo .txt directamente en el Administrador de archivos en cPanel.
Robots.txt conceptos básicos de la sintaxis
Por lo general, un archivo robots.txt contiene un código como este:
User-agent: * Disallow: /cgi-bin/ Disallow: /tmp/ Disallow: /~different/
En este ejemplo, tres directorios: / cgi-bin /, / tmp / y / ~ different / están excluidos de la indexación.
Ten en Cuenta:
- Cada directorio está escrito en una línea separada. No debes escribir todos los directorios en una línea, ni debes dividir una directiva en varias líneas. En su lugar, usa una nueva línea para separar las directivas entre sí.
- El asterisco (*) en el campo User-agent significa «todos los rastreadores web». En consecuencia, directivas como Disallow: *.gif o User-agent: Mozilla* no son compatibles. Presta atención a estos errores lógicos, ya que son los más comunes.
- Otro error común es un error tipográfico accidental: directorios mal escritos, agentes de usuario, dos puntos faltantes después de User-agent y Disallow, etc. Cuando tus archivos robots.txt se vuelven cada vez más complicados, es más fácil que se produzca un error, por lo que hay algunos herramientas de validación que son útiles.
Ejemplos de uso de robots.txt
Estos son algunos ejemplos útiles del uso de robots.txt:
Ejemplo 1
Evita que todo el sitio sea indexado por todos los rastreadores web:
User-agent: * Disallow: /
Es posible que se necesite una medida como bloquear completamente el rastreo cuando el sitio web está bajo una gran carga de solicitudes o si el contenido se está actualizando y no debe aparecer en los resultados de búsqueda. A veces, la configuración de las campañas SEO es demasiado agresiva, por lo que los bots básicamente sobrecargan el sitio web con las solicitudes a sus páginas.
Ejemplo 2
Permitir que todos los rastreadores web indexen todo el sitio:
User-agent: * Disallow:
En realidad no hay necesidad de rastrear todo el sitio web. Es poco probable que los visitantes busquen términos de uso o páginas de inicio de sesión a través de la Búsqueda de Google, por ejemplo. Excluir algunas páginas o tipos de contenido de la indexación sería beneficioso para la seguridad, la velocidad y la relevancia en las clasificaciones del sitio web dado.
Cómo controlar qué contenido está indexado en tu sitio web.
A continuación hay ejemplos sobre cómo controlar qué contenido está indexado en tu sitio web.
Ejemplo 1
Evitar que se indexen algunos directorios:
User-agent: * Disallow: /cgi-bin/
Ejemplo 2
Evitar la indexación del sitio mediante un rastreador web específico:
User-agent: * Disallow: /page_url
La página generalmente no tiene una URL completa, solo por su nombre que sigue a http://www.tudominio.com/. Cuando se utiliza dicha regla, se bloquea la indexación de cualquier página con un nombre coincidente. Por ejemplo, tanto /page_url como /page_url_new serán excluidos. Para evitar esto, se puede usar el siguiente código:
User-agent: * Disallow: /page_url$
Ejemplo 3
Evitar la indexación del sitio web mediante un rastreador web específico:
User-agent: Bot1 Disallow: /
A pesar de la lista, algunas identidades pueden cambiar con el tiempo. Cuando la carga es extremadamente alta en el sitio web, y no es posible descubrir el bot exacto que usa en exceso los recursos, es mejor bloquearlos temporalmente.
Ejemplo 4
Permitir la indexación a un rastreador web específico y evitar la indexación de otros:
User-agent: Opera 9 Disallow: User-agent: * Disallow: /
Ejemplo 5
Evitar la indexación de todos los archivos excepto uno solo.
También está la directiva Allow: Sin embargo, esto no es reconocido por todos los rastreadores y algunos pueden ignorarlo. Actualmente, es compatible con Bing y Google. El siguiente ejemplo de regla de cómo permitir solo un archivo de una carpeta específica debe usarse bajo tu propio riesgo:
User-agent: * Allow: /docs/file.jpeg Disallow: /docs/
En cambio, puedes mover todos los archivos a un determinado subdirectorio y evitar su indexación, excepto para un archivo que permita indexar:
User-agent: * Disallow: /docs/
Esta configuración requiere una estructura de sitio web específica. También es posible crear una página de destino separada que redirija a la página de inicio del usuario real. De esta manera, puedes bloquear el directorio real con el sitio web y permitir solo la página de índice de aterrizaje. Es mejor cuando un desarrollador del sitio web realiza dichos cambios para evitar cualquier problema.
Robots.txt y SEO
Eliminar exclusiones de imágenes
El archivo robots.txt predeterminado en algunas versiones de CMS está configurado para excluir tu carpeta de imágenes. Este problema no ocurre en las últimas versiones de CMS, pero es necesario verificar las versiones anteriores.
Esta exclusión significa que tus imágenes no se indexarán ni se incluirán en la Búsqueda de imágenes de Google. Las imágenes que aparecen en los resultados de búsqueda son algo que desearías, ya que aumenta tu posicionamiento de SEO. Sin embargo, debes buscar un detalle llamado «hotlinking«. Cuando alguien vuelve a publicar una imagen cargada en tu sitio web en otro lugar, tu servidor es el que se carga con las solicitudes. Para evitar el hotlinking, lee más en nuestro artículo correspondiente de la base de conocimiento.
Si deseas cambiar esto, abre tu archivo robots.txt y elimina la línea que dice:
Disallow: /images/
Si tu sitio web tiene mucho contenido privado o los archivos multimedia no se almacenan permanentemente, sino que se cargan y eliminan a diario, es mejor excluir las imágenes de los resultados de búsqueda. En el primer caso, es una cuestión de privacidad personal. Este último se refiere a la posible sobrecarga de la actividad de los rastreadores cuando verifican una y otra vez cada nueva imagen.
Agregar referencia a su archivo sitemap.xml
Si tienes un archivo sitemap.xml (y debes tenerlo ya que aumenta tu clasificación de SEO), será bueno incluir la siguiente línea en tu archivo robots.txt:
sitemap: http://www.midominio.com/sitemap.xml
No olvides reemplazar la ruta http://www.midominio.com/sitemap.xml con tu información real.
Para obtener pautas sobre cómo crear el sitemap.xml para su sitio web, puede encontrarlas aquí.
Notas importantes
- No bloquees CSS, Javascript y otros archivos de recursos por defecto, de hacerlo evitarías que Googlebot muestre correctamente la página y comprenda que su sitio está optimizado para dispositivos móviles.
- También puedes usar el archivo para evitar que se indexen páginas específicas, como páginas de inicio de sesión o 404, pero esto se hace mejor utilizando las meta tag de robots.
- Agregar declaraciones disallow a un archivo robots.txt no elimina el contenido. Simplemente bloquea el acceso a las arañas. Si hay contenido que deseas eliminar, es mejor usar un meta noindex.
- Como regla general, el archivo robots.txt nunca debe usarse para manejar contenido duplicado. Hay mejores formas como una etiqueta Rel=canonical que es parte del encabezado HTML de una página web.
- Siempre ten en cuenta que robots.txt debe ser preciso para que los motores de búsqueda indexen correctamente tu sitio web.
Revisiones y soluciones alternativas
Inclusión de URL indexing en ‘noindex’
La metaetiqueta noindex impide que un motor de búsqueda indexe toda la página. Es posible que esta no sea una situación deseable, ya que desearías que las URL de esa página fueran indexadas y seguidas por bots para obtener mejores resultados. Para asegurarte de que esto suceda, puedes editar el encabezado de tu página con la siguiente línea:
<meta name="robots" content="noindex, follow">
Esta línea evitará que la página sea indexada por un motor de búsqueda, pero debido a la siguiente parte del código, los enlaces publicados en esta página aún se recuperarán. Esto permitirá que la araña se mueva por el sitio web y su contenido vinculado. El beneficio de este tipo de integración se llama Link Juice: es la conexión entre diferentes páginas y la relevancia de su contenido entre sí.
Si se agrega nofollow, el rastreador se detendrá cuando llegue a esta página y no avanzará más hacia el contenido interconectado:
<meta name = «robots» content = «noindex, nofollow»>
Desde una perspectiva de SEO, esto no se recomienda, pero depende de ti decidir.
Contenido eliminado
Algunas páginas pueden eliminarse del sitio web de forma permanente, por lo tanto, ya no tienen ningún valor real. Cualquier contenido desactualizado debe eliminarse de los archivos robots.txt y .htaccess. Este último puede contener las redirecciones para las páginas que ya no son relevantes.
Simplemente bloquear contenido caducado no es efectivo. En cambio, los redireccionamientos 301 deben aplicarse ya sea en el archivo .htaccess o mediante complementos. Si no hay un reemplazo adecuado para la página eliminada, se puede redirigir a la página de inicio.
Fugas de seguridad
Es mejor prohibir las páginas indexadas con datos confidenciales. Los ejemplos más comunes son:
- Páginas de inicio de sesión
- Área de administración
- Información de cuentas personales
Para mejorar la seguridad del sitio web, ten en cuenta lo siguiente:
- El hecho de que esta URL aparezca en los resultados de búsqueda no significa que cualquier persona sin las credenciales pueda acceder a ella. Aún así, es posible que desees tener un panel de control administrativo personalizado y URL de inicio de sesión que solo tu conozcas.
- Se recomienda no solo excluir ciertas carpetas, sino también protegerlas con contraseñas.
- Si cierto contenido en tu sitio web debe estar disponible solo para usuarios registrados, asegúrate de aplicar esta configuración a las páginas. El acceso con contraseña se puede configurar como se describe aquí. Ejemplo de ello son los sitios web con membresía premium donde ciertas páginas y artículos están disponibles al iniciar sesión únicamente.
- El archivo robots.txt y su contenido se pueden verificar en línea. Es por eso que se recomienda evitar ingresar nombres o datos que puedan brindar información no deseada sobre tu negocio.
Por ejemplo, si tienes páginas para tus colegas que residen en carpetas separadas y deseas excluirlas de los resultados de búsqueda, no deberían llamarse «johndoe» o «janedoe», etc. Al ejecutar disallow con esos nombres de carpetas mencionados, básicamente se publicará abiertamente los nombres de tus colegas. En su lugar, puedes crear «perfiles» de carpetas y colocar todas las cuentas personales allí. La URL en el navegador sería https://tudominio.com/profiles/johndoe y la regla de robots.txt se verá así:
User-agent: * Disallow: /profiles/
Sistema y configuración de contenido
No solo como medida de seguridad, sino también para ahorrar recursos de espacio de alojamiento, es posible que desees excluir el contenido irrelevante para los visitantes de tu sitio web de los resultados de búsqueda. Por ejemplo, estos podrían ser el tema y las imágenes de fondo, botones, pancartas de temporada, etc. No se recomienda usar la directiva Disallow para un directorio completo / tema.
Es por eso que se recomienda implementar completamente el tema y el diseño en todo el CSS en lugar de insertar fondos a través de la etiqueta HTML <img>, por ejemplo. Ocultar la carpeta de estilo específica puede causar un problema al buscar el contenido por los rastreadores y presentarlo adecuadamente a los usuarios en los resultados de búsqueda respectivos.
Sobrecarga de bot, bot overload
Algunos motores de búsqueda están demasiado ansiosos por verificar el contenido con la más mínima actualización. Lo hacen con demasiada frecuencia y crean una gran carga en el sitio web. Nadie quiere ver que sus páginas se carguen lentamente debido a los rastreadores hambrientos, pero bloquearlos completamente cada vez puede ser demasiado extremo. En cambio, es posible ralentizarlos utilizando la siguiente directiva:
crawl-delay: 10
En este caso, hay un retraso de 10 segundos para los robots de búsqueda.
Robots.txt para WordPress
WordPress crea un archivo robots.txt virtual una vez que publica tu primera publicación con WordPress. Aunque si ya tienes un archivo real robots.txt creado en tu servidor, WordPress no agregará uno virtual.
No existe un archivo robots.txt virtual en el servidor, y solo puedes acceder a él a través del siguiente enlace:
http://www.yoursite.com/robots.txt
De forma predeterminada, tendrá el Google’s Mediabot, un montón de spambots no permitidos y algunas carpetas y archivos estándar de WordPress no permitidos.
Por lo tanto, en caso de que aún no hayas creado un archivo robots.txt real, crea uno con cualquier editor de texto y cárgalo en el directorio raíz de tu servidor a través de FTP. Como práctica recomendada, también puedes usar uno de los muchos complementos SEO ofrecidos. Para obtener los plugins más actualizados y confiables, consulta la guía oficial de SEO de WordPress.
Bloqueo de directorios principales de WordPress
Hay 3 directorios estándar en cada instalación de WordPress: wp-content, wp-admin y wp-includes; que no necesitan ser indexados.
Sin embargo, no elijas no permitir toda la carpeta wp-content, ya que contiene una subcarpeta de «uploads» con los archivos multimedia de tu sitio que no deseas bloquear. Es por eso que debes proceder de la siguiente manera:
Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /wp-content/plugins/ Disallow: /wp-content/themes/
Bloqueo en función de la estructura de tu sitio
Cada blog puede estructurarse de varias maneras:
a) Sobre la base de categorías
b) Sobre la base de etiquetas
c) Sobre la base de ambos, ninguno de esos
d) Sobre la base de archivos basados en fechas
a) Si tu sitio está estructurado en categorías, no necesitas tener indexados los archivos Tag. Encuentra tu base de etiquetas en la página de enlaces permanentes en el menú Configuración. Si el campo se deja en blanco, la base de la etiqueta es simplemente ‘tag’:
Disallow: /tag/
b) Si tu sitio está estructurado en etiquetas, debes bloquear los archivos de categoría. Encuentra la base de tu categoría y usa la siguiente directiva:
Disallow: /category/
c) Si usas categorías y etiquetas, no necesitas usar ninguna directiva. En caso de que no uses ninguna de ellas, debes bloquear ambas:
Disallow: /tags/ Disallow: /category/
d) Si tu sitio está estructurado sobre la base de archivos basados en fechas, puedes bloquearlos de las siguientes maneras:
Disallow: /2010/
Disallow: /2011/
Disallow: /2012/
Disallow: /2013/
[:]