En ocasiones resulta interesante desactivar los enlaces de sindicación o feed RSS de Wordpress, por varias razones: evitar su indexación y penalización por contenido duplicado, o bien porque solo queremos que los usuarios accedan al contenido mediante la web.
En esta clase vamos a ver cómo desactivar esta funcionalidad integrada en Wordpress, u ocultar estos enlaces en el código fuente fácilmente.
Eliminar los feed RSS de Wordpress
Para eliminar o desactivar el feed de Wordress, accede a Apariencia > Editor y selecciona el archivo functions.php.
Al final del todo incluye este código (antes de «?>»):
function disable_all_feeds() { wp_die( __('Lo siento, nuestro contenido no está disponible mediante RSS. Por favor, visita <a href="'. get_bloginfo('url') .'">la web</a> para leerla') ); } add_action('do_feed', 'disable_all_feeds', 1); add_action('do_feed_rdf', 'disable_all_feeds', 1); add_action('do_feed_rss', 'disable_all_feeds', 1); add_action('do_feed_rss2', 'disable_all_feeds', 1); add_action('do_feed_atom', 'disable_all_feeds', 1); |
Con esto evitaremos el acceso al contenido mediante RSS, y mostraremos un aviso en caso de que intenten acceder a través de él, incluyendo un enlace a la página principal de nuestra web.
Otra de las razones por las que desactivar el feed RSS de Wordpress es para evitar el plagio de contenido de forma automática a través de robots.
Estos acceden a la fuente de sindicación y copian todo el contenido de forma automatizada, lo que puede ser muy perjudicial a nivel de SEO (si Google indexa antes su contenido), mientras que pueden monetizar tu contenido sin permiso con el consecuente perjuicio económico.
Así pues, con este sencillo truco podrás evitar estos problemas derivados del RSS de Wordpress.
Ocultar enlaces RSS del Head en Wordpress
Ahora bien, puede interesarte mantener el acceso al contenido mediante RSS, pero evitar que Google rastree e indexe estos enlaces.
Aunque los bloqueemos con el archivo robots.txt, Wordpress genera enlaces tipo midominio.com/post/feed/ por cada entrada o página de nuestra web, que son accesibles si no los ocultamos en la cabecera de la web.
Para ello, basta añadir estas dos líneas en el archivo functions.php de nuestra plantilla:
remove_action( 'wp_head', 'feed_links', 2 ); remove_action('wp_head', 'feed_links_extra', 3 ); |
Hola Bruno,
Has comentado que en ocasiones es interesante desactivarlo.
Quería preguntarte si crees que se debe hacer para evitar desperdiciar presupuesto de rastreo, más que nada porque en Search Console aparecen como no indexadas, pero si han sido rastreadas.
Gracias
Hola Mar!
Claro, esa es otra de las ventajas que comento al final del post, para que los usuarios puedan seguir accediendo a los feeds, pero que Google no pierda el tiempo rastreándolos si se los encuentra en el código fuente.
Saludos!
Gracias Bruno,
He visto que a veces, lo hacen en robots.txt con un disallow, tanto para feed de blog como para comentarios.
Mi duda era si con eso bastaba y estaba bien hecho, puesto que no sabía si los usuarios luego podían agregar desde feedly u otra aplicación de este tipo, o hay que hacer ambas cosas, ya que tú sólo comentas esta opción.
También he leído que en ecommerce podría ser perjudicial.
En fin, se leen tantas cosas
Gracias de nuevo, me han encantado tus post.
Sí, de hecho hice este post porque aunque lo bloquees por robots, Google lo sigue rastreando igualmente, y de ahí los avisos en Search Console de que se ha indexado una URL que el archivo tiene bloqueado.
Con esto te aseguras de que Google deja de verlo sí o sí.
Saludos!
Hola Bruno,
y ¿cuál seria el caso de querer desactivar por ejemplo el feed de un artículo en concreto?
Espero haberme explicado bien.
Saludos.
Hola Juan, ahí ya me pillas 😅
Hola Bruno, gracias por contestar. Pues mira en GSC me aparece “rastreada: actualmente sin indexar” enlaces tipo midominio.com/como-bailar/feed lo que quiero es que en esa cola de rastreada y actualmente sin indexar esos enlaces de feed no los coja Google. Esperemos haberme explicado 🙈
Hola Juan, eso es precisamente lo que hace el código, evitar que se muestre en el código fuente las URL de los feed, y así Google no las ve y deja de rastrearlas.
Otra buena práctica es impedir a Google que visite ese tipo de URL bloqueándolas en el robots.txt con esto:
Disallow: */feed
Disallow: */feed/
Disallow: /feed
Disallow: /feed/
Disallow: /comments/feed
Disallow: /feed/$
Disallow: /*/feed/$
Disallow: /*/feed/rss/$
Disallow: /*/trackback/$
Disallow: /*/*/feed/$
Disallow: /*/*/feed/rss/$
Disallow: /*/*/trackback/$
Disallow: /*/*/*/feed/$
Disallow: /*/*/*/feed/rss/$
Disallow: /*/*/*/trackback/$
Saludos!