Qué es y cómo se edita el robots.txt virtual de WordPress

¿Cómo se crea el robots.txt virtual de WordPress?

Desde hace bastante tiempo, en concreto desde WordPress 3.0, existe un gancho (hook) en WordPress, el filtro robots_txt, cuya función es crear un robots.txt virtual en tu web.

Este gancho está en el archivo /wp-includes/functions.php de tu instalación y, básicamente, si en los ajustes de lectura tienes seleccionado que WordPress disuada a los motores de búsqueda, así:

Mostrará, tecleando /robots.txt a continuación de tu dominio (p.ej. https://midominio.com/robots.txt), el contenido por defecto del gancho, que permite el indexado normal de tus contenidos, este:

Indicando a los bots de los buscadores que indexen tu sitio, a excepción de la carpeta /wp-admin/.

Si, por el contrario, has indicado que quieres disuadir a los motores de búsqueda, marcando la casilla de selección…

Entonces el robots.txt virtual será así:

Lo que manda la instrucción a los bots de los motores de búsqueda de que no indexen nada de tu contenido.

Todo esto lo consigue el filtro del archivo que te indicaba (/wp-includes/functions.php), que en la versión de WordPress actual tiene este código a partir de la línea 1469:

¿Para qué sirve el robots.txt?

Desde que el SEO existe, o sea, desde que Google existe, el archivo robots.txt ha servido como primera línea de información a los bots de los buscadores de qué quiere el webmaster de un sitio indexar y qué no.

Más que una obligación, pues la mayoría de los bots malintencionados lo obvian y el de Google omite algunas reglas, como la de atrasar el re-indexado, es una indicación de qué quieres que se rastree y qué no.

Para los bots «normales», como los de Google, Bing y resto de buscadores son una serie de instrucciones que les evita perder tiempo rastreando carpetas innecesarias para sus índices, así que es algo que «agradecen».

Instrucciones básicas de un robots.txt

Los archivos robots.txt, virtuales o físicos, pueden usar alguna de estas instrucciones:

  • User-agent: NombreDelAgente – Agente al que aplica la instrucción. Primero se pone el User-agent y luego se añaden las instrucciones (Allow o Disallow) que se aplican a ese User-agent. Se puede usar el comodín universal (*) para indicar que las instrucciones se aplicarán a todos.
  • Allow: /ruta – Indica que la ruta se puede rastrear.
  • Disallow: /ruta – Indica que la ruta no se debe rastrear.
  • Sitemap: /ruta – Ruta del mapa del sitio en formato XML.
  • Crawl-delay: xx – Donde xx son los segundos de espera entre rastreo y rastreo por parte del bot al que se indique la instrucción.

Ejemplo de robots.txt con distintas instrucciones

Un ejemplo de robots.txt en el que damos diferentes instrucciones a según qué bot sería así:

¿Por qué WordPress no crea un robots.txt físico en vez el virtual?

Una parte de la explicación es que algunos servidores no dejan escribir físicamente nuevos archivos en ciertos niveles del alojamiento, como la carpeta raíz, y creando un robots.txt virtual que se genera dinámicamente, WordPress se asegura de que tu instrucción de que se disuada o no a los buscadores será efectiva, aunque tu servidor no deje crear archivos físicos en la carpeta raíz.

También es importante que sea así para instalaciones de WordPress Multisitio, donde se puedan tener varios robots.txt en cada sitio de la red, mediante el filtro robots_txt.

En caso contrario, si existe un robots.txt físico en la carpeta raíz de la red, no tendrían efecto otros robots.txt de la misma. Con robots.txt dinámicos podemos personalizar al máximo el indexado en cada sitio, como veremos a continuación.

¿Se puede modificar el robots.txt virtual?

Claro que sí, como todo en WordPress. Para eso es un filtro.

Cómo añadir instrucciones al robots.txt virtual

Por ejemplo, para añadir una instrucción nueva al robots.txt virtual, podrías crear una función (como siempre, en tu plugin personalizado o mu-plugin) como la siguiente:

En este caso, al contenido actual del robots.txt virtual se añadirá una línea con la ruta a tu mapa del sitio.

Otro ejemplo podría ser así:

Sintaxis: Cualquier línea en blanco vacía, incluido un espacio en blanco después de la cita de apertura («) creará una nueva línea en el robots.txt. De la misma manera, cualquier tabulación indentará la línea en el robots.txt.

Cómo sustituir el robots.txt virtual por defecto por otras instrucciones

La otra posibilidad es sustituir totalmente las instrucciones por defecto de WordPress por las tuyas. En este caso la función sería así:

Como ves, los ganchos (filtros y acciones) de WordPress son tus amigos.

¿Qué pasa si creo un archivo robots.txt físico?

Si decides crear un archivo robots.txt físico en la carpeta raíz de la instalación de WordPress, con Yoast o simplemente con un editor de texto, entonces no se lanza el filtro robots_txt de WordPress y, en consecuencia, deja de ejecutarse el filtro, y tu robots.txt será el que hayas creado físicamente, sin conflicto alguno con ningún robots.txt virtual, ya que no se creará.

Esto lo consigue la acción do_robotstxt, que es lo primero que lanza el filtro de /wp-includes/functions.php que vimos arriba.

¿Y, se puede desactivar el robots.txt virtual?

Por supuesto, como comenté antes, en el momento en que exista un archivo robots.txt físico en la carpeta raíz de tu instalación de WordPress no se generará el robots.txt virtual.

Además, puedes eliminar el filtro que hace la llamada al gancho, añadiendo lo siguiente a tu plugin de personalizaciones:


Resumiendo

Me parece mentira no haber hablado antes del robots.txt virtual de WordPress, con la de tiempo que lleva entre nosotros, pero mira, aquí lo tienes.

Espero haberte aclarado qué es, para qué sirve, y cómo personalizar el robots.txt virtual de WordPress, que era el objetivo de este artículo.

Si te surge alguna duda ahí tienes los comentarios para seguir la conversación y seguir aprendiendo y ayudándonos con WordPress.

Si te gusta este contenido prueba tambien a suscribirte al canal en YouTube.
VALORA ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
FlojitoNo está malEstá bienMe ha servidoFantástico (12 votos, promedio: 4,75 de 5)
Cargando…

Al dejar una valoración se recopila la IP para evitar fraudes

Autor: Fernando Tellado

Fernando Tellado, apasionado de WordPress, profesor, consultor y ponente. Maquero cansino, padre de tres hijos y de una perrita Beagle, Bilbaíno de nacimiento, Español de corazón y ciudadano de donde me quieran. Mi último libro es WordPress - La guía completa. Mi blog personal es Navegando con red, donde he crecido como escritor en la red y ofrezco mis visiones acerca de la Web 2.0 y la blogosfera. Sigue a @fernandot en Twitter

Comparte esta entrada en
468 ad

Pin It on Pinterest

Share This
Ir al contenido