WordPress: Cómo ocultar la versión y los errores de login
WordPress es, con diferencia, el gestor de contenidos más utilizado del planeta. Esa misma popularidad lo convierte en un objetivo principal para ataques automatizados y bots maliciosos que rastrean la web en busca de vulnerabilidades. Dos de las "pistas" más fáciles que un atacante puede encontrar son la versión exacta de tu WordPress y los mensajes de error del formulario de acceso. Ocultar esta información es una capa básica pero esencial de hardening WordPress. No te preocupes, no necesitas ser un experto en programación para hacerlo. En esta guía, paso a paso y sin tecnicismos, te enseñaré a tapar estos agujeros de información y a blindar tu panel de login.
¿Por qué es tan importante ocultar la versión de WordPress?
Imagina que tu casa tiene una alarma, pero dejas una nota en la puerta indicando la marca y el modelo de la misma. Un ladrón experto sabrá exactamente cómo desactivarla. Con WordPress ocurre algo similar. Si un atacante sabe que estás usando la versión 5.2.3 (por ejemplo) y esa versión tiene una vulnerabilidad conocida, buscará explotarla directamente. Ocultar versión WordPress no hace tu web invulnerable, pero elimina la información gratuita que facilita el trabajo a los bots.
Esta información se filtra de varias maneras, pero las más comunes son:
- En el código fuente: El generador de metadatos (
<meta name="generator" content="WordPress 6.4.2" />) es un letrero luminoso. - En los scripts y hojas de estilo (CSS): Las URLs de los archivos suelen incluir la versión:
.../style.css?ver=6.4.2. - En el pie de página (si usas un tema mal configurado).
Eliminar estas trazas no es complicado. Vamos a ello.
Método 1: La forma sencilla con un plugin (Recomendado para principiantes)
Si no te sientes cómodo editando archivos, esta es tu opción. Un plugin hace el trabajo sucio por ti. Mi recomendación es un plugin ligero y de confianza llamado "WP Hide & Security Enhancer" o, si prefieres algo más simple, "Remove WP Version". Cualquiera de los dos sirve.
Pasos para hacerlo con plugin:
- Ve a tu escritorio de WordPress: Plugins → Añadir nuevo.
- En el buscador, escribe "hide wordpress version".
- Instala y activa el que más te guste (te sugiero el primero de la lista).
- Una vez activado, ve a Ajustes (o Configuración) y busca el panel del plugin.
- Activa la opción que dice "Eliminar versión del generador" o similar. Guarda los cambios.
Listo. Con esto, el metadato del generador desaparecerá. Algunos plugins avanzados también eliminan el ?ver= de los scripts, pero eso puede romper la caché de tu navegador. No te obsesiones con eso; lo principal es el meta tag.
[TIP] Los plugins añaden peso a tu web. Si solo quieres ocultar la versión y no necesitas nada más, el método manual con código (el siguiente) es mucho más eficiente y rápido.
Método 2: La forma manual con código (Para los que quieren control total)
Este método es más limpio porque no instala nada extra. Solo añadiremos un pequeño fragmento de código al archivo de funciones de tu tema (el famoso functions.php). No temas, es más fácil de lo que parece.
Pasos para hacerlo con código:
- Accede a tu panel de WordPress: Apariencia → Editor de archivos de tema.
- En la columna derecha, busca y haz clic en
functions.php. - Al final del archivo (después de la última línea), añade el siguiente código:
// Eliminar la versión de WordPress del generador de metadatos
remove_action('wp_head', 'wp_generator');
// Eliminar la versión de los scripts y estilos
function eliminar_ver_scripts($src) {
if (strpos($src, 'ver=')) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
add_filter('style_loader_src', 'eliminar_ver_scripts', 9999);
add_filter('script_loader_src', 'eliminar_ver_scripts', 9999);
- Haz clic en Actualizar archivo.
[WARNING] Antes de editar
functions.php, haz una copia de seguridad del archivo o usa un plugin de respaldo. Un error de sintaxis aquí puede mostrar un error fatal en tu web. Si ocurre, no te asustes: accede a tu hosting por FTP y borra la última línea que añadiste.
Blindando el acceso: Cómo ocultar los errores de login de WordPress
Ahora pasemos a la puerta de entrada: el formulario de acceso. Por defecto, WordPress es muy "charlatán". Si pones un usuario incorrecto, te dice: "Usuario incorrecto". Si pones el usuario bien y la contraseña mal, te dice: "La contraseña que has introducido para el usuario X es incorrecta". Parece inofensivo, pero es oro puro para un atacante.
Con esos mensajes, el atacante sabe si un usuario existe o no. Si el mensaje dice "contraseña incorrecta", significa que ha acertado el nombre de usuario (que suele ser "admin"). Solo le falta la contraseña. Ocultar errores login WordPress convierte esa información en un mensaje genérico que no revela nada.
El mensaje de error genérico (El cambio más importante)
Este es el cambio más sencillo y efectivo. Vamos a hacer que WordPress muestre siempre el mismo error, sin importar si el fallo es el usuario o la contraseña.
Pasos para ocultar los errores de login:
- Ve de nuevo a
functions.php(Apariencia → Editor de archivos de tema). - Añade este código al final:
// Cambiar el mensaje de error de login para no dar pistas
function login_error_generico() {
return 'Credenciales incorrectas. Por favor, revisa tu usuario y contraseña.';
}
add_filter('login_errors', 'login_error_generico');
- Actualiza el archivo.
Ahora, tanto si fallas el usuario como la contraseña, verás el mismo mensaje. El atacante no sabrá si el usuario existe.
Ocultar la pista de "¿Has olvidado tu contraseña?" y el enlace "Volver a la web"
Estos pequeños enlaces parecen inofensivos, pero también dan pistas. El enlace de "¿Olvidaste tu contraseña?" te lleva a una página que confirma si el correo existe. Bloquearlo es complicado sin romper la funcionalidad, pero podemos hacer que el enlace no sea visible para bots.
La solución más elegante es redirigir ese enlace a la página principal:
// Redirigir el enlace de "¿Olvidaste tu contraseña?" a la home
add_filter('login_errors', function() {
return 'Error de acceso. Por favor, inténtalo de nuevo.';
});
function redirigir_olvide_password() {
return home_url('/');
}
add_filter('lost_password_url', 'redirigir_olvide_password');
Con este código, si alguien hace clic en "¿Olvidaste tu contraseña?", será llevado a tu página de inicio en lugar de a la página de recuperación. Esto no impide que un usuario legítimo recupere su contraseña, pero sí confunde a los bots.
[INFO] Los bots no hacen clic en los enlaces como un humano, sino que analizan el HTML. Al cambiar la URL del enlace a la home, el bot ya no ve una ruta clara hacia el formulario de recuperación de contraseña.
Medidas extra de hardening WordPress para el login
Ya hemos tapado lo básico. Ahora vamos a añadir un par de capas más de seguridad para que tu login sea una fortaleza.
1. Limitar los intentos de acceso (El cortafuegos de tu login)
Esta es, posiblemente, la medida más efectiva de todas. Consiste en bloquear temporalmente la IP de un usuario después de varios intentos fallidos. Esto detiene los ataques de fuerza bruta (donde un bot prueba miles de contraseñas por minuto).
La forma más fácil es con un plugin llamado "Limit Login Attempts Reloaded".
- Ve a Plugins → Añadir nuevo y busca "limit login attempts reloaded".
- Instálalo y actívalo.
- Ve a Ajustes → Limit Login Attempts.
- Configúralo así:
- Intentos permitidos: 3 o 4.
- Tiempo de bloqueo: 15 minutos (para empezar).
- Bloqueo por IP: Actívalo.
- Guarda los cambios.
A partir de ahora, si alguien falla 3 veces, su IP será bloqueada temporalmente. Los bots maliciosos se cansarán y pasarán a otra web.
[WARNING] Ten cuidado con no bloquearte a ti mismo. Si tu IP es dinámica (cambia cada cierto tiempo), es posible que te bloquees sin querer. Si te pasa, espera 15 minutos o contacta con tu proveedor de hosting para que desbloquee tu IP.
2. Cambiar la URL de acceso (Seguridad por oscuridad)
Otra medida popular es cambiar la URL de wp-admin o wp-login.php a otra dirección personalizada. Por ejemplo, en lugar de tudominio.com/wp-login.php, usar tudominio.com/acceso-privado.
La forma más segura de hacerlo es con un plugin como "WPS Hide Login".
- Instala y activa el plugin "WPS Hide Login".
- Ve a Ajustes → WPS Hide Login.
- En el campo "URL de acceso", escribe la nueva dirección (por ejemplo:
mi-acceso). - Guarda los cambios.
Ahora, si alguien intenta acceder a wp-login.php, será redirigido a una página de error 404 (página no encontrada). Esto oculta completamente la puerta de entrada.
[INFO] Este método no es infalible, ya que un atacante muy determinado puede encontrar la URL en los logs del servidor, pero disuade al 99% de los bots y script kiddies.
Preguntas Frecuentes (FAQ) sobre seguridad en WordPress
Aquí te resuelvo las dudas más comunes que me suelen llegar al soporte.
¿Es ilegal ocultar la versión de WordPress?
No, para nada. Es tu sitio web y tienes todo el derecho a ocultar información técnica que no aporta valor a tus visitantes. Es una práctica estándar de hardening WordPress.
¿Puedo romper mi web si edito el functions.php?
Sí, es posible. Un error de sintaxis (una coma de más, un paréntesis sin cerrar) puede provocar un error fatal. Por eso es obligatorio hacer una copia de seguridad antes de editar. Si no te sientes seguro, usa un plugin.
¿Qué hago si me he bloqueado a mí mismo con el plugin de intentos de acceso?
La mayoría de estos plugins guardan los bloqueos en la base de datos o en archivos de caché. Si no puedes acceder, contacta con tu proveedor de hosting (por ejemplo, si tienes un panel como Syspanel, recuerda que el acceso a tu panel de control es a través del puerto 2106) y pídeles que desactiven el plugin o eliminen el registro de bloqueo.
¿Debo cambiar la URL de acceso con "WPS Hide Login"?
Es recomendable, pero no es obligatorio. Si combinas el cambio de URL con la limitación de intentos y los errores genéricos, tendrás una seguridad muy robusta. Si solo quieres hacer lo mínimo, prioriza la limitación de intentos.
¿Estos cambios afectan al SEO de mi web?
No, en absoluto. Ocultar la versión y los errores de login no tiene ningún impacto negativo en tu posicionamiento. Al contrario, Google valora positivamente los sitios seguros, así que indirectamente puede ayudar.
¿Qué más puedo hacer para proteger mi WordPress?
Además de lo mencionado, te recomiendo:
- Usar contraseñas largas y únicas (y un gestor de contraseñas).
- Mantener WordPress, temas y plugins siempre actualizados.
- Instalar un plugin de seguridad completo como Wordfence o iThemes Security.
- Activar la autenticación de dos factores (2FA) para el acceso de administradores.
Conclusión: Tu WordPress, tu fortaleza
Proteger tu WordPress no es un lujo, es una necesidad. Ocultar la versión y los errores de login es el primer paso, el más fácil y el más gratificante. No necesitas ser un hacker para hacerlo; con un par de clics y un poco de código, has elevado la seguridad de tu web por encima del promedio.
Recuerda que la seguridad es un proceso, no un destino. Empieza por estos pasos, añade la limitación de intentos y, poco a poco, irás construyendo un sitio mucho más difícil de vulnerar. Si en algún momento te sientes perdido, no dudes en contactar con tu soporte de hosting; para eso estamos. Y si tu hosting usa Syspanel, ya sabes: el acceso al panel es por el puerto 2106, donde también podrás gestionar copias de seguridad y certificados SSL.
Ahora sí, manos a la obra. Tu WordPress te lo agradecerá.
