¿Qué estás buscando?
  • /
  • SEO
  • /
  • Todo sobre el Robots.txt
Todo sobre el Robots.txt

Todo sobre el Robots.txt

Si aprendes a manejar correctamente el archivo robots.txt y las otras maneras de controlar las páginas rastreadas por los bots de los buscadores puedes tener una ventaja extra sobre tu competencia… ¡Que seguramente no lo está haciendo!

Qué es el robots.txt y para qué sirve

El robots.txt es un archivo que se encarga de darle indicaciones a los ‘robots’ acerca de qué contenido quieres que rastreen y qué contenido no. Estos robots son programas creados para recolectar páginas en la web y a veces se les llama de otras formas, como crawlers, bots o arañas (spiders).spiderbot

Cuando un robot visita un sitio primero revisa que exista un archivo robots.txt para saber que páginas puede visitar y cuales no.

Como crear un robots.txt y su sintaxis

Para crear un robots.txt se puede usar cualquier editor de texto plano como el bloc de notas, se debe seguir una sintaxis específica y al final se debe subir al directorio raíz del sitio.

OJO, ¡A la raíz!

Si tu página inicial se encuentra en http://www.dominio.com/un/directorio/index.html no lo coloques en http://www.dominio.com/un/directorio/robots.txt, debe ir en http://www.dominio.com/robots.txt.

La sintaxis general a usar es:

User-agent: nombre-del-bot
Directiva: contenido-de-directiva

Sitemap: http://www.dominio.com/sitemap.xml

Las posibles directivas a usar son:

Disallow Indica a los bots que no deben rastrear el archivo o directorio indicado. Con * indicas que no quieres
Allow Indica a los bots que SI deben rastrear el archivo o directorio indicado. Se suele usar en conjunto con Disallow cuando quieres evitar el rastreo de algún directorio, pero habilitar el de algunas páginas de ese directorio específicas.
Crawl-delay Indica a los bots cuantos segundos deben esperar entre cada petición al mismo sitio.
Sitemap Sirve para indicarles donde se encuentra el mapa de sitio (XML) de tu sitio
Noindex Solo es soportada (no oficialmente) por Google. Indica que archivos o directorios NO QUIERES INDEXAR.

¿Por qué existe Noindex si se tiene Disallow?

Porque usar Disallow NO GARANTIZA QUE LOS ARCHIVOS QUE ESPECIFICASTE NO SERÁN INDEXADOS. Solo indica que la página no debe ser rastreada, pero si el bot encuentra referencias a tu página desde otras (enlaces) puede indexarla. De hecho, las páginas prohibidas por el robots.txt pueden acumular PageRank .

Demonios, creo que recalcaré esto una vez más porque parece que cada semana me encuentro un nuevo artículo sobre «como optimizar tu robots.txt para aparecer en primer lugar en google y aniquliar a tu competencia» (o algún título así para ganar clics que no cumple con lo que promete) donde garantizan que usando el Disallow ya evitas la indexación.

Usar la directiva Disallow: en el archivo Robots.txt NO GARANTIZA que el contenido no será indexado

Para comprobarlo podemos buscar en google: inurl:com/wp-admin/includes
Saldrán varios resultados cuya descripción dirá: «No se dispone de una descripción de este resultado debido a robots.txt.»

Resultados bloqueados por robots.txt
Estos son resultados bloqueados por el archivo robots.txt pero que si fueron indexados. Al estar bloqueados por ese archivo los bots no pueden entrar a la página para «leerla» por lo que aparece esa descripción.

Otros aspectos a tomar en cuenta:

El comodín *

Se puede utilizar el caracter * como comodín en dos situaciones:

  1. En User-agent, para indicar que las siguientes directivas aplican a todos los bots.
  2. En Disallow, Allow o Noindex para indicar ‘patrones’ de caracteres

El comodín $

Se utiliza en las directivas Disallow y Allow e indica que no deben rastrearse los documentos que acaben con esos caracteres

El caracter #

Este caracter especial nos permite crear comentarios que serán ignorados por los bots pero visibles a los usuarios

Ejemplos

Bloquear a todos los bots el rastreo de todo un sitio

User-agent: *
Disallow: /

Bloquear a todos los bots el acceso a un directorio y a un documento específicos

User-agent: *
Disallow: /directorio-privado/
Disallow: /pagina-privada.html

Bloquearle al bot de las imágenes de Google el acceso a un directorio

User-agent: Googlebot-Image
Disallow: /imagenes-privadas/

(puedes ver un listado de bots existentes aquí)

Bloquear el acceso a todas las URLs con parámetros del estilo ?order_by, ?sort, ?id, etcétera

User-agent: *
Disallow: /*?*

Bloquear el acceso a los PDFs

User-agent: *
Disallow: /*.pdf$

Permitir el acceso a todos los bots e indicarles un sitemap

User-agent: *
Disallow: 

Sitemap: http://www.dominio.com/sitemap.xml

Un ejemplo más complicado:

  1. Bloquearle el acceso a todos los bots al directorio privado, al directorio archivos y a los archivos .txt
  2. Permitirle a los bots de Google, Bing y Yahoo acceder al directorio buscadores dentro del directorio privado y al directorio archivos
  3. Permitirle al bot de Google para móviles el acceso al directorio moviles dentro del directorio privado y al directorio archivos
  4. Bloquearle al bot de Xenu el acceso a todo el sitio
  5. Indicarle a los bots el mapa de sitio sitemap_index.xml
User-agent: *
Disallow: /privado/
Disallow: /archivos/
Disallow: /*.txt$


User-agent: Googlebot-Mobile
Disallow: /privado/
Allow: /privado/moviles/
Disallow: /*.txt$
#Al omitir Disallow: /archivos/ le damos acceso a esa carpeta


#Al bloquear el acceso a Googlebot bloqueamos el acceso a
#otros bots como Googlebot-Image y Googlebot-News
User-agent: Googlebot 
User-agent: Bingbot
User-agent: Slurp
Disallow: /privado/
Allow: /privado/buscadores/
Disallow: /*.txt$


User-agent: Xenu Link Sleuth/1.3.7
Disallow: /


Sitemap: http://www.dominio.com/sitemap_index.xml

De forma general:

  • Disallow /seo coincide con: /seoabc, /seo.html, /seo/, /seo/abc/…
  • Disallow /seo/ coincide con: /seo/, /seo/def/…
  • Disallow /*seo coincide con: /seo, /123seo/, /123/456seo…
  • Disallow /seo*abc coincide con:/seoabc, /seoabc/, /seo123abc…
  • Disallow /seo$ solo coincide con: /seo
  • Disallow /*seo$ coincide con: /seo, /123/seo… Pero no coincide con /123/seo/def

Tips

El nombre del archivo debe ser robots.txt, todo en minúsculas.

  • Se debe tener un robots.txt por dominio y por cada subdominio. El robots.txt de http://www.dominio.com /robots.txt no aplica para http://subdomnio.dominio.com.
  • Incluso se debe tener uno por cada puerto y protocolo, es decir: http://www.dominio.com /robots.txt no aplica para http://www.dominio.com:8080 .
  • Si no tienes interés en bloquear el acceso de los bots a partes de tu sitio, de todos modos crea un robots.txt que contenga lo siguiente:
    User-Agent: *
    Disallow:

    Aunque este es el comportamiento por default de los bots (tratar de rastrear todo lo que puedan de un sitio) es mejor tener un robots.txt en el sitio, de lo contrario algunos bots pueden interpretar la ausencia del archivo como un error 404.

  • Entre cada grupo de directivas para un user-agent en específico debe haber, de preferencia, por lo menos un salto de línea.
  • Si estableciste algunas directivas generales para todos los robots (User-agent: *) y después estableces directivas para un robot en específico, por ejemplo Bingbot, entonces Bingbot obedecerá solo esas directivas, y no las generales.
  • UPDATE: El 27 de Octubre del 2014 se actualizan las directrices para webmasters, agregando esto:

    Para que Google pueda entender completamente el contenido de tu sitio debes permitir que se rastreen todos los elementos de tu sitio como, por ejemplo, CSS y archivos de JavaScript.

    Así que mejor no evites el acceso de los robots a las carpetas donde tengas el CSS y los archivos de Javascript 😉

Errores comunes

  • Las indicaciones en el archivo robots.txt no son ordenes para todos los robots, especialmente aquellos que se encargan de recolectar emails para después enviar spam o los que tratan de detectar vulnerabilidades de seguridad en el sitio ignoraran las indicaciones de este archivo.
  • Una malísima idea es incluir en este archivo secciones de tu sitio privadas que no quieres dar a conocer al público en general, pues este archivo es de acceso público.
  • Un error muy común es usar mal el comodín. Hay que tener en cuenta que si tienes una directiva así:
    Disallow: /*priv

    Evitarás también el acceso a todo lo que contenga los caracteres «priv», por ejemplo: /privado/, /privilegios-en-linux.html, /directorio-no-privado/, etcétera.

¿Ya conocías los distintos usos que tiene el archivo robots.txt? Es algo que he visto que muchas personas no manejan bien aún.

Incluso me he llegado a topar con algunos «sitios sobre SEO» que brindan archivos robots.txt de ejemplo para que los usuarios los descarguen y usen… con errores 😛

Todo sobre el Robots.txt by

¿Te gustó el post?

Suscríbete AQUÍ

Cero spam. ¡Te lo prometo!

 

¿Qué te pareció el artículo? ¡Vótalo!

1 Estrella2 Estrellas3 Estrellas4 Estrellas5 Estrellas (4 votos, promedio: 4,00 de 5)
Cargando...

20 Respuestas

  1. Excelente articulo como siempre compañero, por supuesto había muchas cosas que no sabia y que luego me tengo que poner a corregir. Un saludo

    1. Gracias Jesús.

      Espero que te sirva y no te haya quedado ninguna duda 🙂

  2. Jose

    Te animo a que hagas un articulo sobre el .htacess , muy buen articulo este de robots.txt

    1. Sería una buena idea Jose, me lo apunto!

      Actualización:

      Acá esta SEO y el .htaccess: 20+ códigos listos para copiar y pegar

  3. Excelente articulo, Muchas Gracias!!

  4. Muy buen artículo, estoy leyendo tu blog y me gusta bastante. Te agradezco por la información que das acá, me sirvió bastante el consejo de poner el robots.txt en el fichero raíz, no estaba del todo seguro que tenía que ser así.

    Saludos

  5. Gracias por tu información, hice el agregado de robots.txt en mi directorio raíz porque luego de mas de un mes no había sido indexado por google. Vamos a ver como funciona tu sugerencia. Gracias

  6. Claudio

    Estimado, como puedo «bloquear» todas las carpetas menos una?

    Saludos

    1. Que tal Claudio

      En el artículo viene como hacerlo…….

      Sería algo así:

      User-agent: *
      Disallow: /
      Allow: /carpetaPermitida/

  7. Robin

    Excelente, mas claro imposible. Amigo pero tengo una pregunta, el sitemap a poner en el robot.txt seria asi tal cual lo mencionas, por ejemplo http://www.hoteleslujosos.com/sitemap.xml o deberiamos poner el sitemap que se utiliza para enviar a google en webmaster tools (feeds/posts/default?redirect=false&start-index=501&max-results=500) ??

    1. Cual sea el que escojas, que sea el mismo en el archivo robots y el que envías a la Search Console

      No siempre va a ser /sitemap.xml, en el caso del que me envías era el «sitemap» antiguo de los blogs en Blogger. Sin embargo, ahora ya es /sitemap.xml también. Puedes usar cualquiera de los dos.

      1. Robin

        Perfecto brother. Ahora tengo todo claro. Muchas gracias y te felicito por tu blog.

  8. SEO DIAZ. Gracias por tu información eres un SEO de los mejores, he buscado y buscado y aquí estoy ubicándome con esta buena información. Este es mi robots.txt esta bien o hay que hacer alguna modificación para googlebot se porte mejor. Gracias

    User-agent: Mediapartners-Google
    Disallow:

    User-agent: *
    Disallow: /search
    Allow: /

    Sitemap: http://www.hipotecasmedellin.com.co/sitemap.xml

    1. Que tal Alberto.

      A ese robots.txt le sobra la línea «Allow». De ahí en fuera todo está bien 😉

      Otras modificaciones dependerán más que nada de tu sitio, que páginas no te interese que robot visite, etc.

  9. Alberto

    Que tal amigo yo tenia en mi archivo robots.txt de blogger esto:

    User-agent: Mediapartners-Google
    Disallow:

    User-agent: *
    Disallow: /search
    Allow: /

    y no me encuentra para nada el blog con google, lo he modificado a esto:

    User-agent: Mediapartners-Google
    Disallow:

    User-agent: *
    Disallow:

    Y nada que lo busca en google, no he tenido problemas con otros buscadores en ninguno de los dos, no se que hacer amigo, qué me recomiendas?

    1. No entiendo bien a que te refieres con… «no me encuentra para nada el blog con google»

      Podrías ser más específico?

      1. Alberto

        es decir cuando coloco el nombre de mi blog en el buscador de google no esta en la lista…

        1. Alberto

          Probe con «SITE:» y me sale esto:

          No se dispone de una descripción de este resultado debido a robots.tx

          1. Ya veo.

            Tu sitio sí está indexado pero bloqueaste el acceso al Bot de Google desde el robots.txt

            En ninguno de los que pusiste aparece eso, tal vez tenías antes otra versión del archivo donde bloqueabas el acceso. Si ya lo corregiste solo queda esperar para que Google actualice su índice.

            Sin embargo.. no por eso comenzarás a tener más visitas orgánicas.

  • Escribe tu nombre, NO TU KEYWORD.
  • Se aceptan críticas pero no insultos.
Modero TODOS los comentarios, no pierdas tu tiempo haciendo spam :)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

O más bien:
  • Tienes pocas visitas
  • Has sido penalizado y tus visitas han bajado
  • Tus visitas NO convierten: No compran, no se suscriben, etc.
Necesitas una Auditoría SEO

Nunca te enviaré spam.

Top