- Desde
- 20 May 2014
- Mensajes
- 1.302
He realizado este tutorial, de un tema que muchos webmaster pasan por alto y es uno de los principios básicos, que todo webmaster tiene que tener en cuenta una vez ha finalizado su preciosa web o blog y es saber que es el fichero robots.txt y que posibilidades de configuración tiene.
Empecemos con la definición del fichero robots.txt, que es un archivo de texto el cual indicara unas recomendaciones para los crawlers y robots, solo le indicara recomendaciones nunca unas obligaciones.
¿Qué es un crawler?, pues simplemente un robot que pertenece algún buscador. Su función es rastrear las páginas web y acceder a ellas para buscar la información que contiene y poderla clasificar en los índices de los buscadores. Ojo, son conocidos también como indexadores, bots, arañas y spiders.
El buscador más conocido y que cada día tiene más monopolio es Google, pues el Googlebot es como se conoce al crawler de dicho buscador, otros que existen son los siguientes:
• Googlebot Image, como puedes deducir, es el crawler que indexa las imágenes en Google.
• Mediapartners Google, es el crawler que revisa los anuncios del famoso Google Adsense.
• Googlebot News, es el crawler que revisa las noticias de Google News.
• Scooter, es el crawler del buscador de Altavista (Yahoo! actualmente).
• Bingbot, es el crawler del buscador de Bing (el de Microsoft)
• Slurp, es el crawler del antiguo buscador de Yahoo!
Estos son algunos, existen muchos más, en esta dirección The Web Robots Pagespodéis ver todos los crawlers que existen. Pero actualmente como ya sabéis la mayoría el predominante es Google, y el que nos hace la vida imposible con el Seo. Pero es importante saber cómo funciona el fichero de robots.txt, vamos a ello.
¿Para qué nos va a servir este fichero?
- Lo primero de todo, impedir que accedan ciertos robots a nuestra web. “Que dice este tío”, si lo que quiero es que los robots sepan de mi sitio para indexarme. Pues amigo mío, hay robots que no interesan que accedan a nuestra web, porque no son robots de buscadores y algunos incluso son maliciosos, son robots que lo único que les interesa es buscar nuestras direcciones de correo o ciertos formularios, simplemente para realizar Spam, conocidos también como Spam bots. El problema de estos Spam bots, es que se hacen pasar como robots legítimos y no es tan fácil bloquearlos. Saber bloquear estos Spam bots, daría para otro tutorial, pero básicamente se trata de acceder al archivo htaccess, revisar el User agent, el rango Ip, porque el User agent suele ser fácil de falsificar por estos robots y aplicar un bloqueo con fuerza bruta, pero eso es otro tema que daría para otro tutorial.
- Segundo, podemos reducir una sobrecarga del servidor, porque podremos controlar las peticiones de ciertos robots. Algunos robots no paran de realizar peticiones al servidor provocando su saturación.
- Tercero, podemos especificar qué zonas no queremos que accedan los robots. Esto es muy útil cuando queremos que una parte de nuestra web no aparezca en los buscadores.
- Cuarto, podemos evitar el contenido duplicado, algo muy importante para que los buscadores nos den unas puntuaciones más altas para subir posiciones. Muchos webmasters se olvidan de este principio básico en el seo.
- Y quinto, puedes introducir también un sitemap para indicarle el camino a seguir a los robots.
Una vez hemos visto todo esto, vamos a ver cómo debemos crear el fichero robots.txt.
Es muy simple, hay que crear un fichero de texto con el bloc de notas de Windows, por ejemplo y crear ciertas indicaciones, como las siguientes:
User-agent: * (Indicamos nombre del buscador)
Disallow: (Indicamos la ruta)
Con estas dos líneas estamos permitiendo que puedan entrar todos los robots o crawlers, a visitar nuestra web. Luego deberemos guardar el archivo con el nombre robots.txt
La primera linea User-agent, es donde pondremos que robot o crawler queremos que acceda a nuestra web, al poner “*” le estamos diciendo que accedan todos los robots.
La segunda línea Disallow le indicamos la ruta donde está o no prohibido acceder, como por ejemplo:
• Disallow: ------------ permitiría la entrada a todo el sitio.
• Disallow: / ----------- se prohíbe la entrada a todo el sitio, es decir no seriamos indexados en los buscadores.
• Disallow: /foro/ --------- esto prohibiría la entrada a los documentos del directorio del foro.
He visto algunos webmasters, que utilizan en vez de Disallow, solo Allow, esto no es aconsejable, porque hay algunos crawlers que no entienden que significa Allow, así que no os compliquéis y utilizar siempre Disallow.
Otra de las cosas que tenemos que tener en cuenta, es que se pueden acumular varios Disallow, dentro de un mismo User-agent, en el mismo fichero txt, pero no se pueden tener varios User-agent, seguidos en un mismo fichero. Por ejemplo:
ESTO ES CORRECTO
User-agent: bingbot --------- Le estamos indicando que solo acceda el crawler del buscador Bing
Disallow:/enlaces.html ----------- Impide que el buscador Bing acceda a la página de los enlaces.html
Disallow:/privado/Disallow:/fotos/ -------- Impide que pueda accede a la carpeta privado y a la carpeta fotos.
ESTO NO ES CORRECTO
User-agent: bingbot
User-agent: Googlebot Image
Disallow:/enlaces.html
Disallow:/privado/Disallow:/fotos
Dentro del fichero robots.txt, puedes añadir comentarios a las líneas, con el carácter # al principio de la linea, por ejemplo:
# Solo dar acceso al buscador Scooper User-agent: Scooper
Ahora vamos a ver los comodines, que nos van a dar algo más de potencia a nuestras líneas.
Puedes hacer un fichero de robots.txt con diferentes reglas para diferentes robots. Imagínate el potencial que tendría un archivo de este tipo hecho a medida por ti.
Siempre que pongamos un User-agent, hay que dejar una línea en blanco de separación. Podremos utilizar ciertos comodines con el * que ya hemos visto y el $ para indicar ciertas rutas a los crawlers.
Por ejemplo:
User-agent: Bingbot Disallow:/*.js$ ---- Se indica al robot de Microsoft que no indexe los ficheros que terminen en .js que son los ficheros de javascript.
Disallow: /2010/* ------- Que no indexe las direcciones que empiecen por 2010
Disallow: /2012/* ------- Que no indexe las direcciones que empiecen por 2012
Disallow: /categoria/*/paginacocina/* ------ Que no indexe la carpeta categoría con la palabra paginacocina
Estas tres líneas son muy interesantes, para evitar el contenido duplicado. El problemas de los blogs, es que muchas veces tenemos el post principal, que lo clasificamos con fechas en este ejemplo por años, y por las categorías, con estas líneas evitamos que el robot indexe las fechas y las categorías y solo indexaría el post principal, con lo cual evitaremos la duplicidad.
Recuerda que en un blog podemos acceder a la misma información de la siguiente forma:
- Por el título del artículo.
- Por su categoría.
- Por fecha de creación.
- Por su feed (RSS del articulo)
Esto para los buscadores, es contenido duplicado. Así la importancia de saber configurar tu robot.txt para evitar esto.
Importante: Cuando utilices el comando Disallow ten mucho cuidado al configurarlo, porque no es lo mismo poner Disallow:/carpeta donde se bloqueara todo el contenido de carpeta, que Disallow:/*carpeta, donde vas a bloquear todo lo que contenga carpeta, como carpeta presupuestos, avisos carpeta, carpetas estadísticas.
Otra de las opciones interesantes será poder reducir la frecuencia con la que los robots nos pueden rastrear. Esto es muy importante, para que nuestro servidor no se sobrecargue con peticiones continúas de estos crawlers.
La forma más eficaz es poniendo estas dos líneas en el archivo robots.txt
User-agent: Bingbot
Crawl-delay: 60
Aquí l e estamos diciendo al robot Bingbot de Microsoft que debe esperar 60 segundos entre un acceso y otro. El comando Crawl-delay, no lo soportan todos los crawlers, pero si la gran mayoría.
Por último os dejo varios comandos y configuraciones según el CMS que utilicéis.
La mayoría de CMS como Wordpress, Joomla, Drupal, contienen su propio fichero robots.txt cuando instalas la aplicación. Lo único que debes hacer es añadir el comando crawl-delay, visto anteriormente, para que no sobrecargue tu servidor. También debes indicar los artículos y directorios que no quieras que sean indexados por el buscador.
Ejemplos de robots.txt:
Para un Wordpress:
User-agent: *
Crawl-Delay: 60
Disallow: /wp-content/
Disallow: /wp-icludes/
Disallow: /trackback/
Disallow: /wp-admin/
Disallow: /archives/
Disallow: /category/
Disallow: /tag/*
Disallow: /tag/
Disallow: /wp-*
Disallow: /login/
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.php$
User-agent: All
Allow:/
User-agent: Googlebot-Image
Disallow: /
User-agent: ia_archiver
Disallow: /
User-agent: duggmirror
Disallow: /
Para un Drupal:
User-agent: *
Crawl-delay: 60
# Directories
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /sites/
Disallow: /themes/
# Files
Disallow: /changelog.txt
Disallow: /cron.php
Disallow: /install.mysql.txt
Disallow: /install.pgsql.txt
Disallow: /install.php
Disallow: /install.txt
Disallow: /license.txt
Disallow: /maintaners.txt
Disallow: /update.php
Disallow: /upgrade.txt
Disallow: /xmlrpc.php
# Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
# Paths (no clean URLs)
Disallow: /?q=admin/
Disallow: /?q=comment/reply/
Disallow: /?q=contact/
Disallow: /?q=logout/
Disallow: /?q=node/add/
Disallow: /?q=search/
Disallow: /?q=user/password/
Disallow: /?q=user/register/
Disallow: /?q=user/login/
Disallow: /?q=search/
# Extras on drupal.org
# no access for table sorting paths or any paths that have parameters
Disallow: /*?sort*
Disallow: /*&sort*
Disallow: /*?solrsort*
Disallow: /*&solrsort*
# no access to profiles that are often targeted by spammers.
Disallow: /profile/interest/*
Disallow: /profile/industries/*
Disallow: /profile/companies/*
# Disallow bogus aggregator pages
Disallow: /aggregator/*
# Disallow project search
Disallow: /project/issues/search/*
Disallow: /project/issues/*
# Disallow book export
Disallow: /book/export/*
# Disallow pift tests
Disallow: /pift/retest/*
# Disallow project subscription
Disallow: /project/issues/subscribe-mail/*
Para un Joomla:
User-agent: *
Crawl-delay: 60
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Añado este punto a petición de varias personas que me lo han solicitado.
Esta es la configuración que yo utilizo en mis blogs, la mayoria hechos con Wordpress.
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Allow: /wp-content/uploads/
Disallow: /search
Disallow: /?s=
Disallow: /feed
Disallow: /comments/feed
Allow: /feed/$
Disallow: /*/feed/$
Disallow: /*/feed/rss/$
Disallow: /*/trackback/$
Disallow: /*/*/feed/$
Disallow: /*/*/feed/rss/$
Disallow: /*/*/trackback/$
Disallow: /*/*/*/feed/$
Disallow: /*/*/*/feed/rss/$
Disallow: /*/*/*/trackback/$
Bueno eso ha sido todo, espero que este tutorial os sea de utilidad y si te ha gustado, comenta en el foro y dame un Me agrada.
Empecemos con la definición del fichero robots.txt, que es un archivo de texto el cual indicara unas recomendaciones para los crawlers y robots, solo le indicara recomendaciones nunca unas obligaciones.
¿Qué es un crawler?, pues simplemente un robot que pertenece algún buscador. Su función es rastrear las páginas web y acceder a ellas para buscar la información que contiene y poderla clasificar en los índices de los buscadores. Ojo, son conocidos también como indexadores, bots, arañas y spiders.
El buscador más conocido y que cada día tiene más monopolio es Google, pues el Googlebot es como se conoce al crawler de dicho buscador, otros que existen son los siguientes:
• Googlebot Image, como puedes deducir, es el crawler que indexa las imágenes en Google.
• Mediapartners Google, es el crawler que revisa los anuncios del famoso Google Adsense.
• Googlebot News, es el crawler que revisa las noticias de Google News.
• Scooter, es el crawler del buscador de Altavista (Yahoo! actualmente).
• Bingbot, es el crawler del buscador de Bing (el de Microsoft)
• Slurp, es el crawler del antiguo buscador de Yahoo!
Estos son algunos, existen muchos más, en esta dirección The Web Robots Pagespodéis ver todos los crawlers que existen. Pero actualmente como ya sabéis la mayoría el predominante es Google, y el que nos hace la vida imposible con el Seo. Pero es importante saber cómo funciona el fichero de robots.txt, vamos a ello.
¿Para qué nos va a servir este fichero?
- Lo primero de todo, impedir que accedan ciertos robots a nuestra web. “Que dice este tío”, si lo que quiero es que los robots sepan de mi sitio para indexarme. Pues amigo mío, hay robots que no interesan que accedan a nuestra web, porque no son robots de buscadores y algunos incluso son maliciosos, son robots que lo único que les interesa es buscar nuestras direcciones de correo o ciertos formularios, simplemente para realizar Spam, conocidos también como Spam bots. El problema de estos Spam bots, es que se hacen pasar como robots legítimos y no es tan fácil bloquearlos. Saber bloquear estos Spam bots, daría para otro tutorial, pero básicamente se trata de acceder al archivo htaccess, revisar el User agent, el rango Ip, porque el User agent suele ser fácil de falsificar por estos robots y aplicar un bloqueo con fuerza bruta, pero eso es otro tema que daría para otro tutorial.
- Segundo, podemos reducir una sobrecarga del servidor, porque podremos controlar las peticiones de ciertos robots. Algunos robots no paran de realizar peticiones al servidor provocando su saturación.
- Tercero, podemos especificar qué zonas no queremos que accedan los robots. Esto es muy útil cuando queremos que una parte de nuestra web no aparezca en los buscadores.
- Cuarto, podemos evitar el contenido duplicado, algo muy importante para que los buscadores nos den unas puntuaciones más altas para subir posiciones. Muchos webmasters se olvidan de este principio básico en el seo.
- Y quinto, puedes introducir también un sitemap para indicarle el camino a seguir a los robots.
Una vez hemos visto todo esto, vamos a ver cómo debemos crear el fichero robots.txt.
Es muy simple, hay que crear un fichero de texto con el bloc de notas de Windows, por ejemplo y crear ciertas indicaciones, como las siguientes:
User-agent: * (Indicamos nombre del buscador)
Disallow: (Indicamos la ruta)
Con estas dos líneas estamos permitiendo que puedan entrar todos los robots o crawlers, a visitar nuestra web. Luego deberemos guardar el archivo con el nombre robots.txt
La primera linea User-agent, es donde pondremos que robot o crawler queremos que acceda a nuestra web, al poner “*” le estamos diciendo que accedan todos los robots.
La segunda línea Disallow le indicamos la ruta donde está o no prohibido acceder, como por ejemplo:
• Disallow: ------------ permitiría la entrada a todo el sitio.
• Disallow: / ----------- se prohíbe la entrada a todo el sitio, es decir no seriamos indexados en los buscadores.
• Disallow: /foro/ --------- esto prohibiría la entrada a los documentos del directorio del foro.
He visto algunos webmasters, que utilizan en vez de Disallow, solo Allow, esto no es aconsejable, porque hay algunos crawlers que no entienden que significa Allow, así que no os compliquéis y utilizar siempre Disallow.
Otra de las cosas que tenemos que tener en cuenta, es que se pueden acumular varios Disallow, dentro de un mismo User-agent, en el mismo fichero txt, pero no se pueden tener varios User-agent, seguidos en un mismo fichero. Por ejemplo:
ESTO ES CORRECTO
User-agent: bingbot --------- Le estamos indicando que solo acceda el crawler del buscador Bing
Disallow:/enlaces.html ----------- Impide que el buscador Bing acceda a la página de los enlaces.html
Disallow:/privado/Disallow:/fotos/ -------- Impide que pueda accede a la carpeta privado y a la carpeta fotos.
ESTO NO ES CORRECTO
User-agent: bingbot
User-agent: Googlebot Image
Disallow:/enlaces.html
Disallow:/privado/Disallow:/fotos
Dentro del fichero robots.txt, puedes añadir comentarios a las líneas, con el carácter # al principio de la linea, por ejemplo:
# Solo dar acceso al buscador Scooper User-agent: Scooper
Ahora vamos a ver los comodines, que nos van a dar algo más de potencia a nuestras líneas.
Puedes hacer un fichero de robots.txt con diferentes reglas para diferentes robots. Imagínate el potencial que tendría un archivo de este tipo hecho a medida por ti.
Siempre que pongamos un User-agent, hay que dejar una línea en blanco de separación. Podremos utilizar ciertos comodines con el * que ya hemos visto y el $ para indicar ciertas rutas a los crawlers.
Por ejemplo:
User-agent: Bingbot Disallow:/*.js$ ---- Se indica al robot de Microsoft que no indexe los ficheros que terminen en .js que son los ficheros de javascript.
Disallow: /2010/* ------- Que no indexe las direcciones que empiecen por 2010
Disallow: /2012/* ------- Que no indexe las direcciones que empiecen por 2012
Disallow: /categoria/*/paginacocina/* ------ Que no indexe la carpeta categoría con la palabra paginacocina
Estas tres líneas son muy interesantes, para evitar el contenido duplicado. El problemas de los blogs, es que muchas veces tenemos el post principal, que lo clasificamos con fechas en este ejemplo por años, y por las categorías, con estas líneas evitamos que el robot indexe las fechas y las categorías y solo indexaría el post principal, con lo cual evitaremos la duplicidad.
Recuerda que en un blog podemos acceder a la misma información de la siguiente forma:
- Por el título del artículo.
- Por su categoría.
- Por fecha de creación.
- Por su feed (RSS del articulo)
Esto para los buscadores, es contenido duplicado. Así la importancia de saber configurar tu robot.txt para evitar esto.
Importante: Cuando utilices el comando Disallow ten mucho cuidado al configurarlo, porque no es lo mismo poner Disallow:/carpeta donde se bloqueara todo el contenido de carpeta, que Disallow:/*carpeta, donde vas a bloquear todo lo que contenga carpeta, como carpeta presupuestos, avisos carpeta, carpetas estadísticas.
Otra de las opciones interesantes será poder reducir la frecuencia con la que los robots nos pueden rastrear. Esto es muy importante, para que nuestro servidor no se sobrecargue con peticiones continúas de estos crawlers.
La forma más eficaz es poniendo estas dos líneas en el archivo robots.txt
User-agent: Bingbot
Crawl-delay: 60
Aquí l e estamos diciendo al robot Bingbot de Microsoft que debe esperar 60 segundos entre un acceso y otro. El comando Crawl-delay, no lo soportan todos los crawlers, pero si la gran mayoría.
Por último os dejo varios comandos y configuraciones según el CMS que utilicéis.
La mayoría de CMS como Wordpress, Joomla, Drupal, contienen su propio fichero robots.txt cuando instalas la aplicación. Lo único que debes hacer es añadir el comando crawl-delay, visto anteriormente, para que no sobrecargue tu servidor. También debes indicar los artículos y directorios que no quieras que sean indexados por el buscador.
Ejemplos de robots.txt:
Para un Wordpress:
User-agent: *
Crawl-Delay: 60
Disallow: /wp-content/
Disallow: /wp-icludes/
Disallow: /trackback/
Disallow: /wp-admin/
Disallow: /archives/
Disallow: /category/
Disallow: /tag/*
Disallow: /tag/
Disallow: /wp-*
Disallow: /login/
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.php$
User-agent: All
Allow:/
User-agent: Googlebot-Image
Disallow: /
User-agent: ia_archiver
Disallow: /
User-agent: duggmirror
Disallow: /
Para un Drupal:
User-agent: *
Crawl-delay: 60
# Directories
Disallow: /includes/
Disallow: /misc/
Disallow: /modules/
Disallow: /profiles/
Disallow: /scripts/
Disallow: /sites/
Disallow: /themes/
# Files
Disallow: /changelog.txt
Disallow: /cron.php
Disallow: /install.mysql.txt
Disallow: /install.pgsql.txt
Disallow: /install.php
Disallow: /install.txt
Disallow: /license.txt
Disallow: /maintaners.txt
Disallow: /update.php
Disallow: /upgrade.txt
Disallow: /xmlrpc.php
# Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /contact/
Disallow: /logout/
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register/
Disallow: /user/password/
Disallow: /user/login/
# Paths (no clean URLs)
Disallow: /?q=admin/
Disallow: /?q=comment/reply/
Disallow: /?q=contact/
Disallow: /?q=logout/
Disallow: /?q=node/add/
Disallow: /?q=search/
Disallow: /?q=user/password/
Disallow: /?q=user/register/
Disallow: /?q=user/login/
Disallow: /?q=search/
# Extras on drupal.org
# no access for table sorting paths or any paths that have parameters
Disallow: /*?sort*
Disallow: /*&sort*
Disallow: /*?solrsort*
Disallow: /*&solrsort*
# no access to profiles that are often targeted by spammers.
Disallow: /profile/interest/*
Disallow: /profile/industries/*
Disallow: /profile/companies/*
# Disallow bogus aggregator pages
Disallow: /aggregator/*
# Disallow project search
Disallow: /project/issues/search/*
Disallow: /project/issues/*
# Disallow book export
Disallow: /book/export/*
# Disallow pift tests
Disallow: /pift/retest/*
# Disallow project subscription
Disallow: /project/issues/subscribe-mail/*
Para un Joomla:
User-agent: *
Crawl-delay: 60
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Añado este punto a petición de varias personas que me lo han solicitado.
Esta es la configuración que yo utilizo en mis blogs, la mayoria hechos con Wordpress.
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Allow: /wp-content/uploads/
Disallow: /search
Disallow: /?s=
Disallow: /feed
Disallow: /comments/feed
Allow: /feed/$
Disallow: /*/feed/$
Disallow: /*/feed/rss/$
Disallow: /*/trackback/$
Disallow: /*/*/feed/$
Disallow: /*/*/feed/rss/$
Disallow: /*/*/trackback/$
Disallow: /*/*/*/feed/$
Disallow: /*/*/*/feed/rss/$
Disallow: /*/*/*/trackback/$
Bueno eso ha sido todo, espero que este tutorial os sea de utilidad y si te ha gustado, comenta en el foro y dame un Me agrada.
Última edición: