Si tienes una página creada con WordPress seguramente has sufrido multitud de intentos de acceso a tu panel de administración. En mi caso, a pesar de tener un plugin que bloqueaba la IP tras unos cuantos intentos fallidos, la solución fue renombrar el archivo wp-login.php a través del cual accedemos al panel de administración. En este post explicaré como renombrar dicho archivo y citaré dos plugins, en mi opinión imprescindibles, para blindar tu blog de ataques maliciosos.
Renombrar el archivo wp-login.php
Antes de comenzar haz un backup de tu WordPress, por si las moscas, aunque adelanto que sólo es necesario modificar dos archivos.
En primer lugar nos dirigimos a la carpeta raíz donde está instalado WordPress y renombramos el archivo wp-login.php por el nombre que queramos, a ser posible que no incluya la palabra login, admin, root, etc. En este ejemplo lo renombramos a ejemplo.php
Ahora debemos editar el antiguo archivo wp-login.php que ahora se llama ejemplo.php (cada uno el nombre que haya escrito) sustityendo en el código wp-login.php por el nuevo nombre que le hayamos dado, en nuestro caso ejemplo.php Para evitar errores utilizar la opción reemplazar de cualquier editor de texto. (Yo utilizo PSPad que es gratuito)
A continuación editaremos el segundo archivo, general-template.php que se encuentra en la carpeta wp-includes. Abrimos el archivo y buscamos el siguiente texto function wp_login_url (línea 263), sustituimos wp-login.php por ../ después comentamos el interior de la función (los comentarios en php comienzan con /* y se cierran con */ ) de forma que nos quedaría el siguiente código:
function wp_login_url($redirect = '', $force_reauth = false) {
$login_url = site_url('../', 'login');
//Aquí iniciamos el comentario
/*if ( !empty($redirect) )
$login_url = add_query_arg('redirect_to', urlencode($redirect), $login_url);
if ( $force_reauth )
$login_url = add_query_arg('reauth', '1', $login_url);*/
//Aquí finaliza el comentario
return apply_filters('login_url', $login_url, $redirect);
}
Por último, en el archivo general-template.php, igual que hicimos anteriormente, deberemos sustituir donde ponga wp-login.php por el nombre que le hayamos dado al archivo, que en este ejemplo es ejemplo.php
Una vez hecho esto, ya está todo listo. Para acceder a nuestro panel de administración nos dirigiremos a http://www.nombredenuestraweb/ejemplo.php (sustituyendo ejemplo.php por el nombre que le hayáis dado a vuestro antiguo archivo wp-login.php)
Nota: Acordaros cuando actualicéis WordPress de que habéis modificado esos dos archivos. Para evitar errores, lo mejor es volver a subir los archivos originales, y actualizar wordpress. En caso de que se hayan modificado esos archivos en la actualización, volver a realizar los cambios en el código.
Un plugin imprescindible para la seguridad en nuestro WordPress es el Better WP security con un montón de funcionalidades, desde configurarlo para realizar un backup periódico de la base de datos, hasta bloquear IPs de forma automática tras un número X de intentos de acceso o de error 404. Otro plugin que no puede faltar es el WordPress Firewall, que bloquea de forma automática cambios sospechosos en nuestro WP, y podemos configurarlo para que nos avise por e-mail (a veces es necesario desactivarlo para realizar cambios en WP).
Artículo actualizado para la versión WordPress 3.7
Hola Miguel,
Antes de nada muchas gracias por tu aporte, anda buscando exáctamente realizar esto sin plugins. He seguido tus pasos pero cuando introduzco el usuario de administración o de cualquier otro usuario, recibo el mensaje «Esta página web tiene un bucle de redireccionamiento» y por tanto no entra en el panel. Sabes si hoy en día sigue funcionando este método???? Muchas gracias de ante mano!
Ya está solucionado! Por algún motivo no se habían cambiado los wp-login de ese archivo por el nuevo nombre. Gracias por el aporte!!
Hola Angel,
me alegro de que lo hayas solucionado, gracias a ti por tu comentario.
Muchas Gracias es el primer blog que me soluciona ese problema sin la necesidad de usar plugin gracias
Disculpa una duda se podra poner la ruta sin el .php al final? gracias 🙂
Hola Sebastian,
si no añades el .php al final te devolverá un 404.
Hola, en primer lugar gracias por el aporte.
He seguido todos los pasos que apuntas, pero ahora puedo acceder, bien por wp-admin, bien por el nuevo nombre que elegí.
No se que debo haber hecho mal, a ver si me puedes dar una pista, gracias.
Hola Nacho,
voy a revisar el código a ver donde se pinta ahora la ruta de wp-admin, porque desde que escribí el post hubo cambios en el archivo general-template.php y wp-login.php, de todos modos, si no se puede acceder mediante wp-login.php ya conseguirás evitar muchos ataques. Ten en cuenta que si tienes las actualizaciones automáticas activadas, cada vez que WordPress se actualice volverá a crear el archivo wp-login.php y tendrás que repetir los pasos para renombrar el archivo.
Hay algún plugin que cambie estas URL automáticamente?
Hola Jorge,
puedes hacerlo también con este plugin http://wordpress.org/plugins/rename-wp-login/ (yo no lo he probado pero los comentarios son positivos)
Mil gracias, me ha sido de gran ayuda
Me alegro de que te haya sido útil. En mi caso renombrar el archivo wp-admin.php fue la solución contra los intentos de acceso. Un saludo!