Los buscadores son codiciosos por naturaleza.
Quieren indexar toda la información posible, así que cuando llegan a tu sitio lo rastrean todo.
El problema surge cuando quieres evitar que ciertas páginas se incluyan en sus índices, ¿qué haces entonces?
Tienes 2 opciones:
- Introducir una etiqueta especial en cada página (véase Meta Robots)
- Usar un archivo centralizado para controlar la entrada
Esta última opción es la de robots.txt.
Contenidos:
Qué es el archivo robots.txt y para qué sirve
Los robots o arañas son unos programas que utilizan los buscadores para rastrear la web. Cuando llegan a tu sitio, lo primero que hacen es buscar el archivo robots.txt, y dependiendo de lo que diga en él, continúan en tu sitio o se van a otro.
Puedes entender el archivo robots.txt como una lista de robots no admitidos, la cual te permite restringir el acceso a tu sitio 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 sitio 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 de los mapas 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
Lo 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 un editor de código como Notepad++. De todos modos, si eres de los que prefieren herramientas de generación, la de SeoBook cumple con su cometido bastante bien. Otras alternativas son RobotsGenerator.com y McAnnering Robots.txt Generator.
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, puedes utilizar comodines 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
Un ejemplo de robots.txt para WordPress
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: /ir/
- Sitemap: http://deteresa.com/sitemap.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 – Bloqueo el directorio que utilizo para redirecciones (no tienes por qué tenerlo).
- Línea 3 – Indico la ruta donde se encuentra el mapa XML de mi sitio.
Actualización: Desde que Google actualizara sus directrices para Webmasters especificando que denegar el acceso a los archivos CSS y JavaScript con robots.txt puede dañar los rankings, he eliminado el bloqueo a los directorios de WordPress (Disallow: /wp-) y posteriormente el bloqueo al directorio de plugins (Disallow: /wp-content/plugins/).
Como consejo final, te recomiendo que cuando crees tu archivo compruebes que hace lo que esperas de él. Ten en cuenta que un simple error puede bloquear el acceso a los buscadores, lo que a su vez afectaría a tus rankings. La comprobación es fácil de hacer con las Herramientas para Webmasters de Google, concretamente en Rastreo > Probador de robots.txt.
Si necesitas más información sobre el archivo robots.txt puedes encontrarla en las siguientes páginas:
¿Ya sabes cómo vas a crear tu archivo robots.txt?
Imagen vía Diesel Sweeties
Todo lo que Necesitas Saber Sobre el Archivo robots.txt by Tomás de Teresa
Raul25r dice
Muy bien explicado, gracias por la aclaracion. +1
Lewis dice
Interesante. Me copio la configuración de tu robots.txt. Saludos.
Tomás de Teresa dice
No te recomiendo que copies la configuración tal cual, en todo caso que la adaptes a tu sitio.
Saludos
Andrea dice
Una consulta, el robot debe ir dentro del directorio httpdocs o dentro de wp-content?
Gracias y excelente material ;)
Tomás de Teresa dice
En httpdocs.
MariPaz dice
Hola Tomás:
No entiendo como, pero desde hace varios días Google no me indica el contenido de robots.txt. Fue de pronto, un día sin mas. Dice “Descargado: Nunca”. Y eso que antes sí que aparecía con una fecha en “Descargado”.
No he conseguido encontrar el motivo. ¿Hay alguna razón por la que Google puede no leer este archivo?
El archivo está bien colocado, y parece estar correctamente configurado, al menos en lo que veo.
Por otro lado, francamente interesante tu blog. Bien clarito.
Un saludo desde Andalucía
Tomás de Teresa dice
Hola MariPaz
Lo importante es que el buscador respete las directivas de Robots. Puedes probarlo un poco más abajo, introduciendo algunas URLs y dándole al botón “Probar”. Si funciona, no hay de qué preocuparse; probablemente aparezca la fecha de descarga en la próxima actualización.
Saludos
sara dice
hola !
En las Herramientas para webmasters de google, el acceso a mi web está “Denegado por robots.txt”. Este archivo en mi web es: User-agent: * Disallow: /
En wordpress, dónde puedo encontrarlo, o moficarlo ?? (No lo he creado yo)
Gracias.
sara dice
Hola de nuevo,
Finalmente, he conseguido tener acceso al archivo robots.txt, pero aún así no me permite buscarlo en google debido a su existencia.
Cómo puedo arreglar esto? ya que wordpress no me permite eliminarlo completamente.
Gracias de antemano. Saludos
Tomás de Teresa dice
Hola Sara
Por el momento cambia el contenido del archivo por:
User-agent: *
Allow: /
De esta forma permitirás el acceso a los buscadores. Más adelante puedes configurar el archivo según tus necesidades.
Fran dice
Hola! Tengo el mismo problema con el buscador de google, pero no logro encontrar donde lo modifico. Me podrías ayudar?
Tomás de Teresa dice
Hola Fran
El archivo se encuentra en la raíz del sitio (example.com/robots.txt) y para acceder necesitas usar un cliente FTP como Filezilla (https://filezilla-project.org/). También existen plugins que permiten acceder directamente desde el panel de control de el sitio, aunque eso depende del gestor de contenidos.
Saludos
angela catano dice
Buenas tardes,
Tengo el mismo problema del robot text para indexar mi pagina a Google. No se mucho del tema pero entiendo que debo corregirlo por filezilla , se acceder a mi pagina por este programa , pero me explicas como encuentro el robot text para corregirlo, en mi caso
el rastreador de google dice>
User-agent: *
Disallow: /wp-admin/
Sitemap: artelectronica.com.co/sitemap.xml.gz
De antemano gracias por la ayuda
Tomás de Teresa dice
Hola Angela
Una vez te conectes por FTP, probablemente encuentres el archivo en el directorio www, httpdocs o public_html.
Saludos
Joana Nastari dice
Muy buen artículo, Tomás. Fácil de comprender.
Una pregunta: ¿cuál es la ventaja del Disallow: /wp-?
Un saludo
Tomás de Teresa dice
Hola Joana
En el caso que describo sirve para bloquear el acceso a los directorios de WordPress, aunque no es una regla estrictamente necesaria.
Saludos
Maria Isabel dice
Hola Tomás
Si creo un web en un directorio local antes de subirla ¿es mejor hacerlo bloqueando el rastreo de la web a los buscadores y una vez subida permitir el rastreo? ¿o permitir el rastreo antes de subirla?
Un saludo
Tomás de Teresa dice
Hola Maria Isabel
Deberías bloquear el directorio hasta que la web esté lista. Lo único que en lugar de usar robots.txt te recomiendo poner acceso por contraseña. Esto puedes configurarlo mediante el archivo .htaccess y también con cPanel.
Saludos
Andrés dice
Hola Tomás, gracias por el artículo, entonces si los directorios tienen contraseña ¿no hace falta bloquearlos mediante robots, aunque tenga contenido duplicado? ¿Es malo tener muchos directorios bloqueados en robots o puede afectar al SEO? Gracias.
Tomás de Teresa dice
Hola Andrés
Al estar protegidos por contraseña, no importa lo que contengan ya que los robots no podrán acceder. En cuento a tu segunda pregunta, no veo problema siempre que entre esos directorios no haya contenido que te interese que esté en el índice de Google ;-)
Saludos
Israel dice
muchas gracias amigo tu explicación fue muy clara, por cierto, en tu articulo mencionas que el sitemap debe estar especificado en el robots.txt, anteriormente en otro documento escuche que se debía especificar en el archivo .htacces, ¿tú que recomiendas para fines de posicionamiento de una página hecha en joomla?
Tomás de Teresa dice
Imagino que sería un error, se indica en el archivo robotx.txt y además es opcional. Desde mi punto de vista lo más importante es subir el Sitemap en las herramientas para webmasters del buscador.
Saludos
Jair Díez dice
Tomás, me ha servido mucho la explicación sobre el uso de robots.txt, sólo me queda una duda, al momento de subirlo al server, cual es la codificación que debe tener el archivo? ANSI – UTF8 o cual.
Gracias,
Tomás de Teresa dice
Hola Jair
No deberías tener problemas con ANSI ni con UTF-8. Lo único que te recomiendo es evitar la marca de orden de bytes BOM si usas UTF-8, ya que puede despistar a los robots.
saludos
Diego Muñoz dice
Gracias por tu información, esta bien explicado. Sigue Así!
Saludos
Tomás de Teresa dice
Gracias Diego :-)
Oscar Muñoz dice
Gracias, lo tomare en cuenta para aplicarlo de inmediato a mi sitio. Gracias!!!
Tomás de Teresa dice
Estupendo ;-)
Bernardo dice
Hola Tomás, respecto tu aporte sobre el archivo robot.txt me parece estupendo, pero después de leer lo comentarios se me queda una duda que te preguntó un compañero, sobre la colocación de archivo. Yo tenía entendido que este archivo se colocaba en la carpeta raiz pero a otro compañero le dijiste que se colocara en el directorio httpdocs, si es así, que tipo de archivos se colocan en esta carpeta y el buscador google lo encontrará aun estado en una carpeta de nuestra web.
Saludos
Tomás de Teresa dice
Hola Bernardo
El archivo debe estar ubicado en la raíz del sitio. Lo que pasa es que al acceder por FTP al servidor, primero tienes que situarte en el directorio que contiene el sitio web. Este directorio suele llevar nombres como httpdocs, public_html o www, de ahí lo que le dije a Andrea.
Espero que esto aclare tu duda.
Bernardo dice
Muchas gracias !!!
Mauricio Macas dice
Hola Tomás, excelente post, pero tengo una duda la cual creo que será de ayuda para otros usuarios que tengan mi problema.
Tengo google page speed instalado en el servidor de mi bog y en GMT tengo en la sección Mejoras de HTML el aviso de que tengo Páginas con etiquetas de título duplicadas y verificando estas páginas, todas tienen en la parte final:
?PageSpeed=noscript
Aunque tengo como link canonical la url oficial con yoast seo plugin, me gustaría mediante robots.txt desindexar este parámetro de page speed.
Tengo el permalink:
blog/categoria/post/
Con el parámetro de page speed:
blog/categoria/post/?PageSpeed=noscript
Como desindexo con robots.txt este parámetro según mi permalink?
Disallow: /?PageSpeed=noscript
Disallow: /*?PageSpeed=noscript
Esta bien de esta forma?
Gracias por la ayuda.
Tomás de Teresa dice
Hola Mauricio
No es recomendable usar robots.txt para desindexar páginas con parámetros. Con tener la etiqueta canonical bien configurada es suficiente, aunque si te quedas más tranquilo usa además la herramienta parámetros de URL en Google Webmaster Tools.
Saludos
Mauricio Macas dice
Gracias por la respuesta Tom’as, ahora ya me quedo mas claro el asunto, un gran Saludo.