• 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

Redireccionar las páginas de adjuntos en WordPress

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

imagen mejoras

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

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.

 

¿Aún con dudas?, en el siguiente video se detalla los puntos anteriores

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Relación bidireccional entre diferentes tipos de contenido con ACFRelación bidireccional entre diferentes tipos de contenido con ACF
  • Creación dinámica de Custom Post Types en WordPressCreación dinámica de Custom Post Types en WordPress
  • Mostrar / ocultar bloques Gutenberg para usuarios registrados o visitantesMostrar / ocultar bloques Gutenberg para usuarios registrados o visitantes
  • Borrar tablas wp_actionscheduler_actions y wp_actionscheduler_logsBorrar tablas wp_actionscheduler_actions y wp_actionscheduler_logs
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 🙂

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

*

* Gravatar habilitado

Barra lateral principal

Presentación

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

Jooble
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

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

Populares

Modificar desplegable de orden de productos en WooCommerce

Eliminar campo URL de los comentarios de WordPress

Fechas relativas en WordPress a través de código

Cómo internacionalizar un plugin en WordPress

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