1. Ten siempre actualizado tu WordPress con la última versión disponible. Realiza siempre una copia de seguridad antes de proceder a la actualización. Cada nueva versión incluye mejoras en rendimiento y seguridad pero es inevitable que cada nuevo lanzamiento queden escondidos errores que se deben corregir.

2. Instala solamente los plugins esenciales que necesites. Los plugins son una puerta de acceso para los ataques a WordPress. Si tienes plugins que no utilizas lo mejor es desinstalarlos. Utiliza versiones oficiales del plugin y si hay diferentes opciones para el uso que necesitas, opta por el que tenga más opiniones positivas y más actualizado.
Puedes consultar WPScan Vulnerability Database para identificar los plugins con código vulnerable.

3. Mantén actualizada tu plantilla y evita instalar temas de sitios no seguros, ya me entiendes. Pueden venir hackeados y no enterarte de nada. Si recibes notificaciones de tu proveedor de hosting con reportes de spam o ataques, es muy posible que sea debido a inyecciones de código malicioso en las plantillas.

4. Nunca uses como nombre de usuario ADMIN en tu sitio. Es lo primero que los hackers prueban para intentar reventar tu WordPress. Si ya lo tienes asignado, accede al menú “Usuarios” y crea un nuevo perfil con permisos de administrador y borra cuando vuelvas a acceder con el nuevo usuario el antiguo. No olvides de reasignar los artículos y páginas que ya tenías.

5. Haz siempre copias de seguridad automáticas usando el plugin BackWPup o Duplicator. Si las copias las puedes hacer desde tu hosting, mucho mejor. Así evitas cargar tu WordPress. Luego descarga los archivos a tu ordenador o disco duro externo y borra las copias del servidor para que no tengas problemas de espacio. También puedes configurar el plugin BackWPup para que la copia la transfiera a Dropbox, Amazon S· o FTP y programar un cronjob.

6. Para evitar los ataques de fuerza bruta, limita las veces que una dirección IP intenta conectar. Lo mejor es bloquearlos desde tu hosting. Esta función permite añadir y bloquear IP o un rango de direcciones que evitaran acceder a tu sitio. También puedes bloquear direcciones IP usando el archivo .htaccess añadiendo unas cuantas líneas de reglas. Se puede incluso hasta bloquear un país entero. Si lo quieres hacer mediante plugins dispones de iThemes Security o Wordfence Security.

7. Protege  el acceso de administración con Captcha o doble factor de autenticación. Si has instalado alguno de los plugins del punto 5, también incluyen opciones para limitar los intentos de acceso para loguearse en tu WordPress. En los formularios de contacto usa siempre Captcha para evitar los robots que publican comentarios automáticamente. Para evitar el spam, el plugin de serie Askimet funciona muy bien aunque requiere registro para obtener la key de su API. En su lugar tienes AntiSpam Bee que tiene soluciones más sofisticadas.

8. Si tu sitio web tiene más usuarios con privilegios de administrador, procura que tenga contraseñas seguras. Así que recuerda que es recomendable que elijas una contraseña larga con mayúsculas, caracteres, y números para poner a los hackers a raya.

9. Es importante tema que para evitar que hackers o scripts maliciosos obtengan información sobre la versión de tu WordPress, ocultes la meta etiqueta:

<meta name="generator" content="WordPress 4.7.2" /

Puedes hacerlo añadiendo en el archivo functions.php de tu plantilla el siguiente código:

remove_action('wp_head', 'wp_generator');

10. Activa SSL para proteger los datos sensibles de tu sitio web y ganarte el candado verde que muestra el navegador. Los certificados SSL encriptan toda la información al servidor para que un posible hacker no se haga con la información. Si no quieres pagar por el tienes Let’s Encrypt que es gratuito y disponible en la mayoría de hosting. Tendrás que cambiar las url antiguas de WordPress de http a https, la dirección de WordPress en el menú de ajustes generales y también redirigir las páginas http a https desde .htaccess (!siempre haz copia de seguridad!) con este código:

RewriteEngine On
RewriteCond %{ENV:HTTPS} !on [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tu_dominio.com/$1 [R=301,L,NE]