Cómo desactivar las páginas de adjuntos de WordPress

Cuando subes un archivo de medios a WordPress, ya sea  una imagen, un vídeo, documento, lo que sea, se crea una página propia de adjunto, con su propia URL, como cualquier otra página o entrada.

Estas páginas de adjuntos se publican por defecto, se puede acceder a ellas públicamente, son visibles sin restricción alguna, aunque no hayas adjuntado el medio a ninguna entrada o página.

Fíjate en el vídeo siguiente, es una página con todo, su barra lateral, el menu, cabecera, pie de página, enlaces de navegación, hasta formulario de comentarios.

Y no solo eso, sino que son páginas que por defecto indexan en buscadores, así que si los bots de Google u otros buscadores rastrean URLs en tu web, aunque por defecto no se muestran en el mapa del sitio por defecto de WordPress, encontrarán todas esas URLs y las indexarán, con el problema de que son páginas de las conocidas como soft 404 o thin content, o sea, con poco contenido, poco relevantes, además de que aumenta la cantidad de URLs totales de tu sitio, con URLs que nada aportan al SEO de tu web.

Por supuesto, luego está el hecho de que seguramente tampoco querrás que haya por ahí URLs indexadas con imágenes o vídeos que, por lo que sea, puede que no quieras que aparezcan en los buscadores y las vea cualquiera, pues ya te digo que se crea URL aunque no estén adjuntos los medios a ninguna publicación.

¿Estamos de acuerdo en que es un problema?

Es algo que debería eliminarse de WordPress, por sus implicaciones negativas tanto de SEO como de seguridad/privacidad, pero como no parece que prosperen las peticiones al respecto, vamos a ponerle solución.

Desactivar los enlaces a los adjuntos

Uno modo radical es desactivar totalmente los enlaces a los adjuntos.

Solo tienes que añadir el siguiente código al archivo functions.php del tema activo (hijo, acuérdate) o a tu plugin de personalizaciones:

/* Desactivar enlaces a adjuntos */
function cleanup_attachment_link( $link ) {
return;
}
add_filter( 'attachment_link', 'cleanup_attachment_link' );

Cuando guardes los cambios se desactivarán totalmente los enlaces a los adjuntos, tanto en la pantalla de la biblioteca de medios como incluso si eliges enlazar una imagen a su página de adjuntos.

¡Radical!

Redirigir la página del adjunto al archivo de imagen (con código)

Una posibles solución, no sé si más elegante, es crear automáticamente una redirección permanente de la página del adjunto al archivo en cuestión, de este modo no se crea ninguna página indexable, solo existe la imagen/vídeo/documento con su ruta completa del servidor.

Como antes, tendremos que añadir un código, en este caso este:

/* Redirigir páginas de adjuntos al archivo */
add_action( 'template_redirect', 'ayudawp_redirigir_adjunto_archivo', 10 );
function ayudawp_redirigir_adjunto_archivo() {
if( is_attachment() ) {
$url = wp_get_attachment_url( get_queried_object_id() );
wp_redirect( $url, 301 );
}
return;
}

Con esta solución, además, evitamos penalizaciones de SEO ya que no quedan URLs con error 404 sino que llevan a una imagen con una redirección permanente del tipo 301.

Redirigir la página del adjunto al archivo de imagen (con plugins de SEO)

Si no te atreves/animas con los códigos no hay problema, pues la mayoría de los plugins SEO actuales también utilizan esta técnica de redirección de adjuntos al archivo para evitar el problema de indexado.

Vamos a ver dónde está el ajuste correspondiente en los principales plugins de SEO…

Yoast SEO

En el plugin Yoast SEO es un ajuste que viene activo por defecto si acabas de instalarlo, pero por si acaso, comprueba si tienes activa la redirección en SEO → Apariencia en el buscador → Medios.

Rank Math

Este plugin de SEO hace algo distinto, pues además de no incluir ningún ajuste personalizable por el usuario, no puedes decidir, por defecto redirige la URL de los adjuntos a la URL de la entrada en la que está insertado el adjunto.

¿Y qué pasa en el caso de URLs de medios no adjuntos a ninguna página o entrada? pues que la redirección la hace a la portada de la web.

Creo que no es la solución más acertada, pero afortunadamente puedes usar un filtro, que deberás añadir, como siempre, al archivo functions.php del tema activo o a tu plugin de personalizaciones varias, que cambiará este comportamiento, al del resto de plugins, redirigiendo la URL del adjunto al medio.

El filtro es este:

add_filter( 'rank_math/frontend/attachment/redirect_url', function( $redirect, $post ) { return $post->guid; }, 10, 2 );

All in One SEO

En este veterano plugin, recientemente renovado, vamos a encontrar todas las posibilidades de los dos anteriores.

En la página de ajustes situada en All in One SEO → Apariencia en la búsqueda → Medios → Adjuntos, encontrarás un selector en el que elegir si…

  • No haces redirección (Inactivo)
  • Haces redirección 301 al medio (Adjunto)
  • Haces redirección 301 a la publicación con el adjunto (Adjunto padre)

Por descontado que, para empezar, me parece mala idea que no venga activa la redirección (al medio) por defecto, pues este comportamiento de WordPress por defecto es malo para el SEO, y un plugin de SEO debería contemplarlo y, por defecto, como hace Yoast, crear la redirección.

Eso sí, me gusta que ofrezca opciones, porque siempre es bueno educar al usuario dándole opciones.

Y también me parece apropiado que, en el caso de dejar inactiva la redirección, al menos puedas marcar para que no se indexen los adjuntos, como te apunto en la captura de arriba.

¿Qué es mejor, redirigir al medio o a la publicación?

Por terminar, y si tienes dudas sobre el mejor método, siempre es mejor redirigir al medio, al archivo, pues funciona en todos los casos, no quedando ninguna URL de adjunto huérfana indexando ni montones de redirecciones a la portada como hace Rank Math.

Así que mi consejo es que uses o el código para redirigir al medio o el método de Yoast SEO, activo por defecto, o actives la redirección de «Adjunto» de All in One SEO.

Lo que no debes dejar en ningún caso es activa la creación de las URLs de adjuntos sin aplicar medida alguna, sea la que sea.

La entrada Cómo desactivar las páginas de adjuntos de WordPress la publicó primero Fernando Tellado en Ayuda WordPress. No copies contenido, no dice nada bueno de ti a tus lectores.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *