Miércoles, 11 Diciembre 2013 22:21

Cómo bloquear los robots indeseables en tu WordPress

Escrito por 
CMS:  WordPress |  Versión:  3.6 |  Nivel de dificultad:  Medio |  Tiempo estimado de lectura:  20 minutos


Cómo bloquear los robots indeseables en tu WordPressCuando construimos un sitio web o blog en WordPress siempre pensamos en las personas que lo van a visitar, ya sea para leer los contenidos que les aportemos o para realizar compras si trabajamos con carritos de compra como WooCommerce, y el objetivo principal se centra en ofrecer un sitio accesible y que disponga de todo lo necesario para garantizar la experiencia al usuario.

Pero ¿que pasa con los bots o robots de indexado que los buscadores lanzan a diario para analizar los millones de sitios webs que surgen en Internet?, lo más probable es que no hayamos pensado en ellos y en el mejor de los casos habremos dejado la configuración para tratarlos de forma que no generen más ruido del necesario.

¿Es necesario un archivo robots.txt en WordPress?, la respuesta correcta seria ¡Si, es necesario!, sobre todo si tenemos en cuenta que un archivo de esta naturaleza tiene objetivos como "permitir o denegar" el acceso a determinadas carpetas de WordPress para que no sean indexadas por los bots de Google, Yahoo, MSN, o Slurp entre otros.

Existen más de 1.373.180 bots que indexan contenidos web en Internet en la actualidad y posiblemente de muchos de ellos ni tengamos constancia, porque o bien su paso es rápido e imperceptible (no deja apenas rastro en los logs del servidor) o su uso está orientado a determinado tipo de sitios webs, pero lo cierto es que controlarlos y contenerlos puede ayudarnos a mejorar el posicionamiento y también a evitar que los recursos del servidor donde nos alojamos se disparen por "exceso de visitas".

Si tuviésemos que destacar uno cuya política de funcionamiento va orientada a generar el menor consumo de recursos en los servidores seria GoogleBot (en cualquiera de sus más de 1000 variantes) y en el lado opuesto estarían bots como MSN/bingbot con un comportamiento más agresivo y llegando al punto de ser un gran devorador de recursos en los servidores.

Para poner un poco de contención a estas visitas, no programadas, de robots de los buscadores habituales, lo mejor es establecer directivas en el archivo robots.txt que sirvan para establecer límites que no afecten al posicionamiento la nuestra web.

El archivo robots.txt solo es necesario si tu sitio web incluye contenido que no deseas que los motores de búsqueda indexen. Si vas a permitir la indexación de tu sitio web por completo, el archivo robots.txt no es necesario (ni siquiera uno vacío). Este archivo debe crearse en la carpeta /public_html o donde tengamos instalado WordPress y con permisos 644.

El archivo robots.txt más simple utiliza dos reglas:

User-Agent - El robot al que se aplica la regla que se indique justo debajo.

Disallow - La URL que desea bloquear.

Estas líneas se consideran una única entrada en el archivo y es posible incluir todas las entradas que se desee, así como varias líneas Disallow y varios User-agents en una misma entrada.

Ejemplo:

User-agent: *
Disallow: /carpeta1/
Disallow: /carpeta2/

User-Agent: Googlebot
Disallow: /carpeta3/
Disallow: /carpeta5/

La directiva Disallow: / *? bloqueará cualquier URL que incluya el símbolo ?. Concretamente bloqueará todas las URL que comiencen por el nombre de dominio seguido de cualquier cadena y un signo de interrogación.

La directiva Allow: /*$$ permitirá cualquier URL que finalice con el símbolo ?. Concretamente admitirá cualquier URL que comience por el nombre de dominio seguido de cualquier cadena y el símbolo ?, sin caracteres después de este último.

Otras reglas que podemos usar en robots.txt:

Sitemap: Esta directiva permite indicar la ruta donde se encuentra un mapa del sitio en formato XML.

Crawl-delay: Esta otra directiva le marca a los bots la cantidad de segundos que deben esperar entre cada página. Muy útil si tenemos problemas de consumo o carga del servidor.

Facilita el camino hacia tu sitemap:

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

De esta forma permites que tu sitemap sea encontrado e indexado, de forma que todos los enlaces en dicho archivo recogidos sean tenidos en cuenta por los buscadores.

A partir de esto podemos crear las entradas que consideremos oportunas para filtrar que robots (bots) de indexado podrán acceder a determinadas carpetas y cuales no, o a ninguna carpeta.

El punto de partida recomendado:

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

Estas carpetas no son del interés de los bots, son propias de WordPress y su indexado no aporta contenido adicional alas búsquedas que los usuarios realicen en Internet que puedan ser relacionadas con nuestro sitio web, salvo que sea para buscar patrones vulnerables en plugins, themes o core (núcleo) de WordPress desactualizado.

¿Es posible deshabilitar el indexado de determinadas extensiones de archivo?

Es posible y casi recomendado, de forma que podamos evitar que estos archivos puedan luego ser localizados con búsquedas típicas como inurl: /*.php$ cuyos resultados hablan por si solos.

Reglas que podemos incluir para evitar que esta y otras extensiones sean tenidas en cuenta:

User-agent: *
Disallow: /*.php$
Disallow: /*.cgi$
Disallow: /*.css$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.wmv$
Disallow: /*.xhtml$
Disallow: /*.gz$

Permite que Google indexe las imágenes de tu WordPress:

User-agent: Googlebot-Image
Disallow:
Allow: /*

¿Puedo poner a raya a determinados bots de indexado?

Es lo recomendado si has recibido avisos de tu proveedor de Hosting de que tu consumo de recursos está aumentando derivado de la masiva visita de bots o consideras que la mayoría de bots que visitan tu sitio web WordPress no guardan relación directa alguna con el público al que ofreces tus contenidos o son procedentes de países a los que no ofreces servicios.

User-agent: BadBot
Disallow: /

User-agent: msnbot
Disallow: /

User-agent: arachnophilia
Disallow: /

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

User-agent: webcopy
Disallow: /

Estos y otros que previamente hayas analizado que constituyen una sobrecarga constante en tus estadísticas de visitas (ver Webalizer, AWStats, Google Analytics, etc.) pueden ser parte de aquellos que puedas desear bloquear. El sentido común debe prevalecer siempre a la hora de confeccionar estas "listas negras" de bots.

Algunos enlaces recomendados:

No existe el archivo robots.txt perfecto, posiblemente encuentres cientos de publicaciones en Internet que te dan orientaciones de como hacer uso de este archivo (muchas veces olvidado) y lo cierto es que al final son tus necesidades particulares y el conocimiento que tengas del medio los que marcarán como será ¡tu archivo robots.txt! nosotros solo deseamos que estas orientaciones te sirvan para tenerlo más presente en tu web.

Hay que tener en cuenta que un archivo robots.txt debidamente creado puede ayudar mucho en el SEO de nuestro sitio WordPress y lo contrario provocaría un bloqueo no deseado a bots de indexado y por ende perjudicaría nuestro posicionamiento.

No obstante si no quieres que determinado contenido de tu web sea indexado, usa etiquetas como NOINDEX en tus artículos de contenido en WordPress ¡es útil y rápido!.



¿Te ha resultado interesante este artículo?

Suscríbete para recibir consejos exclusivos para WordPress, Joomla y PrestaShop



Luis Méndez Alejo

Miembro del equipo técnico de Webempresa.
Coordinador de contenidos en el Blog y en Youtube.
Google+