Robots.txt: porqué la mayoría de WordPress lo tienen equivocado y tú deberías de leer esto
¿Es posible que la mayoría de los archivos robots.txt que se usan en WordPress estén mal enfocados?
Después de la experiencia que tengo optimizando páginas web tengo una respuesta clara.
Si, la mayoría de los que veo están equivocados.
Bien porque están bloqueando más de lo que deben o todo lo contrario.
Por eso hoy voy a ayudarte a entender como funciona realmente el archivo robots.txt.
Además, veremos algunos casos de los fallos más comunes que se suelen ver.
Pero antes de continuar te quiero ahorrar todo este trabajo.
Te voy a dar 2 opciones para crear tu archivo robots:
- Leerte este pedazo de artículo si quieres aprender por tu propia cuenta.
- Bajar hasta el final del artículo y leer lo que estoy preparando.
Ya decides tú.
¿Qué es un archivo robots.txt?
El robots.txt es un archivo físico que se crea en la raíz donde se aloja la página web o en caso de WordPress también puede ser virtual.
Sirve para dar indicaciones a los buscadores y bots de como tienen que rastrear nuestro sitio web.
Con él podemos limitar el modo que rastrear nuestra web, qué es lo que tienen que rastrear y como, y muchas más cosas.
Aunque debes de saber que puede que estas indicaciones las tengan en cuenta o no, dado que mucho no siguen estos estándares.
El archivo robots sugiere pero no bloquea, ni evita que los bots indexen un sitio webClick To Tweet¿Para qué nos puede servir?
Este archivo tiene muchos usos, pero te diré los más comunes.
Intentar controlar lo que los bosts pueden rastrear
Desde él se pueden indicar qué directorios y contenidos permitimos que puedan ser rastreados.
Ojo: digo rastreados y no indexados, porque este archivo no impide que se indexen contenidos, aunque sí se muestran bloqueados en los resultados.
También se les puede indicar cada cuanto tiempo queremos que rastreen la web para que no tener un consumo desmesurado de recursos.
Añadir el sitemap o mapa del sitio
Si ya has creado tu mapa del sitio y lo has enviado a los buscadores, estos ya tendrán estos datos.
Pero puede que te interese que otros buscadores puedan acceder a él, así que lo podemos indicar en este archivo para facilitarles la tarea.
¿Para qué NO sirve el robots.txt?
Veo muchos sitios web que hacen un uso inadecuado de este archivo, así que voy a darte algunas indicaciones para que sepas los usos que no debes hacer.
Para ocultar o proteger directorios
Si tienes algo que no quieres que vean, no lo pongas aquí porque será todo lo contrario.
Todo bot o persona que vea tu archivo sabrá que intentas proteger ese directorio y más ganas le entrarán de ver qué hay.
Para NO indexar directorios de WordPress
Si por algún motivo se te están indexando directorios como el wp-admin, wp-includes o el wp-content, debes de saber que no es problema de este archivo como más abajo te explicaré.
Es porque tu hosting no está configurado para evitar el listado de directorios.
Si encima los bloqueas desde este archivo, lo que haces es empeorarlo.
La diferencia entre noindex y disallow
Debes de tener claros estos 2 conceptos para que puedas entender lo que viene a continuación.
Cuando indicamos a un contenido que sea noindex, estamos evitando que se indexe en los buscadores. Osea que no aparecerá.
Pero si lo que hacemos es bloquearlo mediante disallow no evitamos que se indexe, sino que lo hará, pero aparecerá bloqueado con la frase de “No hay disponible una descripción de este resultado debido al archivo robots.txt de este sitio”.
Pero este seguirá indexado, cosa que hará que aumente el número de páginas que los buscadores deben rastrear.
El archivo robots virtual de WordPress
Antes de seguir debes de saber que en WordPress existen 2 tipos de archivos robots.txt, uno virtual y uno físico que puedes crear.
El archivo virtual lo trae WordPress de serie y solo se puede editar desde plugins o desde código.
En el momento en el que tú crees uno de forma física, el virtual queda invalidado, así que tenlo en cuenta.
La finalidad es la misma, pero el físico lo podemos editar de forma sencilla y el virtual no.
Analizo el típico robots.txt y te explico porqué es erróneo
El otro día haciendo una búsqueda de ejemplos para crear estos archivos, dí con un artículo de Raiola Network que son un hosting especializado en WordPress.
En él nos ponen como ejemplo el archivo perfecto para WordPress que todos deberíamos de crear.
Si no tienes conocimientos, lo normal es que cojas este archivo y lo copies en tu web al cuál.
Pero déjame decirte que estarías cometiendo un error garrafal si lo hicieras de esa manera.
Mi intención es ponerlo como ejemplo simplemente para poder analizarlo con profundidad, dado que es uno de los más “completos”.
Me gustaría aclarar que ellos junto a Siteground y Webempresa son mis hostings favoritos, así que no hay ninguna intención de perjudicar a nadie.
El archivo robots.txt que ponen de ejemplo es el siguiente:
#robots de Raiola Networks #es necesario personalizar algunas opciones o puede dar problemas # Bloqueo basico para todos los bots y crawlers # puede dar problemas por bloqueo de recursos en GWT User-agent: * Allow: /wp-content/uploads/* Allow: /wp-content/*.js Allow: /wp-content/*.css Allow: /wp-includes/*.js Allow: /wp-includes/*.css Disallow: /cgi-bin Disallow: /wp-content/plugins/ Disallow: /wp-content/themes/ Disallow: /wp-includes/ Disallow: /*/attachment/ Disallow: /tag/*/page/ Disallow: /tag/*/feed/ Disallow: /page/ Disallow: /comments/ Disallow: /xmlrpc.php Disallow: /?attachment_id* # Bloqueo de las URL dinamicas Disallow: /*? #Bloqueo de busquedas User-agent: * Disallow: /?s= Disallow: /search # Bloqueo de trackbacks User-agent: * Disallow: /trackback Disallow: /*trackback Disallow: /*trackback* Disallow: /*/trackback # Bloqueo de feeds para crawlers User-agent: * 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/$ # Ralentizamos algunos bots que se suelen volver locos User-agent: noxtrumbot Crawl-delay: 20 User-agent: msnbot Crawl-delay: 20 User-agent: Slurp Crawl-delay: 20 # Bloqueo de bots y crawlers poco utiles User-agent: MSIECrawler Disallow: / User-agent: WebCopier Disallow: / User-agent: HTTrack Disallow: / User-agent: Microsoft.URL.Control Disallow: / User-agent: libwww Disallow: / User-agent: Orthogaffe Disallow: / User-agent: UbiCrawler Disallow: / User-agent: DOC Disallow: / User-agent: Zao Disallow: / User-agent: sitecheck.internetseer.com Disallow: / User-agent: Zealbot Disallow: / User-agent: MSIECrawler Disallow: / User-agent: SiteSnagger Disallow: / User-agent: WebStripper Disallow: / User-agent: WebCopier Disallow: / User-agent: Fetch Disallow: / User-agent: Offline Explorer Disallow: / User-agent: Teleport Disallow: / User-agent: TeleportPro Disallow: / User-agent: WebZIP Disallow: / User-agent: linko Disallow: / User-agent: HTTrack Disallow: / User-agent: Microsoft.URL.Control Disallow: / User-agent: Xenu Disallow: / User-agent: larbin Disallow: / User-agent: libwww Disallow: / User-agent: ZyBORG Disallow: / User-agent: Download Ninja Disallow: / User-agent: wget Disallow: / User-agent: grub-client Disallow: / User-agent: k2spider Disallow: / User-agent: NPBot Disallow: / User-agent: WebReaper Disallow: / # Previene problemas de recursos bloqueados en Google Webmaster Tools User-Agent: Googlebot Allow: /*.css$ Allow: /*.js$ # En condiciones normales este es el sitemap Sitemap: http://ift.tt/2o9jDZN # Si utilizas Yoast SEO estos son los sitemaps principales Sitemap: http://ift.tt/2nKaGms Sitemap: http://ift.tt/2o994WP Sitemap: http://ift.tt/2nKp26h Sitemap: http://ift.tt/2o9lVZ3
Sin duda alguna es un archivo muy currado, menos por un pequeño detalle.
Este archivo no sirve o por lo menos no es la forma adecuada para hacer las cosas y te lo voy a explicar punto por punto.
El bloqueo de directorios de WordPress
Como la siguiente directiva están intentando evitar que directorios como wp-admin, wp-content y wp-includes se rastreen.
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow: /wp-includes/
Aquí tenemos varios problemas.
Desde que salió el algoritmo penguin 4 de Google, este quiere tener acceso a todos los archivos de una web ya sean CSS, JS, etc.
Ya no basta con que pueda examinar los HTML, debe de analizar la web completa incluidos todos los scripts.
Estos archivos se encuentran dentro de wp-includes y wp-content.
Si bloqueamos estas carpetas, lo único que estamos haciendo es entorpecer a los buscadores, por mucho que le demos acceso a algunos recursos.
Puede que mediante algunas directivas le des acceso a ciertos directorios, pero desde mi punto de vista no se debería de bloquear ninguno y hasta Yoast lo cuenta en su blog.
Si no me crees mira su archivo y verás como en él no boquean nada.
Pero por otra parte y como te he comentado antes, puede que se nos estén indexando estos directorios y el motivo es porque el hosting permite el listado de directorios, cosa que es un error garrafal de seguridad.
Pero no se debería de arreglar de este modo porque al final lo estamos haciendo peor.
Si quieres ver otro ejemplo tienes la web de WordPress.com que gracias a indicar que quiere bloquear la carpeta admin de los resultados, ahora la está indexando, aunque indique que está bloqueada por robots.
Esto lo puedes probar tú mismo usando los comandos avanzados de Google.
Bloqueo de categorías y etiquetas
Es cierto que si no optimizamos correctamente el SEO de las categorías y etiquetas producen contenido duplicado y eso nos penaliza en los resultados.
Y que la mejor forma que tenemos de que no se indexen es aplicando noindex.
Pero si aplicamos el bloqueo directamente en el archivo robots, lo que vamos a conseguir es que jamás podamos eliminar esas urls de los resultados porque están bloqueadas.
Disallow: /category/
Disallow: /tag/
¿Se puede aplicar las directivas a categorías y etiquetas?
Puedes depende de la web, depende de la estrategia de contenidos y más cosas.
Pero es que si además le hemos quitado de la url el “tag” y el “category” que WordPress trae de serie y como muchos sitios hacen, estas directivas no sirven para nada.
Bloqueo de los feeds
Si le echas un ojo a lo siguiente, lo que se supone que hace es bloquear los feeds de WordPress para que no se reastreen y tampoco den problemas de contenido duplicado.
User-agent: *
Disallow: /feed/
El problema de esto es que no sirve absolutamente para nada, dado que WordPress aplica noindex a los feeds, osea que no se indexan y en la siguiente imagen te lo muestro.
He testeado los feeds de mi web con una herramienta y WordPress les está aplicando noindex mediante x-robots.
Osea que no sirve todo lo que se está poniendo para bloquearlos.
Bloqueo de urls dinámicas
Las urls dinámicas son todas las que después de la url, tienen un símbolo de interrogación que hace que cambie el contenido.
Sería algo así como http://ift.tt/2nKrc5V.
Dentro de este tipo de urls entran las de búsqueda, las urls de los comentarios de WordPress y muchas otras.
Estas sí que son un calentamiento de cabeza a la hora de tener contenido duplicado, porque cada plugin que instalemos puede tener las suyas, además de las de WordPress.
Normalmente se bloquean con la siguientes directivas:
User-agent: *
Disallow: /?s=
Disallow: /*?
El problema aquí es que esto NO va a evitar que estos contenidos se indexen, sino que lo harán, pero aparecerán bloqueados.
Si, puede que no te den problemas de contenido duplicado, pero no es la forma correcta de hacerlo, porque aunque esas páginas estén bloqueadas, están indexadas.
Lo que habría que hacer es evitar el indexado.
Bloqueo de bots y crawlers
Con esta directiva lo que se intenta es bloquear a robots malos o menos buenos indicándoles de buena manera que no indexen nuestro sitio web.
# Bloqueo de bots y crawlers poco utiles
User-agent: MSIECrawler
Disallow: /
User-agent: WebCopier
Disallow: /
Y resto…
Puede que haya alguno que sí respete la normativa y no indexe la web, pero desde mi punto de vista, la mayoría lo rastrearán.
Es más, a muchos les estarás dando más pistas de directorios que no conocían para que los rastree.
Para esto hay mejores soluciones como bloquearlos con algún plugin como Wordfence o directamente desde el hosting.
Url del sitemap
Respecto a la url del sitemap o mapa del sitio, hay varias cosas que debemos de tener en cuenta.
Lo primero es que si queremos que Google u otro buscador indexe el mapa del sitio que crea el plugin Yoast, no debemos de poner todas las urls.
Con poner la url del mapa principal tenemos, porque los buscadores accederán a los que hay internamente y los podremos controlar mejor desde nuestra web.
Aquí te dejo una captura para que vea que solo enviando el principal que está arriba, hemos hecho clic en él y se van indexando los demás.
Osea que no hace falta añadir a mano los mapas del sitio de entradas, páginas, categorías y demás como ellos los están poniendo.
# Si utilizas Yoast SEO estos son los sitemaps principales
Sitemap: http://ift.tt/2nKaGms
Sitemap: http://ift.tt/2o994WP
Sitemap: http://ift.tt/2nKp26h
Sitemap: http://ift.tt/2o9lVZ3
Pero es que además pasa otra cosa.
Si indicas el mapa del sitio en el archivo robots, cualquier bot puede tener acceso a él y ver lo que estás indexando.
Puede que la cosa interese o no, ya dependiendo del tipo de web.
La pregunta del millón: ¿qué archivo robots.txt debo de crear entonces para mi web?
Supongo que si has llegado a leer todo esto, te estarás preguntando qué debes de poner en el archivo.
¿No debes crearlo? ¿Debes de dejarlo vacío? ¿Debes de bloquear solo algunas cosas? ¿Cuáles?
La respuesta es sencilla, pero además compleja.
Lo primero decirte que el archivo es fundamental para cualquier web, pero no se puede hacer a la ligera.
No hay un archivo robots.txt que sirva para 2 sitios web, dado que cada uno tiene sus necesidades.
No es lo mismo una web que tiene una tienda online, un blog que no se usa, un blog que tiene miles de entradas, etc.
Tampoco te puedo decir por ejemplo bloquea las categorías sin saber porqué hay que bloquearlas.
Si te digo pon esto o pon lo otro te mentiría porque hay muchas variables en este juego que te pueden perjudicar o mejorar el posicionamiento.
Así que desde mi punto de vista no deberías de copiar ningún archivo robots, porque no te sirve.
Es más, posiblemente te perjudique el posicionamiento.
Copiar un archivo robots.txt de otra web solo te servirá para perjudicar la tuya.Click To TweetNecesitas una solución real y personalizada
Te seré sincero, he dado miles de vueltas pensando en como ayudarte a crear un archivo robots personalizado para tu web y no lo puedo hacer con un artículo.
No es solo crear un archivo, necesitas una solución completa y adaptada a tu web, pero que además sea sencilla de usar e implementar por cualquiera.
¿Sabes qué? Que la estoy haciendo y ya casi la tengo y seguro que la verás ya mismo.
Pero mientras te aconsejo que tengas cuidado con lo que pones en tu archivo.
Te seguiré informando.
¿Te he roto todos los esquemas?
Supongo que después de leer este artículo estarás en duda con ese archivo robots que tanto te has trabajado o al que le has dado tantas vueltas.
Tranquilo, yo he estado en tu misma situación después de la investigación que he estado haciendo durante semanas.
Podría haber hecho un artículo sobre “toma, el mejor archivo robots.txt para tu web”.
Incluso bien currado se podría haber posicionado delante de mi competencia, pero no es lo que quiero, no sería una solución real, sino un artículo con el que aumentar las visitas a web.
En fin, espero que este artículo te guste y si tienes alguna duda o quieres comentar algo, sabes que tienes la puerta abierta en mis comentarios.
Muy pronto te haré saber algo sobre lo que estoy preparando.
0 comentarios:
Publicar un comentario