1. Protege el directorio wp-admin con contraseña
En tu cPanel, ir a la sección Archivos y haz clic en Privacidad de directorio.
Ahora, Ingresa al directorio donde instalaste WordPress. Luego haz clic en el nombre del directorio wp-admin. Atención: debes hacer clic en el nombre de la carpeta, no en el símbolo (que sirve para acceder a las subcarpetas).
En la siguiente pantalla, podrás configurar la protección del directorio. Tienes que ingresar el nombre de tu dominio para nombrar la protección. Luego crear el usuario y contraseña para poder acceder al directorio.
De esta forma, al acceder a tu sitio como administrador (la URL de nuestro ejemplo sería https://tu-dominio.com/wp-admin), tendrás que introducir el usuario y contraseña que creaste en el paso anterior.
En caso de que trabajes con enlaces permanentes o URL amigables, sería necesario un paso extra para evitar errores de redirecciones: editar el fichero .htaccess.
Para hacerlo, en la sección Archivos, haz clic en Administrador de archivos:
En el Administrador de archivos, se mostrarán todas las carpetas y archivos de tu WordPress. Haz clic derecho sobre .htaccess y clic en Edit
Luego añadir al inicio del archivo .htaccess la siguiente linea:
ErrorDocument 401 default
Si no aparece el archivo, deberás hacer clic en Configuración y luego tildar la opción “Mostrar archivos ocultos”
2. Protege wp-login con contraseña
Para aumentar la seguridad también habría que proteger el fichero wp-login.php. Para esto, volvemos a ingresar al Administrador de archivos:
Después ingresa al directorio wp-admin haciendo doble clic sobre ella y abre el archivo .htaccess:
Copia del .htaccess las líneas que se añadieron tras bloquear ese directorio (en el paso 1 de este mismo post). En este caso, son:
AuthType Basic
AuthName “bloqueo”
AuthUserFile “/home/(tu-usuario-de-cpanel)/.htpasswds/public_html/(tu-dominio)/wp-admin/passwd”
require valid-user
A continuación, vuelve al directorio anterior. Puedes hacerlo a través del Administrador de archivos de nuevo y edita el fichero .htaccess
Ahora, añadir al principio las líneas que acabas de copiar junto con estas 2 líneas más que puedes ver aquí (al principio y al final):
<files wp-login.php>
AuthType Basic
AuthName “bloqueo”
AuthUserFile “/home/(tu-usuario-de-cpanel)/.htpasswds/public_html/(tu-dominio)/wp-admin/passwd”
require valid-user
</files>
PASO 3 – Permite las solicitudes AJAX
Al configurar la protección del directorio wp-admin se evita que se hagan peticiones a ese directorio. El API Ajax de WordPress se ejecuta en el archivo admin-ajax.php de este directorio, por lo que es posible que deje de funcionar algún plugin, tema o widget que utilice el API Ajax en el frontend.
Si tienes este problema y quieres solucionarlo, tienes que permitir las solicitudes a admin-ajax.php en el .htaccess de la carpeta wp-admin. Sigue los pasos indicados en el punto anterior para editar el .htaccess (atención: en este caso de la carpeta wp-admin).
Ve al Administrador de archivos e ingresa en la carpeta wp-admin y edita el .htaccess:
Añade las sigueintes lineas al final del archivo:
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
PASO 4 – Permite las solicitudes de imágenes, CSS y JavaScript en wp-admin
Este paso no será necesario en todos los casos, pero sí en algunos. Existen plugins y temas que cargan contenido ubicado en la carpeta wp-admin y que, al haberla protegido, no podrán mostrarlo salvo que los usuarios tengan los datos de acceso. Normalmente, el contenido que cargan son imágenes, ficheros CSS o JavaScript que están en determinados directorios.
Para permitir esta carga, crea un fichero .htaccess en los directorios wp-admin/css/, wp-admin/js/ y wp-admin/images/ con el siguiente contenido:
Order allow,deny
Allow from all
Satisfy any
Por si te surgen dudas, para crear un fichero .htaccess habría que ir al Administrador de archivos (de la misma forma que en los pasos anteriores) y entrar en la carpeta que deseas. Para crearlo en wp-admin/css haz doble clic en la carpeta wp-admin y después en la carpeta css. En esta pantalla, haz clic en +Archivo (en la parte superior derecha) y verás el siguiente cuadro, donde incluirás el nombre “.htaccess“.
Finalmente, tan solo te queda editar ese fichero, haciendo clic derecho sobre el nombre del fichero y, a continuación, pinchando en Edit:
Añade las líneas anteriores y habrás terminado.
Ahora ya sabes cómo proteger wp-admin y wp-login para ponérselo mucho más difícil a los hackers.