En un artículo anterior vimos como personalizar la página de error 404, sin embargo es posible que para algunas URLs que no existen, prefieras redireccionar directamente al inicio de tu sitio.
Generalidades
Existen muchos plugins de redirección y también plugins de redirección para errores 404, sin embargo en este artículo veremos cómo realizarlo directamente a través de código.
Archivo 404.php
Usualmente los temas tienen un archivo llamado 404.php, este archivo se ejecuta cuando se consulta una URL que no existe en el sitio. Sin embargo no modificaremos directamente este archivo, sino que crearemos un archivo 404.php como parte del tema hijo y en este archivo haremos las modificaciones.
Redirección de error 404 al inicio del sitio para todas las URLs
Tras crear el archivo 404.php en tu tema hijo simplemente agrega el siguiente código PHP.
<?php
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: " . get_bloginfo( 'url' ) );
exit();
Este código redireccionará todas las URLs no encontradas al inicio de tu sitio.
Redirección de error 404 al inicio del sitio para ciertas URLs
Tras crear el archivo 404.php en tu tema hijo simplemente agrega el siguiente código PHP.
Luego cambia las URLs que quieres redireccionar al inicio de tu sitio.
<?php
$urls_redirect_home = [
'mi-tienda-anterior',
'pagina-anterior',
'paginas/tienda-anterior',
];
global $wp;
if ( in_array( $wp->request, $urls_redirect_home ) ) {
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: " . get_bloginfo( 'url' ) );
exit();
}
include_once get_template_directory() . '/404.php';
En el código anterior:
- Definimos las URLs que se redireccionarán al inicio del sitio
- Usamos la variable global $wp para obtener la ruta actual que se esta consultando
- Hacemos una comprobación, si la ruta actual es alguna de las definidas en el array de URLs
- Si es alguna de las rutas del array hacemos la redirección al inicio
- Si no coincide con las rutas definidas entonces llamamos al archivo 404.php del tema padre
Conclusión
Como has podido comprobar, es posible que en algunos proyectos tengas la necesidad de redireccionar ciertas URLs que generan un error 404 al inicio de tu sitio, en este artículo hemos visto cómo realizarlo de forma simple a través de código.
¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores.
La entrada Redireccionar página de error 404 al inicio en WordPress es un artículo reciente del sitio DecodeCMS.
0 Commentaires