Gravatar de Armonth

Robots.txt para WordPress

De WordPress, contenido duplicado, posicionamiento/SEO y temas relacionados ya he hablado anteriormente (ver relacionados) pero por correo me han preguntado si tengo un robots.txt ya hecho y si bien puedo contestar “el de SigT” aprovecho para publicar uno comentado listo para copiar, pegar y, si hace falta, adaptar.

#
# robots.txt para tu blog en WordPress.
#
# Usar bajo propia responsabilidad, que nos conocemos }:)
# http://sigt.net/archivo/robotstxt-para-wordpress.xhtml
#

# Primero el contenido adjunto.

User-Agent: *
Allow: /wp-content/uploads/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/
Disallow: /wp-includes/
Disallow: /wp-admin/

# También podemos desindexar todo lo que empiece 
# por wp-. Es lo mismo que los Disallow de arriba pero
# incluye cosas como wp-rss.php

Disallow: /wp-

#
# Sitemap permitido, búsquedas no.
#

Sitemap: http://tu-web/sitemap.xml
Disallow: /?s=
Disallow: /search

#
# Permitimos el feed general para Google Blogsearch.
#
# Impedimos que permalink/feed/ sea indexado ya que el
# feed con los comentarios suele posicionarse en lugar de
# la entrada y desorienta a los usuarios.
#
# Lo mismo con URLs terminadas en /trackback/ que sólo
# sirven como Trackback URI (y son contenido duplicado).
#

Allow: /feed/$
Disallow: /feed
Disallow: /comments/feed
Disallow: /*/feed/$
Disallow: /*/feed/rss/$
Disallow: /*/trackback/$
Disallow: /*/*/feed/$
Disallow: /*/*/feed/rss/$
Disallow: /*/*/trackback/$
Disallow: /*/*/*/feed/$
Disallow: /*/*/*/feed/rss/$
Disallow: /*/*/*/trackback/$

#
# A partir de aquí es opcional pero recomendado.
#

# Lista de bots que suelen respetar el robots.txt pero rara
# vez hacen un buen uso del sitio y abusan bastante...
# Añadir al gusto del consumidor...

User-agent: MSIECrawler
Disallow: /

User-agent: WebCopier
Disallow: /

User-agent: HTTrack
Disallow: /

User-agent: Microsoft.URL.Control
Disallow: /

User-agent: libwww
Disallow: /

#
# Slurp (Yahoo!), Noxtrum y el bot de MSN a veces tienen
# idas de pinza, toca decirles que reduzcan la marcha.
# El valor es en segundos y podéis dejarlo bajo e ir 
# subiendo hasta el punto óptimo.
#

User-agent: noxtrumbot
Crawl-delay: 50

User-agent: msnbot
Crawl-delay: 30

User-agent: Slurp
Crawl-delay: 10

De la lista de bots, he dejado los más molestos por experiencia personal pero ante ciertos abusos, no dudéis: cortad de raíz. Las páginas están hechas para las personas y no para que te las saturen los robots, aunque los datos digan lo contrario.

Los valores que le he puesto a Noxtrum, MSNbot y Slurp los dejo así ya que los dos primeros suelen ser los que más se les va la pinza. También toca mencionar que si se quiere usar un “urllist.txt” (un Sitemap usado por Yahoo! hasta hace poco y que es equivalente al sitemap.xml pero sólo contiene URLs) se le puede añadir una segunda línea Sitemap: sin problemas.

El resto del contenido duplicado (etiquetas, categorías, archivos anuales / mensuales / diarios, etcétera) es más efectivo añadirlo con PHP y la meta robots con “noindex,follow”.

Relacionados:

32 Comentarios (feed)

  1. Gravatar de Juan Juan nos comenta:

    Está bastante bien, creo que tengo implementado la mitad de lo que publicas aquí.
    Solo como comentario, los asteriscos utilizados como comodines son implementados por Google y no son estandar, aún. :P Por lo que pocos bots lo reconocen. (que me corrija alguien si lo que digo está desactualizado :D )
    No conocía el Crawl-delay, ¿en que se mide? ¿horas, minutos,…?

    Lunes, 15 de Octubre/2007 @ 8:58

  2. Gravatar de Juan Juan nos comenta:

    Disculpa Armonth, ya lo vi. Está en segundos.
    Pasé por alto unas lineas con #. :P

    Lunes, 15 de Octubre/2007 @ 9:06

  3. Gravatar de Armonth Armonth nos comenta:

    Sobre comodines, tengo la duda: sé que usar $ + * no lo interpretan muchos bots (al menos Yahoo! y Google sí) pero usar sólo * juraría que tiene bastante más soporte…

    Aunque el tema del soporte tiene su miga… puestos a ello el Allow: no es bien interpretado por algunos bots y por eso a veces conviene usar “Disallow: ” (si no hay nada después del : significa “no hay nada no permitido”) en lugar de Allow: (si no hay nada después del : “está todo permitido)…

    Lunes, 15 de Octubre/2007 @ 9:45

  4. Gravatar de The-RockeR The-RockeR nos comenta:

    Hace tiempo que escribí en mi blog un artículo similar, en el que tengo prácticamente las mismas cosas que tú, salvo el tema de los bots pesados.

    Lunes, 15 de Octubre/2007 @ 9:49

  5. Gravatar de Alaingonza Alaingonza nos comenta:

    Voy a probarlo, saludos.

    Lunes, 15 de Octubre/2007 @ 11:17

  6. Gravatar de FeLiPe RM FeLiPe RM nos comenta:

    Muchas gracias Armonth. Este post me viene como anillo al dedo ;-)

    Lunes, 15 de Octubre/2007 @ 14:54

  7. Gravatar de Minimal Minimal nos comenta:

    Una pregunta tonta, lo podemos copiar tal cual está ahi?, con la explicación y todo?, supongo que eso no lo leen los robots verdad?.

    #
    # robots.txt para tu blog en WordPress.
    #

    Lunes, 15 de Octubre/2007 @ 16:13

  8. Gravatar de WaLhEZ WaLhEZ nos comenta:

    Vaya esto me servira de mucho, mas opciones para mi robots.txt

    Lunes, 15 de Octubre/2007 @ 19:40

  9. Gravatar de Alejandro Martinez Alejandro Martinez nos comenta:

    Jaja http://sigt.net/robots.txt
    Es diferente al que pones aqui xDD

    Bueno, me gusto lo que hiciste con el /feed/, una vez bloquee el/feed/ a través de robots.txt y Google Blog Search dejó de indexarme. Lo extraño, es que hay gente que sigue bloqueando el /feed/ y sigue siendo indexado en Google Blog Search 0o…

    Martes, 16 de Octubre/2007 @ 3:46

  10. Gravatar de Armonth Armonth nos comenta:

    Alejandro claro: cada caso es distinto y hay que adaptarse, es un 99% igual salvo que no incluye limitadores (Crawl-delay) y los bots los suelo banear por htaccess…

    En cuánto lo del /feed/, yo ya dije hace tiempo la solución: no permitir durante un mes para que desaparezca del índice y pierda toda posibilidad de salir antes que la portada del sitio y luego volver a añadirlo…

    Martes, 16 de Octubre/2007 @ 7:07

  11. Gravatar de Armonth Armonth nos comenta:

    Minimal: correcto, los comentarios (lo que empieza por #) no son interpretados por lo que se pueden dejar tranquilamente.

    Martes, 16 de Octubre/2007 @ 13:55

  12. Gravatar de malder malder nos comenta:

    Creo que te quedas atrás las url de las categorías: *category y las de archive pueden generar contenido duplicado, por ello pienso que seria mejor anuarlas

    Martes, 16 de Octubre/2007 @ 15:46

  13. Gravatar de Armonth Armonth nos comenta:

    Malder como ya dije… los archivos y categorías se pone mediante PHP un meta robots noindex,follow…

    Martes, 16 de Octubre/2007 @ 21:29

  14. Gravatar de g30rg3_x g30rg3_x nos comenta:

    Bueno acerca de los comodines no me acuerdo donde lei que no se permetia ninguno, ni el * (segun claro el estandar solo esta permitido este en el User-Agent) y tampoco se permite la etiqueta “Allow”, como dices solo algunos bots especiales permiten estas reglas asi que (nuevamente segun me acuerdo haber leido por ahi) hay que tratar de evitarlos o dejarlos especificos para cada BOT.

    Otra cosa que lei es acerca del User-Agent: *, segun cuando se podia leer la web robotstxt.org “me acuerdo” este debe ir al final ya que algunos bots al considerar el User-Agent: * de primero estos solo toman esa parte y terminan de procesar lo demas asi que segun la recomendacion de donde robotstxt.org este debe ir despues de las reglas personalizdas por bots (al ultimo como quien dice).

    Yo tmb tengo el mio en mi web (por si le quieres dar un vistazo) aunque yo le puse algunas cosillas de mas y le quite otras que segun “como te dije” me acuerdo haber leido en robotstxt.org acerca de como debe ser estos archivos y me base en esas reglas y el RFC.

    Saludos

    Miércoles, 17 de Octubre/2007 @ 2:46

  15. Gravatar de devilsoulblack devilsoulblack nos comenta:

    se le agradece por el post :)

    Martes, 30 de Octubre/2007 @ 4:12

  16. Gravatar de Job Job nos comenta:

    Perdonadme la ignorancia, pero el fichero robots.txt donde tengo que ubicarlo exactamente.
    He dado por hecho que existe en blanco por defecto pero no lo encuentro entre los archivos de mi blog (uso WP)

    Un saludo

    Lunes, 12 de Noviembre/2007 @ 15:39

  17. Gravatar de Jack The Ripper Jack The Ripper nos comenta:

    Buenas

    He implementado el archivo .txt completo pero sin el Disallow -wp (por si acaso)

    Espero que me funcione,xD.

    Un Abrazo

    Viernes, 23 de Noviembre/2007 @ 10:49

  18. Gravatar de Germán Germán nos comenta:

    ¿Podrías explicarme por favor que significa la parte donde pones “Sitemap permitido, búsquedas no”? Lo del sitemap me queda claro, lo de las búsquedas no….

    Otra cosa: dado que uso feed de feedburner, ¿es necesario agregar algo al respecto en el robots.txt?

    Gracias!
    www.iccc.es

    Sábado, 5 de Enero/2008 @ 13:30

  19. Gravatar de Armonth Armonth nos comenta:

    Pues que la URL del sitemap se acepta y la de de las búsquedas (dominio/?s= o dominio/search/) no son indexadas ya que suelen ser contenido duplicado…

    Sábado, 5 de Enero/2008 @ 14:31

  20. Gravatar de tecnologo tecnologo nos comenta:

    Creo que ya no tendremos problemas con Noxtrum. Actualmente redirecciona a las páginas amarillas. A ver si lo han cerrrado por que los webmasters les bloqueaban el acceso jejej es broma.

    Martes, 1 de Abril/2008 @ 11:26

  21. Gravatar de adverick adverick nos comenta:

    Muchas gracias por el artículo, me fue de mucha ayuda, recomendaría a los lectores que utilicen http://tool.motoricerca.info/robots-checker.phtml para validar sus robots.txt, incluso el propuesto aquí se salta algunas consideraciones, pero nada que no se pueda sortear.

    Domingo, 4 de Mayo/2008 @ 21:39

  22. Gravatar de Brandon Brandon nos comenta:

    Es justo lo que necesitaba porque tengo problemas en que mis categorias salen publicados y ello no deberia ser. Gracias por tu aporte, corregire ese error.

    Martes, 20 de Mayo/2008 @ 23:19

  23. Gravatar de Jose Jose nos comenta:

    Muchas gracias por el aporte.
    Gran post, gran explicacion.
    Y gracias a adverick por el enlace al robots-checker.

    Lunes, 26 de Mayo/2008 @ 4:59

  24. Gravatar de Angelfire Angelfire nos comenta:

    Creo que te hace falta permitirle el acceso a este, es por recomendación de google adsense.
    User-agent: Mediapartners-Google*
    Disallow:

    Martes, 15 de Julio/2008 @ 23:02

  25. Gravatar de oskr oskr nos comenta:

    Hola, en mi caso tengo el site de Wordpress en un carpeta /wp y el servidor contiene otras carpetas en la raíz con otras instalaciones. No obstante y vía htaccess desde el mismo administrador de Wordpress configuré que el blog sea accessible desde servidor.com en la misma raíz.

    Tengo dos preguntas:

    1. Debo proteger manualmente en el robots.txt cada una de las carpetas de mi raíz que no corresponden a wordpress, por ejemplo con User-Agent: *
    Disallow: /carpetaxxxxx o no hace falta?

    2. La ruta de la instalación de wordpress es /wp. De este modo en el robots.txt debo indicar algo tal como User-Agent: *
    Allow: wp/wp-content/uploads/
    Disallow: wp/wp-content/plugins/ … etc? O dejarlo tal cual lo tienes tu indicado.

    Muy amable por el recurso, ando buscando información de robots.txt y es la más recomendable de la encontrada. Muy didáctico y útil, muy buen post. ;)

    Agradecería una respuesta :)

    Lunes, 29 de Septiembre/2008 @ 23:25

  26. Gravatar de Armonth Armonth nos comenta:

    Oskr:

    1. No, no hace falta en principio. Depende de si quieres indexar o no esas otras “carpetas” (directorios :P).

    2. Sí, sólo puede haber un robots.txt y éste debe estar en la raíz del dominio por lo que si tu WordPress está instalado en /wp debes añadir el wp/ antes de wp-content, etcétera.

    Un saludo.

    Martes, 30 de Septiembre/2008 @ 0:27

  27. Gravatar de Oskr Oskr nos comenta:

    Gracias Armonth!

    1. Los directorios son privados y no quiero que se indexen. ¿Debo protegerlos de alguna forma especial o no es necesario?

    2. Perfecto, así lo haré.
    La duda venía porque las rutas en el servidor son siempre con /wp sin embargo y mediante htaccess las cambio eliminando el /wp. De este modo la web en lugar se ser servidor.com/wp/articulo es servidor.com/articulo y así con todas las rutas.

    Gracias

    Martes, 30 de Septiembre/2008 @ 8:32

  28. Gravatar de Armonth Armonth nos comenta:

    En el primer caso, lo mejor es añadir un disallow y si son privados-privados (nadie debe verlos) meterle un htpasswd para que no accedan sin contraseña.

    En el segundo me haces dudar, en principio el funcionamiento del robots.txt es para el buscador, el cual es un cliente más: el no sabe (si no se lo dices mediante 301 Redirect o similar) que / redirecciona a /wp.

    Tu en el robots.txt debes poner las URLs que el buscador accederá. Si el buscador accede a una imagen (y así sale en la ruta en las propiedades de la imagen desde el navegador) alojado en sitio.com/wp/wp-content lo que debes filtrar es wp/wp-content y si el no ve el /wp/ entonces lo pones sin.

    Te recomiendo que uses en Google Webmasters el comprobador de robots.txt (más información en la ayuda de Google). Metes el robots.txt, pones las urls que quieres comprobar si filtrará o no y te va diciendo “Si” o “No” por cada URL.

    Martes, 30 de Septiembre/2008 @ 13:51

  29. Gravatar de todotuto todotuto nos comenta:

    Gracias. Es el mejor robots.txt que he encontrado hasta ahora, lo voy a referenciar en mi blog, pero tengo una pregunta ¿Sigue existiendo el robot de Noxtrum?

    Martes, 30 de Septiembre/2008 @ 15:45

  30. Gravatar de Calidro Calidro nos comenta:

    Use este sitio [http://tool.motoricerca.info] para chequear el robots.txt y dice que un robots.txt no te dice que archivos o directorios tu puedes permitir pero solo lo que puedes no permitir. En ese caso tendría o no tendría validez lo que escribes en tu ejemplo de robots?. Allow: /feed/$
    ______________________

    Allow: /feed/$
    Unknown command. Acceptable commands are “User-agent” and “Disallow”.
    A robots.txt file doesn’t say what files/directories you can allow but just what you can disallow. Please refer to Robots Exclusion Standard page for more informations.

    Lunes, 3 de Noviembre/2008 @ 19:04

  31. Gravatar de Armonth Armonth nos comenta:

    Calidro técnicamente así es, pero en la práctica todos los buscadores entienden el Allow:. No recuerdo exactamente el porqué era que algunos analizadores de robots se quejaban del allow ¿parsing de una versión del estándar anticuado?.

    Martes, 4 de Noviembre/2008 @ 0:13

  32. Gravatar de Antonio Tajuelo Antonio Tajuelo nos comenta:

    Gracias por el post, me ha sido muy útil para crear mi propio robots.txt :)

    Lunes, 15 de Junio/2009 @ 14:58

Comentarios cerrados