Hoy un pequeño personaje me ha preguntado acerca de un error que se ha encontrado a la hora de acceder a la administración de Wordpress, te devuelve a portada y no hay manera de acceder debido al loop que se produce. Tu web se ve pero no puedes gestionarlo, ni añadir nuevo contenido ni nada, no puedes entrar en la administración de WordPress.
La voz de alarma sobre este problema suele ser una URL del tipo una dirección enorme llena de códigos ASCII y guarradas parecidas.
Esto puede ser debido a varios culpables, como podrían ser:
- Una reciente migración de dominio/servidor.
- Después de una activación de WordPress multisitio.
- Al finalizar una desactivación de WordPress multisitio.
- Una actualización de WordPress fallida (esto me ha pasado a mi en su día).
- Plugins problemáticos.
- Tema que no funciona con la versión de WP que utilizas.
- Cookies que no caducan.
- Caché persistente.
- Una corrupción de tablas de la base de datos por alguno de los motivos anteriores (podrían ser otros).
Si ya es difícil dar con el problema encontrar la solución puede volverse una tarea complicada. No obstante hay bastantes maneras de tratar de solucionarlo así que vamos a verlos, en esto la solución no tiene más que realizar pruebas hasta dar con el error. No hay que probarlas todas, solo ir probando una a una hasta encontrar cual soluciona el problema …
Loop de redirecciones en wp-login con reauth=1 (soluciones)
- Antes de empezar añade la siguiente línea …
define( 'WP_DEBUG', true );
al archivo wp-config.php para ver los errores que se generen y te puedan dar pistas.
- Vacía la cache de tu navegador, sal y vuelve a iniciarlo. Intenta entrar en la administración ahora.
- Usa otro navegador que no suelas utilizar habitualmente e intenta entrar. Si lo consigues vacía la cache de tu navegador habitual.
- Abre una sesión de incógnito desde tu navegador, o usa el de Tor, para evitar problemas con las cookies.
- Vacía las cookies de tu navegador y vuelve a intentar entrar.
- Reinstala WordPress manualmente por FTP o cPanel, sustituyendo todos los archivos y carpetas de la instalación previa de WordPress por la nueva, excepto la carpeta /wp-content/. Intenta entrar ahora.
- Fuerza la desconexión de tu sitio tecleando la URL (sustituye tusitio.es por tu dominio), vacía la cache del navegador, ciérralo, ábrelo de nuevo y vuelve a intentarlo.
- Renombra la carpeta /plugins/ por FTP o cPanel a, por ejemplo /plugins-off/ e intenta entrar. Esta acción desactiva todos los plugins. Intenta entrar. Si lo consigues vuelve a renombrar la carpeta a su nombre original y activa los plugins uno a uno hasta dar con el culpable. Esta solución fue la que me funcionó a mi en su día.
- Renombra la carpeta del tema activo desde FTP o cPanel para forzar a que WordPress active el tema por defecto (twentyloquesea … por eso es aconsejable no deshacerse del tema por defecto, sino lo tienes subelo manualmente antes). Intenta entrar ahora.
- Desactiva la cache del servidor si tuvieses alguna activa, vacía la cache del navegador y vuelve a intentar entrar.
- Borra el archivo .htaccess e intenta entrar en la administración. Si lo consigues cambia las URLs del sitio y WordPress en Ajustes -> Generales de www a sin www o viceversa, otro posible culpable del error. Luego ve a Ajustes -> Enlaces permanentes y guarda cambios sin tocar ningún ajuste para que se vuelva a crear el archivo .htaccess.
- Una alternativa al truco anterior es definir manualmente las URLs a utilizar, forzarlas, añadiendo las siguientes líneas a tu archivo wp-config.php:
define('WP_HOME','http://tusitio.es'); define('WP_SITEURL','http://tusitio.es');
o con las www …
define('WP_HOME','http://www.tusitio.es'); define('WP_SITEURL','http://www.tusitio.es');
- Si recientemente desactivaste Multisito ve a tu archivo wp-config.php y añade de nuevo la siguiente linea para activarlo:
define( 'WP_ALLOW_MULTISITE', true );
Intenta entrar ahora. Si lo consigues instala y activa este plugin y luego pon todos sus ajustes a los valores por defecto para borrar posibles malas configuraciones previas.
- Revisa los permisos de las carpetas wp-admin, wp-includes y wp-content para comprobar que sean 755 y si no fuera así cámbialos. Intenta entrar.
- Desactiva la CDN, si tuvieses algún servicio de este tipo activo y prueba a entrar.
- Abre tu archivo wp-config.php y cambia las claves únicas de autentificación (las salt cookies) obteniendo unas nuevas desde https://api.wordpress.org/secret-key/1.1/salt/. Guarda los cambios y vuelve a entrar.
- Podría también ser un problema similar al de redirección infinita de WordPress Multisitio así que añade lo siguiente al archivo wp-config.php, guarda los cambios y vuelve a intentar entrar.
define('ADMIN_COOKIE_PATH', '/'); define('COOKIE_DOMAIN', ''); define('COOKIEPATH', ''); define('SITECOOKIEPATH', '');
- Revisa tu plugin de utilidades y el archivo functions.php del tema activo para comprobar que no haya activa alguna redirección personalizada activa. Si la encuentras borra o comenta las líneas que la activan.
- Revisa el archivo .htaccess y comprueba si algún plugin de seguridad ha añadido alguna línea que genere una redirección tras acceder a la administración y la borras o comentas. Ante la duda renombra o borra el archivo .htaccess (recuerda guardar una copia de seguridad antes) e inténtalo de nuevo.
- Si recientemente has activado la versión HTTPS de tu sitio revisa cada cambio realizado para conseguirlo y reviértelo a los valores por defecto (líneas de código en .htaccess o wp-config.php, cambio de URLs de sitio y WordPress, etc.)
- Accede a tu base de datos mediante PHPMyAdmin desde el panel de tu hosting y localiza la tablawp_options (o loquesea_options) y revisa que las URLs de sitio y WordPress tienen los valores correctos.
- En PHPMyAdmin revisa que los tamaños de las tablas sean correctos. Ante la duda selecciona las tablas principales de WordPress optimízalas y repáralas.
- Desde PHPMyAdmin localiza la tabla wp_usermeta (o loquesea_usermeta si, no usas el prefijo wp_). Ahora busca las filas con el título de session_token y borra todos los valores que contengan.
- … Y si no lo consigues con ninguno de los trucos anteriores no te queda otra; restaura una copia de seguridad de tu sitio, base de datos incluida, del día anterior a que empezó el fallo de redirección que nos trae por el camino de la amargura.
Este es un error puñetero que, afortunadamente, no es muy habitual pero cuando surge es bastante engorroso hasta que das con lo que lo está provocando. Pero con un poco de paciencia acaba apareciendo.
A mi me ha pasado una vez en este sitio y ahora que lo pienso en algún caso con páginas de cliente y (casi) siempre lo he solucionado con alguno de los trucos aquí expuestos. Y sino siempre queda recurrir a las benditas copias de seguridad (cosa imprescindible tener siempre a mano por lo que pueda pasar).
Con esto espero haber respondido a la cuestión que se me ha plantado estos días, pero diré que todo esto no es nada de mi invención ya que en internet hay un montón de páginas que recomiendan hacer todo esto, como se puede ver la página que señalo como «fuente».
2 Comentarios
A mi me estaba fastidiando un plugin de comentarios. Elimine el plugin por ftp y solucione el problema, Algun plugin de comentarios recomendado?
google es tu amigo :)