Icono del sitio imacreste.com

Cambiar la URL de wp-admin en WordPress para mejorar la seguridad

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.

¿Por qué cambiar la URL de wp-admin?

  1. 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.
  2. 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.
  3. 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.

Compartir entrada:
Salir de la versión móvil