Hoy nuestro día a día surgen alrededor de las preguntas; todos los días hacemos decenas de preguntas y preguntas, a buscadores como Google, en la cual mágicamente como si un robot tuviera todo listo nos muestra un resultado de búsqueda en base a lo que preguntamos; sin embargo te has parado a preguntar cómo es esto posible, de donde salen estos resultados mágicamente que aparecen en nuestra pantalla.
La respuesta está que estos buscadores como Google están siempre buscando nuevos sitios y analizados los ya existentes, siempre en busca de datos y uno de los archivos pioneros en lo que se refiere a trabajar con los buscadores para que indexen nuestra web son los robots.txt.
¿A cuales robots nos referimos? y ¿Qué es un robots.txt?
El archivo robots.txt no es más que un archivo de texto plano con extensión .txt que permite evitar que ciertos robots que analizan los sitios web agreguen información innecesaria; incluso permite bloquear a estos robots; en otras palabras; permite indicar pautas o recomendaciones de cómo indexar nuestro sitio web por los distintos robots.
Los robots son generalmente buscadores que acceden a las páginas que componen nuestro sitio para así analizar; estos también son llamados bots, arañas, rastreadores, etc.
También podemos especificar a las arañas o los rastreadores que pueden rastrear o indexar y qué partes no pueden acceder o no deben acceder, es decir, que estas son simplementes recomendaciones, pero esto no garantiza que a la final la araña no intente meterse en partes que no queremos.
Este es un archivo que esta ligado directamente con la organización de nuestro sitio, en el mismo indicamos que partes de nuestra web esta o no visible y con esto indicar como está organizado nuestro sitio web, por tal motivo, es fundamental que esté bien programado y para eso puedes seguir las pautas señaladas en esta entrada.
Algunos robots conocidos
- Googlebot: El buscador de Google; con el cual descubre páginas nuevas y actualiza las existentes.
- Mediapartners-Google: El robot de Google que encuentra páginas con adsense.
- Bingbot: El buscador de Microsoft; al igual que en el caso del buscador de Google, con bingbot, Microsoft descubre páginas nuevas con las cuales Bing se alimenta.
Estos por citar algunos de los más importantes; pero hay muchos más.
Cuando un robot va a analizar un sitio web lo primero que hace es buscar el robots.txt en la raíz del web para saber qué páginas tiene que indexar y ver si existe alguna sección del sitio web que no debería debería recorrer ni indexar.
¿Para qué sirve el robots.txt?
Si decidimos emplear un robots.txt en nuestra web podremos lograr una serie de beneficios:
- Prohibir zonas: Este es uno de los usos más habituales, consiste básicamente en tener zonas en nuestra sitio web que no aparezcan en los buscadores; por ejemplo la sección de administración del sitio, logs del sitio web, o cualquier otro contenido que no deseamos que sea localizado por estos robots.
- Eliminar contenido duplicado: Los buscadores nos darán una mejor ponderación si evitamos duplicar contenido.
- Evitar sobrecargar el servidor: De esta forma podemos evitar que un robot sature al servidor con solicitudes excesivas al mismo.
- Indicar el mapa del sitio (sitemap).
- Bloquear robots: Hay "robots malos" cuyo único fin es rastrear la web en busca de email para hacer Spam, por citar algún caso.
Si nuestro sitio web no va a tener "zonas prohibidas", ni tampoco sitemap, ni tiene contenido duplicado; entonces no debemos de incluir el robots.txt en el sitio web; ni siquiera vacío.
¿Para qué no sirve el robots.txt?
Como hemos mencionado a lo largo del artículo, el robots.txt establece recomendaciones de como indexar nuestro sitio; pero algunos robots (que llamaremos "robots malos") pueden no respetar estas recomendaciones por distintos motivos:
- Si el sitio web posee información sensible o delicada y no quieres que pueda ser localizada por los buscadores, es recomendable utilizar algún medio de seguridad para proteger la información.
Características del robots.txt
Algunas de las principales características que debe cumplir con el robots.txt, son las siguientes:
- Este archivo debe ser único en nuestro sitio web.
- Archivo sin formato.
- Las urls son sensibles a mayúsculas y minúsculas y no hay que dejar espacios en blanco entre líneas.
- El archivo debe estar en la raíz del sitio web
- Indica la localización del sitemap o mapa del sitio web en XML.
¿Cómo creamos el archivo robots.txt?
El archivo robots.txt debe estar almacenado en la raíz de nuestro servidor; es un archivo que cualquiera puede acceder desde su navegador y el mismo debes crear o subir un archivo llamado "robots.txt"; así de fácil; a la final tu ruta debe quedar como:
https://tuweb.com/robots.txt
User-agent
: Este como su nombre indica corresponde al agente de usuario; existen varios tipos y hace referencia a los robots o arañas de los motores de búsqueda; puedes ver una colección de ellos en el siguiente enlace Robots Database. Su sintaxis sería:User-agent
: -Nombre del robot-- Disallow: Indica a la araña que no deseamos que acceda ni trastree una URL, subdirectorio o directorio de nuestra página web o aplicación.
Disallow
: -recurso que quieres bloquear- - Allow: Al contrario del anterior, indica que URL carpetas o subcarpetas deseamos que analice e indexe.
Allow
: -recurso que quieres indexar Sitemap
: Indica la ruta de nuestro sitemap o mapa del sitio en XML.
Para simplificar las reglas que detallamos anteriormente, puedes emplear unos caracteres en especial: *, ?, $; el asterisco para indicar todos, el dólar para indicar la terminación de un recurso (por ejemplo, para referenciar a todos los archivos PHP /*.php$
) y el signo de interrogación para indicar que coindice con el final de la URL.
Por ejemplo, para indicar en el archivo robots.txt que quieres impedir a todas las arañas que un directorio en particular es privado puedes aplicar las siguientes reglas:
User-agent: * Disallow: /carpeta-privada/
Solo quieres excluir al robot de Google:
User-agent: Googlebot Disallow: /carpeta-privada/
O el de Bing:
User-agent: Bingbot Disallow: /carpeta-privada/
La siguiente regla nos sirve para indicar que todas las carpetas que contengan carpeta-privada
serán privadas.
User-agent: * Disallow: /carpeta-privada*/
Para bloquear una URL:
Disallow: /android/mi-pagina-bloqueada.html
Ejemplo de archivo robots.txt
User-Agent: * Disallow: /carpeta-privada*/ Disallow: /admin/ Allow: /uploads/images/ Sitemap: https://tuweb.com/sitemap.xml
En el ejemplo anterior, estamos indicando a todos las arañas que no indexen ni procesen las carpetas que contengan carpeta-privada
ni la carpeta admin, pero que si procese los recursos en /uploads/images/
y también le estamos diciendo dónde está nuestro mapa del sitio.
Si queremos indicar que el contenido de nuestras imágenes es permitido, a todos los agentes, y además, indicar donde está nuestro Sitemap:
Aunque recuerda que esto son solo recomendaciones que se hacen a las arañas de búsqueda para que no indexen una carpeta o recurso en particular.
Conclusiones
Agregar el archivo robots.txt a nuestra web es recomendable ya que es una forma de organizar nuestra sitio web, indicando a los robots que sitios no son accesibles, donde hay contenido duplicado, donde está el sitemap de nuestra web, entre otros; pero debemos recordar que estas son solo recomendaciones; es decir no evitará que un robot malicioso acceda a las zonas que se han deshabilitado en el robots.txt; además de esto el robots.txt es un archivo público el cual puede ser accedido y consultar su contenido por cualquier ente con un navegador web.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter