Cómo arreglar el error 404 en la paginación con enlaces permanentes personalizados

Si utilizas enlaces permanentes personalizados del tipo

/%category%/%postname%/

es posible que al tratar de acceder a la paginación de tu WordPress, a

https://tusitio.es/page/2/

y sucesivas, recibas un error 404.

Este es un error que viene ocurriendo desde la versión 2.7 de WordPress, y aún hoy en día ocurre más de lo razonable al acceder a la paginación de la web, da igual el tema.

Esto pasa más de lo que yo pensaba pero, como todo en WordPress, tiene una o varias posibles soluciones.

Cambia de enlaces permanentes

La primera solución es obvia, cambiar la estructura de enlaces permanentes.

Pásate por el escritorio de tu WordPress y en

Ajustes > Enlaces permanentes

, cambia de la estructura personalizada actual a «Nombre de la entrada»

Entiendo que no siempre podrás hacer este cambio, por temas de SEO principalmente, pero te recomiendo al menos hacer la prueba.

Cambia de estructura como te digo y prueba a ver si ya funciona la paginación. Luego, si puedes hacer el cambio de enlaces permanentes perfecto, te quedas con esta estructura y realizas las redirecciones 301 o regex que hagan falta para no perder posicionamiento.

Borrar el .htaccess

También, en ocasiones, puede que no se esté haciendo correctamente la escritura de enlaces permanentes desde el servidor. Para comprobarlo nada más fácil que borrar el archivo .htaccess actual (estará en la carpeta raíz donde está instalado WordPress).

A continuación ve al escritorio de WordPress, a

Ajustes > Enlaces permanentes

,  y guarda cambios sin tocar ningún ajuste.

Usa una función que corrija el error de paginación

Si nada de lo anterior funciona, o no puedes aplicarlo, el siguiente código arreglará el problema en el 99% de los casos.

function ayudawp_custom_pre_get_posts( $query ) {
if( $query->is_main_query() && !$query->is_feed() && !is_admin() && is_category()) {
    $query->set( 'paged', str_replace( '/', '', get_query_var( 'page' ) ) );  }  }

add_action('pre_get_posts','ayudawp_custom_pre_get_posts');

function ayudawp_custom_request($query_string ) {
     if( isset( $query_string['page'] ) ) {
         if( ''!=$query_string['page'] ) {
             if( isset( $query_string['name'] ) ) { unset( $query_string['name'] ); } } } return $query_string; }

add_filter('request', 'ayudawp_custom_request');

Añade el código al final del archivo functions.php del tema activo o a tu plugin de personalizaciones varias, guarda los cambios y casi seguro que se arregla.

O, si lo prefieres, también en plugin

 

Si no te ha funcionado alguno de los primeros consejos y no te atreves con el código, entonces igual prefieres hacerte con un plugin que corrija el problema solo con instalarlo y activarlo.

En caso de que sea esto lo que prefieras en este enlace puedes hacerte con el plugin.

No hay misterios, en la misma página se explica como instalarlo, pero es como cualquier otro plugin de WordPress.

La entrada Cómo arreglar el error 404 en la paginación con enlaces permanentes personalizados 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 un comentario

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