Soluciones al “Error 404 – Not Found” general en WordPress

Dentro de los errores más habituales con que nos podemos encontrar al acceder a un sitio creado con WordPress está cuando se se intenta acceder a un enlace y se obtiene una página con el mensaje “Error 404 – Not Found”.

Si este mensaje se produce en una página aislada, simplemente la dirección que se intenta resolver no estará disponible porque ya no existe o se ha movido. Si esto sucede en todas las páginas de un dominio (de forma generalizada o, en ocasiones, en todas excepto en la de inicio) el problema es de otro tipo: existe una incoherencia interna relacionada con la forma en que WordPress gestiona y muestra los enlaces permanentes. En este caso, las causas pueden ser varias y las soluciones diversas, como veremos más adelante:

– Modificación de la forma de indexar las entradas como enlaces permanentes (permalinks).
– Migración de dominio y/o servidor de alojamiento.
– Activación y desactivación de plugins.
– Carga inadecuada o corrupta de una actualización de WordPress.
– Infección del sitio.

Soluciones a un error 404 generalizado

Sin pretender ser exhaustivo en la casuística de este tipo de error, vamos a dar solución a algunos de las posibles situaciones. Ya sabemos que las posibilidades de un error en informática son infinitas :-)) y en la red hay multitud de sitios donde bucear y, en su caso, pedir ayuda.

Como vamos a ver, en todos los casos se encontrará implicado, de una forma u otra, el archivo de configuración .htaccess.

– Reparar error 404 producido por una simple desconfiguración de los permalinks

Algunas actividades de administración de WordPress pueden causar una modificación de la forma en que se muestran e indexan las direcciones de los enlaces. Por ejemplo, si antes las direcciones de mi sitio eran: http://www.misitio.com/YY/MM/DD/titulo-del-post/; y ahora son: http://www.misitio.com/titulo-del-post.html. La forma en que se soluciona es sencilla si el problema no vá más allá.

– Acceder a la opción  Ajustes > Enlaces permanentes del área de administración de WordPress que permite modificar la estructura de URLs personalizada para tus enlaces permanentes y archivos, y elegir la opción de ajustes comunes que tuviera previamente tu sitio. En muchos casos bastará presionar el botón Guardar cambios para que todo vuelva a su estado.

La acción Guardar cambios sobreescribe el archivo .htaccess actualizando su configuración.

– Si el problema persiste después de haber hecho lo anterior, marca la opción Estructura personalizada y elimina el contenido que aparece el su campo (/%postname%/). Hacer clic en Guardar cambios. y comprobar si se accede correctamente al contenido.

enlaces-permanentesSi se desea, se puede volver a acceder nuevamente a la administración de los enlaces permanentes de WordPress, marcar la opción de ajustes que se tenía previamente, p.e., Nombre de la entrada, y volver a Guardar cambios.

– Reparar error 404 producido por problemas de escritura en el archivo .htaccess

El Error 404 – Not Found se puede producir también como consecuencia de que el archivo .htaccess no disponga de permisos adecuados de escritura o se produzca algún tipo de incidencia relacionada con su reescritura o modificación.

La solución requiere intervenir directamente sobre este fichero que se encuentra en la raíz de la instalación de WordPress dentro del servidor del alojamiento. Para acceder a él se puede utilizar la herramienta Administrador de archivos del el panel de administración del sitio o mediante una aplicación cliente FTP.

Nota: El archivo .htaccess es un archivo oculto de los sistemas basados en Linux que puede no ser visible en las aplicaciones cliente FTP. Si no lo localizas, configura tu cliente FTP para poder ver archivos ocultos.

Vamos a ver sólo dos de las posibles situaciones:

1.- El archivo .htaccess tiene permisos 444.

La asignación de permiso 444 (chmod 444) a un archivo, el más básico, permite únicamente la lectura del mismo lo que impide su modificación. Deberán modificarse sus permisos a 644 editándolos vía FTP o desde la herramienta de administrador de archivos del servidor de alojamiento.

Aquí tienes una referencia para reparar este problema.

2.- Las reglas del archivo .htaccess son continuamente reescritas y los permisos de archivo son continuamente cambados a 444.

Cuando esto sucede, el efecto que se observa es que al intentar modificar los permisos de .htaccess conforme al punto anterior, el archivo parece que se reescribe en su configuración y vuelve a tener permisos 444. Repetir el intento produce siempre el mismo resultado.

Esto se produce por una desconfiguración del núcleo de WP o como efecto de una infección de malware.

Para solucionarlo lo primero que se debe intentar es reinstalar la última versión de WordPress desde la opción Escritorio >> Actualizaciones del área de administración.

Si esto no es suficiente habrá que seguir el siguiente proceso:

  • Descargar última version de WordPress y descomprimir los archivos.
  • Acceder por FTP al servidor de alojamiento.
  • Renombrar las carpetas wp-includes y wp-admin , p.e. wp-includes_old y wp-admin_old.
  • Copiar esas carpetas al servidor desde la versión WP descargada.
  • Eliminar todos los archivos de la raiz de la instalación de WP menos wp-config.php.
  • Copiar los archivos de la raiz desde la versión de WP descargada (menos wp-config.php).
  • En el area de administración de WP acceder a Ajustes >> Enlaces permanentes.
  • Seleccionar Estructura personalizada, borrar el contenido del campo (/%postname%/) y Guardar cambios.
  • Volver a seleccionar la opción deseada de los ajustes comunes (p.e. Nombre de la entrada) y Guardar cambios.
  • Comprobar si el problema está resuelto y borrar las carpetas renombradas en el sitio de alojamiento.

Hay que tener presente que si la instalación de WP no se hace en la raiz del sitio, habrá que modificar el contenido de .htaccess para que haga referencia a la ruta adecuada. En este caso, el archivo deberá quedar de esta forma:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /ruta_instalacion_desde_raiz/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /ruta_instalacion_desde_raiz/index.php [L]
</IfModule>
# END WordPress

2 thoughts on “Soluciones al “Error 404 – Not Found” general en WordPress

  1. He intentado todo lo que aquí expones sin poderlo conseguir. Te comento. He instalado una copia de wordpress directamente desde mi proveedor de hosting, la versión es la más nueva. En enlaces permanentes la opción por defecto es la “Simple”. Creo mis paginas y se visualizan correctamente. El problema viene cuando quiero que en vez de que me salga la id me salga el nombre del post o pagina. Cambio la opción a enlaces permanentes y ahi empiezan los probemas. Si vuelvo a la opción original todo correcto, pero esa no es lo que yo quiero. Así que entro por ftp a mi hosting y donde estan las carpetas de wp-content, etc… Cambio los permisos del archivo .htaccess, y vuelvo a probar cambiando la opción y dándole a guardar cambios y nada de nada, incluso cambiando y poniendo 777 en los permisos del hosting. La estrcutura del archivo .htaccess es correcta. Alguna otra opción? Muchas gracias.

Deja un comentario

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