• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Core / Redireccionar las páginas de adjuntos en WordPress

Redireccionar las páginas de adjuntos en WordPress

[ 23 octubre 2018 ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

imagen mejoras

Suscríbete a DecodeCMS:  

Todos los archivos que subes usando la galería multimedia, adicional al archivo físico que se guarda en la carpeta wp-content/uploads, también se guarda un registro en la base de datos, es decir el adjunto es tratado como un Custom Post Type llamado attachment.

 

Generalidades

Los adjuntos al ser tratados como Custom Post Type, generan por defecto una url que puede ser visualizada en el front-end del sitio.

Si consultas alguna imagen desde el menú de medios del backend de tu WordPress, verás que aparece un enlace, tal como se muestra a continuación:

Enlace en pantalla de detalle de imagen

 

La url generada tendrá la siguiente forma:

http://midominio.com/mi-imagen/

Si la imagen esta asociada a una entrada (como imagen destacada), por ejemplo con la entrada Hola Mundo, entonces la url generada tendrá la siguiente forma:

http://midominio.com/hola-mundo/mi-imagen/

Si accedes a este enlace verás que puedes ver la imagen como si fuese una entrada en el front-end de tu sitio:

Front-end página de adjuntos creada

 

Redireccionando la página de adjuntos por código

Estas urls de páginas para cada imagen adjunta en la mayoría de los casos no serán necesarias, especialmente si estas optimizando el SEO de tu sitio, por lo que puedes evaluar redireccionar estas urls, puedes usar el siguiente código:


add_action( 'template_redirect', 'dcms_redirect_attachment_page' );

function dcms_redirect_attachment_page() {
	if ( is_attachment() ) {
		global $post;
		if ( $post && $post->post_parent ) {
			wp_redirect( esc_url( get_permalink( $post->post_parent ) ), 301 );
			exit;
		} else {
			wp_redirect( esc_url( home_url( '/' ) ), 301 );
			exit;
		}
	}
}

Puedes añadir este código al final de tu archivo functions.php de tu child-theme

En el código anterior:

  • Usamos el hook template_redirect que hace referencia a la función dcms_redirect_attachment_page
  • Dentro de la función comprobamos si lo que se mostrará es un attachment
  • Si lo es comprobamos si el attachment esta asociado a alguna entrada, de ser así redireccionamos a la entrada
  • Si no esta relacionado a una entrada redirigimos al home del sitio
  • En cada redirección es necesario terminar con exit

 

La redirección también podría hacerse con un código similar en el archivo attachment.php del theme, según la Jerarquía de archivos de un theme WordPress.

 

¿Usas el plugin Yoast SEO?

Si tienes el plugin de Yoast SEO, no será necesario hacer esto por código, por defecto Yoast SEO ya hace la redirección. Lo puedes comprobar desde: SEO > Apariencia en el buscador > Medios > Redirigir las URL de adjuntos a los propios adjuntos.

Opción de medios en plugin Yoast SEO

 

Conclusión

Las urls que se generan por las páginas de adjuntos pueden ser innecesarias para tu sitio Web, hemos visto que puedes redirigir estas urls de manera simple a través de código, o si ya usas el plugin Yoast SEO asegurarte de que la configuración de redirección de urls de adjuntos se encuentre activa.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Quitar el menú de WooComerce en la administración de WordPress para ciertos usuariosQuitar el menú de WooComerce en la administración de WordPress para ciertos usuarios
  • Eliminar automáticamente las imágenes al borrar una entradaEliminar automáticamente las imágenes al borrar una entrada
  • Ocultar precios de productos a usuarios visitantesOcultar precios de productos a visitantes en WooCommerce
  • Deshabilitar Información de Usuarios de la REST API de WordPressDeshabilitar Información de Usuarios de la REST API de WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (4 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. eduka

    10 febrero, 2020

    muy bueno, me ha sido de utilidad. Gracias!

  2. Franklin manama

    24 marzo, 2020

    muy buenas tardes muy util no lo sabia!!! y ademas en la caja de comentarios me aparecieron muchos spam estoy borrandolos en este momento imagino que con ese redireccionamiento no podran colocar mas comentarios no deseados

    • Jhon Marreros Guzmán

      26 marzo, 2020

      Hola, si los comentarios son en las páginas de adjuntos, simplemente ya no será accesible estas páginas.

  3. jimmy Alexander

    2 mayo, 2020

    muy útil y conciso, gracias

  4. CapitanCharter

    24 marzo, 2021

    Muchas gracias por tu aporte, me ha funcionado perfectamente

    • Jhon Marreros Guzmán

      25 marzo, 2021

      Que bueno 🙂

  5. frank

    1 octubre, 2023

    una pregunta sobre el codigo, e visto que el plugin WPcode te da un codigo que : Comprueba si el post esta en trash o no y segundo te colocar el safe_redirect y no el redirec simplemente, para este caso puntual sigues recomendando usar el redirect simplemente ? Gracias soy sub

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Crear productos por programación en WooCommerce

Cómo usar los campos Personalizados en WordPress

¿Cómo mostrar un menú diferente para usuarios registrados?

Optimizar la carga de imágenes con Lazy Load

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados