La gran virtud de WordPress es a su vez su gran defecto: su popularidad. Al ser tan utilizado, los ataques dirigidos a vulnerabilidades comunes son frecuentes. Si bien mantener el sitio actualizado y contar con un sistema de copias de seguridad son pasos fundamentales, cambiar la URL de wp-admin puede añadir una capa extra de seguridad a tu sitio.
¿Cómo puedo ayudarte a conseguir más clientes online?
- A corto plazo (Publicidad en Google, Facebook, e Instagram).
- A medio plazo (SEO local).
- A largo plazo (Posicionó tu web).
- Diseño página web, tienda online o landing page, si es necesario.
- Herramientas de seguimiento y medición.
- Diversificación: Marketing de contenidos, mail marketing, redes sociales, alta en directorios, etc.
- Automatiza con IA: Optimiza tareas y aumenta tu productividad.
¿Por qué cambiar la URL de wp-admin?
- Seguridad aumentada: Al cambiar la URL de acceso al administrador, reduces las posibilidades de que los atacantes encuentren fácilmente la puerta de entrada a tu sitio.
- Prevención de ataques de fuerza bruta: Los bots que intentan ingresar a tu sitio suelen buscar la URL estándar de wp-admin. Al cambiarla, dificultas estos intentos.
- Tranquilidad adicional: Aunque no es una medida infalible, junto con otras prácticas de seguridad, contribuye a la tranquilidad del administrador del sitio.
Cómo cambiar la URL de wp-admin
Paso 1: Redirigir wp-admin a una nueva URL
Para redirigir la URL de wp-admin, añadimos el siguiente código al archivo functions.php
de tu tema:
function seguridad_admin() {
$clave = '?MICLAVE';
$url_pral = 'http://'.$_SERVER['HTTP_HOST'].'/'.'wp-login.php'.'?'.$_SERVER['QUERY_STRING'];
$mi_hosts = array('imacreste.com');
if (!isset($_SERVER['HTTP_HOST']) || !in_array($_SERVER['HTTP_HOST'], $mi_hosts)) {
header($_SERVER['SERVER_PROTOCOL'] . ' Error 404');
exit;
}
if (site_url('/wp-login.php'.$clave) == $url_pral) {
// URL coincide
} else {
header('Location: http://' . $_SERVER['HTTP_HOST'] . '/');
}
}
add_action('login_head', 'seguridad_admin');
Paso 2: Solucionar Problemas de recordar contraseña
El código anterior tiene un inconveniente: deshabilita la función de recordar contraseña. Podemos solucionarlo con el siguiente código:
function contra_perdida($lostpassword_url, $redirect = "lostpassword") {
return home_url().'/wp-login.php?MICLAVE&action=' . $redirect;
}
add_filter('lostpassword_url', 'contra_perdida');
function redirigir_despues_recordar() {
if ($_SERVER['REQUEST_URI'] == '/wp-login.php?checkemail=registered') {
wp_redirect(home_url().'/wp-login.php?MICLAVE&checkemail=registered');
exit;
}
}
add_action('login_head', 'redirigir_despues_recordar');
Código completo a poner en functions.php
Aquí tienes el código completo que debes añadir a tu archivo functions.php
:
function seguridad_admin() {
$clave = '?MICLAVE';
$url_pral = 'http://'.$_SERVER['HTTP_HOST'].'/'.'wp-login.php'.'?'.$_SERVER['QUERY_STRING'];
$mi_hosts = array('imacreste.com');
if (!isset($_SERVER['HTTP_HOST']) || !in_array($_SERVER['HTTP_HOST'], $mi_hosts)) {
header($_SERVER['SERVER_PROTOCOL'] . ' Error 404');
exit;
}
if (site_url('/wp-login.php?'.$clave.'&checkemail=confirm') == $url_pral) {
return home_url().'/wp-login.php?checkemail=confirm';
}
if (site_url('/wp-login.php?'.$clave.'&action=lostpassword') == $url_pral) {
return home_url().'/wp-login.php?action=lostpassword';
}
if (site_url('/wp-login.php'.$clave) == $url_pral) {
// URL coincide
} else {
header('Location: http://' . $_SERVER['HTTP_HOST'] . '/');
}
}
add_action('login_head', 'seguridad_admin');
function contra_perdida($lostpassword_url, $redirect = "lostpassword") {
return home_url().'/wp-login.php?MICLAVE&action=' . $redirect;
}
add_filter('lostpassword_url', 'contra_perdida');
function redirigir_despues_recordar() {
if ($_SERVER['REQUEST_URI'] == '/wp-login.php?checkemail=registered') {
wp_redirect(home_url().'/wp-login.php?MICLAVE&checkemail=registered');
exit;
}
}
add_action('login_head', 'redirigir_despues_recordar');
Conclusión
Cambiar la URL de wp-admin en WordPress es una medida simple pero efectiva para mejorar la seguridad de tu sitio. Aunque no sustituye otras prácticas de seguridad como mantener el sitio actualizado o realizar copias de seguridad regulares, proporciona una capa adicional de protección. Implementar este cambio requiere solo unos pocos pasos y puede ahorrar muchos problemas en el futuro.
Comentarios