Grave error de WordPress

Los que me conocéis bien, sabéis que soy un gran amante de WordPress, pero no por ello creo que sea perfecto. Cada semana -como mínimo- salta alguien con un nuevo error -más o menos grave- de WordPress. Esta semana he sido yo el que me he topado con el error.

Antes de continuar me gustaría aclarar, que aunque el fallo es grave, NO afecta a la seguridad de WordPress, pero si a su funcionalidad.

El problema

Cuando utilizamos WordPress como web + blog, utilizando como página principal una página estática y usando enlaces permantenes “bonitos” -¿aún queda alguien que no lo use?- WordPress se hace un lio a la hora de ubicar las noticias dentro del site.

Aunque utilicemos la carpeta blog (http://www.misitio.com/blog) como portada de noticias, WordPress utilizará la raiz del sitio como carpeta contenedora de las noticias (http://www.misitio.com/noticia-1) -hasta aquí todo bien-.

El problema es que al paginar las noticias, utiliza la siguiente estructura: http://www.misitio.com/blog/page/2/. Y esto, aunque parezca correcto, devuelve un error 404 (página no encontrada).

La estructura de paginación que WordPress es capaz de reconocer es: http://www.misitio.com/page/2/.

Solución

Por suerte todo en la vida tiene solución -temporal-. Para ello, sólo tendremos que editar el archivo .htaccess y crear una redirección con expresión regular.

El código sería el siguiente:

RedirectMatch /blog/page/(.*)$ http://www.misitio.com/page/$1/

La carpeta “/blog/” debe corresponder con el nombre de la carpeta que utilizas como portada de noticias, y “http://www.misitio.com/” debe reemplazarse por la url de tu web.

Este fallo también te afectará si usas algún plugin de paginación como p. ej.: Pagebar o PageNavi.

Actualización

Para aquellos que no puedan editar el archivo .htaccess -os recomiendo cambiar ya de proveedor de hosting- podéis utilizar el plugin Redirection y crear la siguiente redirección:

  • Source url: /carpeta-blog/page/(.*)
  • Target url: /page/$1
  • Regex: On

Notas

Al aplicar esta solución, hay que tener en cuenta que no podremos tener la página principal -estática- dividida en varias páginas, puesto que provocaríamos una colisión.

Este fallo no afecta a aquellos WordPress que no utilicen una página estática como página de inicio o no tengan los enlaces permanentes “bonitos”.

Este fallo deja claro el origen de WordPress como CMS para blogs y no para webs, aunque cada vez sean más las webs que utilizan WordPress como CMS.

Suscríbete a nuestro blog »
Suscríbete a nuestros RSS
o déjanos tu email y recíbe nuestras novedades periódicamente en tu correo:

Síguenos »
e_make en LinkedIn