
Checklist de hardening WordPress: 12 medidas prácticas para proteger tu sitio
El hardening de WordPress consiste en reducir las formas en que una cuenta, un plugin, el servidor o un cambio accidental pueden comprometer tu sitio. No es instalar un “plugin mágico” y olvidarse: es una serie de capas sencillas, revisables y alineadas con el riesgo real de tu proyecto.
Esta guía prioriza acciones con impacto. Empieza por las cuentas y las copias; luego limita lo innecesario y añade reglas técnicas solo cuando entiendas qué protegen. Si estás empezando, acompáñala con la guía de seguridad en WordPress.
Antes de tocar nada: prepara una vuelta atrás
No apliques diez ajustes de seguridad en producción sin una copia comprobada. Algunos cambios —por ejemplo, limitar el acceso a archivos, endurecer reglas del servidor o desactivar el editor— pueden afectar plugins, actualizaciones o integraciones.
Antes de empezar:
- Haz un backup completo de archivos y base de datos en una ubicación externa.
- Anota las cuentas de administrador y comprueba que sus correos estén vigentes.
- Si tienes staging, prueba ahí primero los cambios de configuración.
- Después de cada bloque de cambios, revisa inicio de sesión, formularios, compra/reserva y administración.
Un backup que nunca se ha restaurado es una esperanza, no un plan. Lee también cómo crear copias de seguridad que sí sirven.
1. Protege cada cuenta administrativa con contraseña única y 2FA
Las credenciales robadas siguen siendo una puerta de entrada más común que un ataque sofisticado. Cada administrador debe usar una contraseña larga, única y guardada en un gestor; no reutilices una clave del correo, hosting o redes sociales.
Activa autenticación de dos factores (2FA) para administradores y, cuando corresponda, para editores con acceso sensible. Guarda los códigos de recuperación fuera del sitio y elimina cuentas de colaboradores que ya no participan. Si alguien necesita publicar, quizá el rol de editor basta: no concedas administrador por comodidad.
La protección del login con 2FA explica las opciones y el proceso de recuperación con más detalle.
2. Mantén actualizado lo que realmente está instalado
Actualizar WordPress, PHP, plugins y temas corrige vulnerabilidades públicas. Lo importante no es marcar actualizaciones automáticas sin criterio, sino mantener un ritmo de revisión que no deje software abandonado durante meses.
- Actualiza primero en staging cuando el sitio tenga ventas, membresías o funciones críticas.
- Revisa las notas de cambios de plugins grandes antes de una actualización mayor.
- Elimina temas y plugins inactivos; desactivarlos no elimina el código vulnerable.
- Evita instalar ZIPs de procedencia desconocida o versiones “nulled”.
La calidad de un plugin importa tanto como su función. Consulta la lista de plugins de WordPress que conviene evitar antes de sumar una extensión nueva.
3. Reduce el número de administradores y aplica mínimo privilegio
Cada administrador puede instalar código, cambiar usuarios y modificar configuraciones críticas. Revisa Usuarios → Todos los usuarios de forma trimestral: confirma quién necesita acceso, qué rol requiere y a qué correo se enviarán alertas.
Crea una cuenta de editor para publicación de contenidos y usa una cuenta administrativa separada solo para tareas técnicas. No compartas una cuenta entre varias personas: perderías trazabilidad y no podrías revocar acceso sin bloquear a todos.
4. Desactiva el editor de archivos del panel
El editor integrado permite modificar archivos de tema y plugin desde /wp-admin. Si una cuenta administrativa se compromete, esa función facilita inyectar código. En la mayoría de sitios se trabaja mejor con cambios versionados o con un entorno de pruebas, por lo que puedes desactivarlo añadiendo esto a wp-config.php, antes de la línea que dice “That’s all”:
define('DISALLOW_FILE_EDIT', true);
Esto no sustituye una contraseña fuerte ni evita que alguien con acceso al hosting modifique archivos. Simplemente elimina una vía innecesaria desde el escritorio de WordPress. Prueba las actualizaciones tras añadirlo; WordPress seguirá pudiendo actualizar cuando el hosting y permisos lo permitan.
5. Protege wp-config.php y permisos de archivo
wp-config.php contiene datos de conexión a la base de datos y claves de autenticación. Debe estar fuera de alcance público y con permisos mínimos compatibles con tu servidor. En hosting compartido, pide al soporte el valor recomendado: intentar imponer permisos sin contexto puede impedir que WordPress lea el archivo.
Como regla práctica, directorios suelen requerir permisos de ejecución para el servidor y archivos normales no deberían ser escribibles por todo el mundo. Nunca uses permisos 777 como “arreglo” permanente. Si WordPress pide credenciales FTP al actualizar, diagnostica propiedad y permisos en vez de abrirlos de más.
6. Asegura las claves secretas y sesiones
Las salts y claves de autenticación de wp-config.php firman cookies y sesiones. Deben ser únicas por sitio y mantenerse privadas. Cuando sospeches que una cuenta pudo verse comprometida, regenerarlas cerrará las sesiones actuales; hazlo como parte de una respuesta controlada para no bloquear una operación crítica sin aviso.
No publiques wp-config.php en repositorios, capturas o tickets. Usa variables de entorno o un archivo fuera del directorio público cuando tu infraestructura lo admita.
7. Limita intentos de inicio de sesión con cuidado
Una política de límite de intentos reduce ataques de fuerza bruta, pero debe dejar un camino seguro para usuarios legítimos. Configura bloqueos temporales razonables, registra los eventos y permite recuperaciones mediante correo o soporte.
No bloquees países o rangos IP sin evidencia: puedes impedir el acceso de usuarios reales, bots legítimos o servicios externos. Es mejor combinar 2FA, contraseñas únicas y rate limiting en el servidor, CDN o una herramienta de seguridad mantenida.
8. Usa HTTPS en todo el recorrido
Un certificado SSL válido debe cubrir tanto la web pública como /wp-admin y el login. Fuerza HTTPS desde el hosting o CDN y revisa que no existan recursos mixtos (imágenes, scripts o fuentes cargadas por HTTP). Las advertencias de contenido mixto pueden exponer sesiones y erosionan la confianza del visitante.
Comprueba también que la URL de WordPress y la URL del sitio sean la versión HTTPS correcta. Si estás migrando dominio o servidor, sigue un proceso ordenado como el de migrar WordPress sin perder posiciones.
9. Revisa XML-RPC y la API REST según tu caso
XML-RPC puede ser necesario para algunas apps, integraciones y publicación remota, pero también se ha usado para amplificar intentos de login. No lo desactives ciegamente: primero identifica si Jetpack, una app móvil, un sistema de publicación o una integración lo necesita.
La API REST también es parte normal de WordPress y la usan el editor de bloques y muchos plugins. El objetivo del hardening no es ocultar todo, sino impedir exposición de datos privados y exigir permisos correctos. Si bloqueas endpoints, prueba el editor, formularios y cualquier integración que dependa de ellos.
10. Centraliza alertas y registros útiles
Necesitas saber qué cambió y cuándo. Activa alertas de actualización, fallos de login importantes y cambios de administrador, pero evita un panel que genere cientos de notificaciones que nadie lee. Define una dirección de correo monitoreada y un procedimiento corto para revisar una alerta.
Para sitios sensibles, un registro de actividad ayuda a responder preguntas básicas: ¿qué usuario instaló el plugin?, ¿cuándo cambió una opción?, ¿hubo varios intentos de acceso? Conserva los datos solo el tiempo necesario y respeta la privacidad de tus usuarios.
11. Separa producción, staging y credenciales
No pruebes un plugin nuevo ni una actualización mayor directamente en una tienda activa si puedes evitarlo. Un staging protege el sitio público y permite revisar compatibilidad. Debe estar también protegido: no dejes un clon indexable con datos reales o usuarios reutilizados.
Usa credenciales diferentes para hosting, SFTP, base de datos, CDN y WordPress. Un incidente en una herramienta no debería abrir todas las demás. Si trabajas con proveedores, crea accesos personales y revocables en lugar de compartir una contraseña maestra.
12. Ten un plan de respuesta a incidentes
La seguridad mejora cuando sabes qué harás antes de una alarma. Documenta quién puede poner el sitio en mantenimiento, dónde está la última copia externa, cómo contactar al hosting y cómo avisar a clientes si es necesario.
Si detectas una intrusión, no te limites a restaurar y continuar. Aísla el acceso, conserva una copia para análisis, restablece credenciales, revisa usuarios y plugins, actualiza el software y busca la causa. Restaurar un backup vulnerable sin corregir el vector puede repetir el problema.
Checklist mensual de hardening WordPress
Reserva 20 o 30 minutos al mes para esta revisión:
- Confirmar que WordPress, PHP, temas y plugins activos están actualizados.
- Eliminar plugins, temas y usuarios que ya no tienen propósito.
- Revisar administradores, 2FA y correos de recuperación.
- Comprobar que el backup externo reciente existe y que sabes restaurarlo.
- Revisar alertas de seguridad y actividad anómala.
- Probar una página pública, login, formulario y función principal del sitio.
- Documentar cualquier cambio de servidor, dominio o integración.
La prioridad correcta: recuperar el control
El hardening no necesita convertir tu WordPress en una instalación difícil de administrar. Empieza por las medidas que reducen riesgo con poco coste: cuentas protegidas, actualizaciones, copias externas y menos código innecesario. Después, ajusta servidor y reglas específicas a partir de datos y pruebas.
Puedes descargar y repetir cada mes el checklist gratuito de seguridad WordPress para comprobar que las medidas básicas siguen cubiertas.
Para continuar, revisa la guía de seguridad WordPress y configura un backup externo verificable antes de añadir controles más complejos.