15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar
21.10.2024
7 +1

Cómo usar WPS Hide Login para proteger la página de administración de WordPress

Las URL de inicio de sesión predeterminadas de WordPress — yoursite.com/wp-admin y yoursite.com/wp-login.php — son de conocimiento público, lo que las convierte en el primer objetivo en campañas automatizadas de fuerza bruta y ataques de relleno de credenciales. WPS Hide Login es un plugin ligero de WordPress que reemplaza estos endpoints predecibles con una URL personalizada de su elección, de modo que las solicitudes no autenticadas a las rutas originales son redirigidas silenciosamente en lugar de mostrar un formulario de inicio de sesión.

Esta guía cubre la instalación completa, configuración, procedimiento de recuperación y estrategia de seguridad por capas para WPS Hide Login — incluyendo casos técnicos extremos que la mayoría de los tutoriales omiten.

Por qué es importante cambiar la URL de inicio de sesión predeterminada

La seguridad por oscuridad no es una defensa completa por sí sola, pero es una primera capa legítima y medible. Cuando los bots no pueden encontrar un formulario de inicio de sesión, no pueden enviar credenciales contra él. Los estudios de registros de firewall a nivel de alojamiento muestran consistentemente que /wp-login.php y /wp-admin representan la gran mayoría de los eventos HTTP 403/429 de WordPress — a menudo miles de solicitudes por día incluso en sitios modestos.

Cambiar la URL de inicio de sesión elimina esta superficie de ataque sin ningún costo de rendimiento. Combinado con contraseñas seguras, autenticación de dos factores y un firewall de aplicaciones web, aumenta significativamente el esfuerzo requerido para una intrusión exitosa.

Si está ejecutando WordPress en un entorno de VPS Hosting, puede reforzar esto a nivel de servidor con directivas deny de Nginx o reglas .htaccess de Apache además del plugin — una combinación que se trata más adelante en este artículo.

Capas de seguridad: WPS Hide Login vs. enfoques alternativos

Antes de profundizar en la configuración, es útil entender dónde se sitúa WPS Hide Login en relación con otras técnicas de refuerzo.

MétodoBloquea botsRequiere acceso al servidorImpacto en el rendimientoComplejidad
WPS Hide Login (ofuscación de URL)Sí (escáneres automatizados)NoInsignificanteMuy baja
HTTP Basic Auth en `/wp-admin`Sí (`.htaccess`)InsignificanteBaja
Lista de IP permitidas para la página de inicio de sesiónSí (más efectivo)Sí (firewall/Nginx)NingunoMedia
Plugin de autenticación de dos factoresNo (sigue mostrando el formulario)NoInsignificanteBaja
Firewall de aplicaciones web (Wordfence, Cloudflare)No / ParcialBaja–MediaMedia
Fail2Ban / limitación de velocidad a nivel de servidorNingunoMedia–Alta

WPS Hide Login es más efectivo cuando se combina con al menos uno de los controles a nivel de servidor de esta tabla. No es un sustituto de credenciales seguras o un WAF, pero elimina los objetivos fáciles en los que se basan las herramientas automatizadas.

Paso 1: Instalar el plugin WPS Hide Login

  1. Inicie sesión en su panel de control de WordPress.
  2. Navegue a Plugins > Añadir nuevo.
  3. En el campo de búsqueda, escriba WPS Hide Login.
  4. Haga clic en Instalar ahora junto al plugin publicado por WPServeur, nofearinc y Beee.
  5. Haga clic en Activar una vez que la instalación se complete.

Consejo de verificación: Después de la activación, confirme que el plugin aparece como activo en Plugins > Plugins instalados. El plugin no añade cambios visibles en el front-end en esta etapa — la configuración ocurre completamente en el panel de ajustes.

Paso 2: Configurar el plugin

Después de la activación, el plugin inyecta sus ajustes en la parte inferior de la página Ajustes > Generales en lugar de crear un elemento de menú dedicado. Esto es intencional — mantiene la configuración con un perfil bajo.

  1. Vaya a Ajustes > Generales en su panel de control de WordPress.
  2. Desplácese hasta la sección WPS Hide Login cerca de la parte inferior de la página.

Elegir una URL de inicio de sesión segura

En el campo URL de inicio de sesión, reemplace el valor predeterminado con una ruta personalizada. Trátela como una contraseña secundaria: debe ser no-diccionario, no obvia y no derivada del nombre de su marca.

Opciones débiles a evitar:

  • /mylogin
  • /admin-login
  • /wp-login-new
  • /login

Mejores opciones:

  • Una cadena alfanumérica aleatoria: /a7f3kx91
  • Una ruta estilo frase de contraseña: /morning-circuit-deploy
  • Una ruta que imita una página legítima: /resources/team-portal

La URL distingue entre mayúsculas y minúsculas en servidores basados en Linux (lo que incluye prácticamente todos los Servidores Dedicados e instancias VPS que ejecutan Ubuntu o CentOS). /MyLogin y /mylogin se tratan como rutas diferentes.

Configurar la URL de redirección

El campo URL de redirección determina a dónde se envía a los usuarios cuando intentan acceder directamente a /wp-login.php o /wp-admin. Elija esto deliberadamente:

  • Redirigir a su página de inicio (/): Neutral, no revela nada al atacante.
  • Redirigir a una página 404 personalizada: Indica que el recurso no existe, lo cual es técnicamente correcto y desalienta el sondeo adicional.
  • Redirigir a una página honeypot: Técnica avanzada — redirigir a una página que registra la IP del visitante para su análisis.

Evite redirigir a una página que contenga un mensaje visible de “Acceso denegado”, ya que esto confirma al atacante que existe una página de inicio de sesión en algún lugar del sitio.

  1. Haga clic en Guardar cambios.

Paso 3: Iniciar sesión usando su nueva URL de inicio de sesión

Después de guardar, los endpoints de inicio de sesión originales se desactivan inmediatamente. Cualquier solicitud a /wp-login.php o /wp-admin redirigirá a la URL que especificó.

Para acceder a su panel de control:

  1. Navegue a https://yoursite.com/your-custom-path en su navegador.
  2. Ingrese sus credenciales de WordPress normalmente.
  3. El panel de control se carga sin ninguna diferencia visible en el comportamiento.

Importante: Los flujos integrados de WordPress de “¿Olvidó su contraseña?” y registro de usuarios también usan /wp-login.php internamente. WPS Hide Login los maneja correctamente reescribiendo las URL de acción del formulario relevantes — pero verifique que esto funcione en su tema específico y pila de plugins antes de implementar en producción.

Paso 4: Marque la nueva URL de inicio de sesión como favorita inmediatamente

Este paso es operacionalmente crítico. Marque la nueva URL como favorita en su navegador y guárdela en su gestor de contraseñas junto con sus credenciales. Si administra múltiples instalaciones de WordPress, documente la URL personalizada en su manual interno o bóveda de secretos.

No confíe en la memoria. El proceso de recuperación para una URL de inicio de sesión personalizada olvidada requiere acceso al sistema de archivos, lo cual es disruptivo en un entorno de producción.

Paso 5: Probar todas las rutas de redirección

Las pruebas deben ser sistemáticas. Abra una ventana de navegador privada/incógnito (para evitar datos de sesión en caché) y verifique cada uno de los siguientes:

  • https://yoursite.com/wp-login.php — debe redirigir a su URL especificada, no mostrar un formulario de inicio de sesión.
  • https://yoursite.com/wp-admin — debe redirigir, no mostrar un formulario de inicio de sesión ni el panel de control.
  • https://yoursite.com/wp-admin/admin-ajax.php — este endpoint debe permanecer accesible; WPS Hide Login lo exime correctamente de la redirección para evitar romper plugins dependientes de AJAX.
  • https://yoursite.com/your-custom-path — debe mostrar el formulario de inicio de sesión de WordPress correctamente.
  • Enlaces de correo electrónico para restablecer contraseña — active un restablecimiento de contraseña y confirme que el enlace en el correo electrónico se enruta a través de su ruta de inicio de sesión personalizada, no la original.

Si admin-ajax.php está bloqueado, verá funcionalidad front-end rota en temas y plugins que dependen de llamadas AJAX. Este es un caso extremo conocido al combinar WPS Hide Login con caché agresivo o reglas personalizadas de Nginx.

Paso 6: Refuerzo a nivel de servidor (recomendado)

Para entornos donde tiene acceso al servidor, añada un bloqueo estricto en la capa del servidor web para que incluso si el plugin se desactiva, las rutas predeterminadas permanezcan protegidas.

Nginx — añadir dentro de su bloque server {}:

location = /wp-login.php {
    return 301 https://yoursite.com/;
}

location ^~ /wp-admin/ {
    # Allow admin-ajax.php for front-end AJAX
    location = /wp-admin/admin-ajax.php {
        try_files $uri =404;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    return 301 https://yoursite.com/;
}

Apache — añadir a su archivo .htaccess por encima del bloque de reescritura de WordPress:

<FilesMatch "^wp-login.php$">
    Order Deny,Allow
    Deny from all
</FilesMatch>

Estas reglas operan independientemente de WordPress y PHP, lo que significa que interceptan las solicitudes antes de que WordPress arranque — una ventaja significativa de rendimiento y seguridad.

Paso 7: Combinar con plugins de seguridad complementarios

WPS Hide Login aborda la detectabilidad de URL. No protege contra:

  • Ataques de credenciales a través del endpoint XML-RPC (/xmlrpc.php)
  • Vulnerabilidades en temas o plugins
  • Ataques autenticados desde cuentas comprometidas

Combínelo con lo siguiente:

  • Limit Login Attempts Reloaded: Aplica políticas de bloqueo después de un número configurable de intentos fallidos. Funciona en su URL de inicio de sesión personalizada, no solo en la predeterminada.
  • Wordfence Security: Proporciona un firewall en modo de aprendizaje, fuente de inteligencia de amenazas en tiempo real y monitoreo de integridad de archivos. Su módulo de autenticación de dos factores es particularmente valioso.
  • Disable XML-RPC: Si no utiliza la aplicación móvil de WordPress o Jetpack, deshabilite /xmlrpc.php completamente — es un vector de fuerza bruta separado que WPS Hide Login no aborda.
  • WP 2FA: Añade autenticación de contraseña de un solo uso basada en tiempo (TOTP) como segundo factor, haciendo que el robo de credenciales por sí solo sea insuficiente para el acceso.

Si su sitio está alojado en un plan con VPS con cPanel, también puede configurar reglas de ModSecurity a nivel de servidor para limitar la velocidad de los intentos de inicio de sesión independientemente de los plugins de WordPress.

Cómo recuperar el acceso si olvida la URL de inicio de sesión personalizada

Este es el escenario operacionalmente más delicado. Si pierde la URL de inicio de sesión personalizada y no puede acceder al panel de control, el plugin debe deshabilitarse a nivel del sistema de archivos.

Método 1: Administrador de archivos a través del panel de control de alojamiento

  1. Inicie sesión en su panel de control de alojamiento (cPanel, Plesk o equivalente).
  2. Abra el Administrador de archivos y navegue a /wp-content/plugins/.
  3. Cambie el nombre de la carpeta wps-hide-login a wps-hide-login-disabled.
  4. WordPress desactivará automáticamente el plugin porque el nombre de la carpeta ya no coincide.
  5. Acceda a su sitio a través de yoursite.com/wp-login.php — la URL predeterminada está activa nuevamente.
  6. Inicie sesión, recupere o restablezca la configuración de su URL personalizada, luego cambie el nombre de la carpeta de vuelta a wps-hide-login para reactivar.

Método 2: Acceso FTP/SFTP

# Connect via SFTP (replace with your actual credentials)
sftp user@yoursite.com

# Navigate to the plugins directory
cd /public_html/wp-content/plugins/

# Rename the plugin folder to deactivate it
rename wps-hide-login wps-hide-login-disabled

Método 3: WP-CLI (si está disponible en su servidor)

Si su entorno de alojamiento admite WP-CLI — común en planes de VPS Hosting y servidores administrados — este es el método de recuperación más rápido:

# Deactivate the plugin from the command line
wp plugin deactivate wps-hide-login --path=/var/www/html

# Confirm it is deactivated
wp plugin list --path=/var/www/html

Después de iniciar sesión a través de la URL predeterminada restaurada, reactive el plugin desde el panel de control y reconfigure su ruta personalizada.

Método 4: Edición directa de la base de datos

Como último recurso, puede eliminar la opción almacenada del plugin directamente en la base de datos. Esto es apropiado cuando el acceso al sistema de archivos no está disponible pero el acceso a la base de datos (a través de phpMyAdmin o MySQL CLI) sí lo está.

-- Remove WPS Hide Login configuration from wp_options
DELETE FROM wp_options WHERE option_name = 'whl_page';
DELETE FROM wp_options WHERE option_name = 'whl_redirect';

Después de ejecutar estas consultas, el plugin revertirá al comportamiento predeterminado (sin ocultamiento de URL) incluso mientras sigue técnicamente activo, lo que le permite iniciar sesión a través de /wp-login.php.

Posibles inconvenientes y casos extremos

Conflictos de caché: Los plugins de caché de página completa (WP Rocket, W3 Total Cache, LiteSpeed Cache) pueden almacenar en caché la respuesta de redirección para la antigua URL de inicio de sesión. Después de configurar WPS Hide Login, purgue todos los cachés y verifique que la redirección no se esté sirviendo desde caché con un destino incorrecto.

Consideraciones sobre CDN y proxy inverso: Si su sitio está detrás de Cloudflare u otro proxy inverso, asegúrese de que /wp-login.php y /wp-admin no estén almacenados en caché en la capa CDN. Estas rutas siempre deben omitir el caché. La regla predeterminada de Cloudflare “Omitir caché en cookie” maneja esto para la mayoría de las configuraciones de WordPress, pero verifíquelo explícitamente.

Instalaciones multisitio: WPS Hide Login tiene compatibilidad limitada con redes WordPress Multisitio. En multisitio basado en subdominios, la URL de inicio de sesión de cada subsitio debe gestionarse cuidadosamente. Pruebe exhaustivamente en un entorno de pruebas antes de implementar en una red multisitio de producción.

Conflictos de plugins: Algunos plugins de membresía, plataformas de comercio electrónico (la página “Mi cuenta” de WooCommerce) y plugins LMS generan sus propios formularios de inicio de sesión que publican directamente en /wp-login.php. Después de habilitar WPS Hide Login, audite todos los formularios de inicio de sesión personalizados en su sitio para asegurarse de que sus atributos action estén actualizados o sean manejados por la reescritura de URL del plugin.

Requisito de SSL: Siempre ejecute su URL de inicio de sesión personalizada sobre HTTPS. Enviar credenciales a través de HTTP las expone a interceptación de red independientemente de cuán oscura sea la URL. Si aún no ha asegurado su sitio, los Certificados SSL son un requisito previo — no un complemento opcional.

Lista de verificación de decisiones técnicas

Use esta lista de verificación antes y después de implementar WPS Hide Login en un entorno de producción:

  • [ ] La URL de inicio de sesión personalizada no es de diccionario, no deriva de la marca y está almacenada en un gestor de contraseñas
  • [ ] La URL de redirección para rutas bloqueadas está configurada y probada en una ventana de incógnito
  • [ ] admin-ajax.php permanece accesible (pruebe con una función front-end dependiente de AJAX)
  • [ ] Los enlaces de correo electrónico para restablecer contraseña se enrutan correctamente a través de la ruta de inicio de sesión personalizada
  • [ ] Todos los cachés de página completa purgados después de la activación del plugin
  • [ ] CDN/proxy inverso confirmado para omitir caché en rutas relacionadas con el inicio de sesión
  • [ ] Bloqueo a nivel de servidor en /wp-login.php y /wp-admin añadido como capa de defensa en profundidad
  • [ ] Endpoint XML-RPC evaluado y deshabilitado si no es necesario
  • [ ] Plugins complementarios (limitación de velocidad, 2FA, WAF) activos y configurados
  • [ ] Procedimiento de recuperación documentado y probado en un entorno de pruebas
  • [ ] Certificado SSL activo y aplicando HTTPS en todo el sitio

Preguntas frecuentes

¿WPS Hide Login previene todos los ataques de fuerza bruta?

No. Previene los ataques automatizados que apuntan a las URL de inicio de sesión predeterminadas conocidas. Si un atacante descubre su URL de inicio de sesión personalizada — a través de exposición del código fuente, registros del servidor o ingeniería social — los intentos de fuerza bruta pueden reanudarse. Siempre combine la ofuscación de URL con limitación de velocidad y autenticación de dos factores.

¿WPS Hide Login romperá las actualizaciones automáticas de WordPress o los trabajos cron?

No. Las actualizaciones del núcleo de WordPress, las actualizaciones de plugins y wp-cron.php no usan /wp-login.php para la autenticación. Usan nonces y contraseñas de aplicación o ejecución directa de archivos. WPS Hide Login no interfiere con estos procesos.

¿Qué sucede con la URL de inicio de sesión si desactivo WPS Hide Login sin cambiar el nombre de la carpeta?

Desactivar el plugin a través del panel de control de WordPress restaura inmediatamente /wp-login.php y /wp-admin como endpoints de inicio de sesión funcionales. Su URL personalizada deja de funcionar. Esto es reversible — reactivar el plugin restaura la configuración de URL personalizada.

¿Puedo usar WPS Hide Login en una red WordPress Multisitio?

Con precaución. El plugin funciona en el sitio principal de la red pero tiene un comportamiento inconsistente en los subsitios, particularmente en configuraciones multisitio de subdirectorios. Pruebe en un clon de pruebas de su red antes de implementar, y revise el rastreador de problemas de GitHub del plugin para conocer los conflictos multisitio conocidos con su versión de WordPress.

¿Es seguro compartir la URL de inicio de sesión personalizada con otros administradores?

Trate la URL de inicio de sesión personalizada como una credencial sensible. Compártala solo a través de canales cifrados (la función de compartir de un gestor de contraseñas, una aplicación de mensajería cifrada) y nunca la incluya en correos electrónicos de texto plano ni en documentación almacenada en repositorios de acceso público.

15%

Ahorra 15%<\/span> en todos los servicios de hosting

Pon a prueba tus habilidades y obtén Descuento<\/span> en cualquier plan de hosting

Usa el código:

Skills
Comenzar