¿Qué es más frustrante que tener un error de “404 página no encontrada” en WordPress cuando si existe una página con permalink, un post o un custom post type?
Posiblemente, también puede pasar cuando subes imágenes.
No te preocupes, no estás en la zona desconocida o una realidad alterna y tu página si existe.
El problema reside en la extensión de Apache mod_rewrite ya que no está habilitada o no está configurada correctamente y no puede volver a escribir tus URL para usar los permalinks que seleccionaste anteriormente.
A continuación, te indíco cómo arreglar los permalinks para deshacerse de estos errores 404 en tus publicaciones, páginas y custom post types, así también cómo corregir la pantalla blanca de la muerte que resulta al subir imágenes.
Reiniciar Pretty Permalinks
Un permalink es una URL permanente para tus publicaciones, categorías, archivos y otras páginas similares. Es el vínculo único que dirige a un post específico y correspondiente.
Un permalink es una URL más detallada que la opción predeterminada. En lugar de mostrar sólo el número de identificación de tu publicación y no mucho más, los permalinks también pueden incluir el año, mes y día de tu publicación, así como el título de la publicación y otras opciones similares.
Cuando instalas WordPress, estás configurado automáticamente para usar permalinks, sin embargo, necesitas elegir lo que quieres que se muestre en ellos.
Si la extensión de mod_rewrite de Apache se deshabilita o hay conflictos de plugins y temas, estos tipos de vínculos dejan de funcionar.
Restablecer tu configuración de permalink debería solucionar este problema con mod_rewrite si cargar imágenes causa la pantalla blanca de la muerte o si tus entradas o páginas están devolviendo un error 404. Al hacer esto, se borran las reglas actuales de reescritura y puedes intentar hacerlo de forma automática o manual.
Si tus custom post types dan error 404, busque en la siguiente sección la solución.
Restablecer automáticamente los enlaces Permalinks
En el panel de administración, ve a Settings > Permalinks y tome nota de la configuración actual, ya que necesitas cambiarla temporalmente. Seleccione el botón de opción plain y haz clic en Guardar cambios en la parte inferior de la página.
Una vez guardado, haz clic en la opción permalink que tenías antes y haz clic en Guardar una vez más.
Tu configuración de permalink se ha restablecido y puedes comprobar tus publicaciones, páginas e imágenes. No deberías ver más errores 404 o pantallas blancas de la muerte.
Si esto no funciona, intente restablecer manualmente los permalinks.
Restablecimiento manual del archivo .htaccess
Para restablecer manualmente tus permalinks, debes poder acceder y editar tu archivo .htaccess ubicado en la raíz de tu sitio. Puedes acceder a este archivo a través de FTP, SSH y la línea de comandos o cPanel.
Tiene dos opciones para editar este archivo: descarga una copia de tu archivo .htaccess, edítala en un editor de texto compatible, luego vuelva a cargarlo en tu sitio reemplazando el archivo original o puede usar SSH o un cliente FTP como FileZilla para editar tu archivo .htaccess directamente en tu servidor, luego guarda los cambios.
Ten en cuenta que antes de editar los archivos de WordPress, debes hacer una copia de seguridad de tu sitio en primer lugar. Si algo sale mal, puedes restaurar tu sitio e intentarlo de nuevo.
Dependiendo de tu configuración, puede que tengas más que el código predeterminado en tu archivo .htaccess, pero todo lo que necesitas editar es el código inherente, así que asegúrate de dejar todo lo demás intacto.
Si no realizas modificaciones personalizadas en tu archivo .htaccess, puedes eliminarlo en lugar de realizar cualquier modificación. A continuación, ve al panel de administración y haz clic en el botón Guardar cambios en la página Settings > Permalinks. El archivo debe regenerarse automáticamente.
Para restablecer manualmente el archivo .htaccess, edítalo y reemplaza el código predeterminado por uno de los fragmentos siguientes que sea relevante para tu configuración, luego guarda el archivo. El código que debes reemplazar debe ser similar al de los fragmentos siguientes.
Para instalaciones individuales de WordPress, copia y pega esto:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Para instalaciones de subdirectorios de WordPress Multisite, utiliza el código siguiente:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]
Por otro lado, si tienes una instalación de subdominio de WordPress, utiliza esto:
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
# Agrega un slash a /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ – [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
Si tienes la versión 3.4 de WordPress o una versión menor, consulta la página .htaccess del Codex de WordPress para obtener el código que necesitas.
Una vez que hayas guardado el archivo y esté en tu servidor, las reglas de reescritura son reiniciadas y los errores deben resolverse.
Cómo corregir los custom post types
Para remover los errores 404 en los custom post types es un poco diferente, porque hay un paso extra. Debes comprobar cada uno de los tipos de publicaciones personalizadas para títulos únicos y slugs.
Si dos o más posts contienen el mismo título o slug, es necesario cambiarlos. Sólo un post puede contener ese título y slug así que asegúrate de cambiar los otros a uno único.
Tampoco es suficiente cambiar el título o el slug. Ambos necesitan actualizarse.
Reiniciar Permalinks a valores predeterminados
Para eliminar el error 404 en los custom post types, restablece la configuración de los permalink. Puedes hacerlo de forma automática o manual con los mismos pasos mencionados anteriormente.
Una vez hecho esto, no deberías ver más el error y puedes visitar las URL de tus custom post types para confirmar que se solucionó el problema.
Otras Soluciones
Si los pasos anteriores no resuelven los errores, comprueba que tu archivo .htaccess está configurado con los permisos adecuados para que WordPress pueda escribir en el archivo. Para obtener más información, consulta este artículo de WPMU “Comprender los permisos de archivos y uso de ellos para proteger tu sitio”.
Si necesitas actualizar los permisos, vuelve a intentar los pasos anteriores. Puedes tener un conflicto de plugins o de tema si tus errores siguen siendo persistentes.
Para solucionar el problema si aún no logras dar con el problema, activa el tema predeterminado de WordPress Twenty Seventeen y ve a Appearance > Themes en el panel de administración. Coloca el cursor sobre el tema predeterminado y haz clic en Activar.
A continuación, carga tu sitio para ver si los errores 404 o la pantalla blanca de la muerte se han ido y si así es, el tema que estabas utilizando es el culpable. Puedes ponerte en contacto con el autor del tema e informar del problema para que pueda arreglarlo y liberarlo en una futura actualización.
Si los errores siguen apareciendo, entonces puedes cambiar el tema de nuevo al que estabas utilizando anteriormente y desactivar todos los plugins.
Ve a Plugins> installed Plugins. A continuación, haz clic en Desactivar para cada uno de los plugins enumerados o desactiva varios seleccionando la casilla del lado izquierdo y luego en la parte superior selecciona Desactivar en el cuadro desplegable junto a él y haz clic en Aplicar.
Ahora comprueba para ver si los errores han sido solucionados. Si eso lo soluciono, a continuación, reactiva tus plugins uno por uno, revisa entre cada activación hasta que el error vuelva a aparecer.
Cuando el error vuelva a aparecer, el último plugin que activaste es el causante. Para solucionarlo, notifica al autor del plugin para que lo puedan arreglar. Mientras tanto, puedes buscar una alternativa adecuada que puedas utilizar tu sitio hasta que se resuelva el problema.
En conclusión
Estabas seguro de que tus páginas, publicaciones y custom post types existían aunque tu navegador devolvía un error 404 y tenías razón. Ahora sabes cómo solucionar el problema rápidamente.
Si has subido imágenes y sale la pantalla blanca de la muerte, ahora sabes cómo arreglarla también.
Salvadon Gracias por el post
Me da gusto saber que la información te sirvio! Saludos.
Muchas gracias!!! me sirvió la primera solución menos mal! ya me estaba tirando de los pelos
Me alegra que te haya servido!
Oye, muchas gracias, ya estaba casi por explotar, había intentado de todo, pero gracias a ti pude resolverlo. Me salvaste <3
Es todo un placer saber que mi información te fue útil, saludos.