Editar el archivo .htaccess de tu sitio web puede sonar intimidante para los principiantes de WordPress. Pero según nuestra experiencia, es una herramienta que puedes usar para mejorar el rendimiento, la seguridad y el SEO de tu sitio web.
Puedes pensar en el archivo como un panel de control para ajustar la configuración del servidor de tu sitio sin necesidad de ser un genio de la codificación.
En este artículo, te mostraremos algunos trucos útiles de .htaccess para WordPress que te darán un mayor control sobre tu presencia en línea.

¿Qué es el archivo .htaccess y cómo editarlo?
El archivo .htaccess es un archivo de configuración del servidor web Apache. Es un archivo de texto que te permite definir reglas para que tu servidor las siga para tu sitio web de WordPress.
WordPress utiliza el archivo .htaccess para generar una estructura de URL amigable para SEO. Sin embargo, este archivo puede hacer mucho más que almacenar la configuración de los permalinks.
El archivo .htaccess se encuentra en la carpeta raíz de tu sitio de WordPress. Necesitarás conectarte a tu sitio web usando un cliente FTP o el administrador de archivos de cPanel para editarlo.

Si no puedes encontrar tu archivo .htaccess, consulta nuestra guía sobre cómo encontrar el archivo .htaccess en WordPress.
Antes de editar tu archivo .htaccess, es importante descargar una copia en tu computadora como respaldo. Puedes usar ese archivo en caso de que algo salga mal.
Dicho esto, veamos algunos trucos útiles de .htaccess para WordPress que puedes probar:
- Protege tu área de administración de WordPress
- Protege con contraseña la carpeta de administración de WordPress
- Deshabilitar la navegación por directorios
- Deshabilita la ejecución de PHP en algunos directorios de WordPress
- Protege tu archivo de configuración de WordPress wp-config.php
- Configura redirecciones 301 a través del archivo .htaccess
- Bloquea direcciones IP sospechosas
- Deshabilita el hotlinking de imágenes en WordPress usando .htaccess
- Protege .htaccess contra acceso no autorizado
- Aumenta el tamaño de carga de archivos en WordPress
- Deshabilita el acceso al archivo XML-RPC usando .htaccess
- Bloquea escaneos de autor en WordPress
1. Protege tu área de administración de WordPress
Puedes usar .htaccess para proteger tu área de administración de WordPress limitando el acceso solo a direcciones IP seleccionadas.
Simplemente copia y pega este fragmento de código en tu archivo .htaccess:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
# whitelist Syed's IP address
allow from xx.xx.xx.xxx
# whitelist David's IP address
allow from xx.xx.xx.xxx
</LIMIT>
No olvides reemplazar los valores xx con tu propia dirección IP. Si usas más de una dirección IP para acceder a Internet, asegúrate de agregarlas también.
Para obtener instrucciones detalladas, consulta nuestra guía sobre cómo limitar el acceso a la administración de WordPress usando .htaccess.
2. Protege con contraseña la carpeta de administración de WordPress

Si accedes a tu sitio de WordPress desde múltiples ubicaciones, incluidos puntos de acceso público a Internet, entonces limitar el acceso a direcciones IP específicas puede no funcionar para ti.
Puedes usar el archivo .htaccess para agregar una protección de contraseña adicional a tu área de administración de WordPress.
Primero, necesitas generar un archivo .htpasswds. Puedes crear uno fácilmente usando este generador en línea.
Sube este archivo .htpasswds fuera de tu directorio web accesible públicamente o de la carpeta /public_html/. Una buena ruta sería:
/home/user/.htpasswds/public_html/wp-admin/passwd/
A continuación, crea un archivo .htaccess y súbelo al directorio /wp-admin/ y luego agrega el siguiente código allí:
AuthName "Admins Only"
AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd
AuthGroupFile /dev/null
AuthType basic
require user putyourusernamehere
<Files admin-ajax.php>
Order allow,deny
Allow from all
Satisfy any
</Files>
Importante: No olvides reemplazar la ruta de AuthUserFile con la ruta del archivo .htpasswds y agregar tu propio nombre de usuario.
Para obtener instrucciones detalladas, consulta nuestra guía sobre cómo proteger con contraseña la carpeta de administración de WordPress (wp-admin).
3. Deshabilitar la navegación de directorios

Muchos expertos en seguridad de WordPress recomiendan deshabilitar la navegación de directorios. Con la navegación de directorios habilitada, los hackers pueden examinar la estructura de directorios y archivos de tu sitio para encontrar un archivo vulnerable.
Para deshabilitar la navegación de directorios en tu sitio web, necesitas agregar la siguiente línea a tu archivo .htaccess:
Options -Indexes
Para más información sobre este tema, consulta nuestra guía sobre cómo deshabilitar la navegación de directorios en WordPress.
4. Deshabilitar la ejecución de PHP en algunos directorios de WordPress
A veces, los hackers irrumpen en un sitio de WordPress e instalan una puerta trasera. Estos archivos de puerta trasera a menudo se disfrazan como archivos principales de WordPress y se colocan en las carpetas /wp-includes/ o /wp-content/uploads/.
Una forma más sencilla de mejorar la seguridad de tu WordPress es deshabilitando la ejecución de PHP para algunos directorios de WordPress.
Necesitarás crear un archivo .htaccess en blanco en tu computadora y luego pegar el siguiente código dentro de él:
<Files *.php>
deny from all
</Files>
Guarda el archivo y luego súbelo a tus directorios /wp-content/uploads/ y /wp-includes/.
Para más información, consulta nuestro tutorial sobre cómo deshabilitar la ejecución de PHP en ciertos directorios de WordPress.
5. Protege el archivo de configuración de tu WordPress wp-config.php
Probablemente el archivo más importante en el directorio raíz de tu sitio web WordPress es el archivo wp-config.php. Contiene información sobre tu base de datos de WordPress y cómo conectarte a ella.
Para proteger tu archivo wp-config.php de accesos no autorizados, simplemente agrega este código a tu archivo .htaccess:
<files wp-config.php>
order allow,deny
deny from all
</files>
6. Configuración de redirecciones 301 a través del archivo .htaccess
Usar redirecciones 301 es la forma más amigable con el SEO para decirle a tus usuarios que el contenido se ha movido a una nueva ubicación. Si deseas administrar correctamente tus redirecciones 301 de forma individual por publicación, consulta nuestra guía sobre cómo configurar redirecciones en WordPress.
Por otro lado, si deseas configurar redirecciones rápidamente, todo lo que necesitas hacer es pegar este código en tu archivo .htaccess:
Redirect 301 /oldurl/ http://www.example.com/newurl
Redirect 301 /category/television/ http://www.example.com/category/tv/
7. Bloquea direcciones IP sospechosas
¿Estás viendo un número inusualmente alto de solicitudes a tu sitio web desde una dirección IP específica? Puedes bloquear fácilmente esas solicitudes bloqueando la dirección IP en tu archivo .htaccess.
Simplemente agrega el siguiente código a tu archivo .htaccess:
<Limit GET POST>
order allow,deny
deny from xxx.xxx.xx.x
allow from all
</Limit>
No olvides reemplazar xx con la dirección IP que deseas bloquear.
8. Deshabilita el hotlinking de imágenes en WordPress usando .htaccess
Otros sitios web que hacen hotlinking directo de imágenes de tu sitio pueden hacer que tu sitio de WordPress sea lento y exceder tu límite de ancho de banda. Esto no es un gran problema para la mayoría de los sitios web pequeños. Sin embargo, si administras un sitio web popular o un sitio web con muchas fotos, entonces esto podría convertirse en una preocupación seria.
Puedes prevenir el hotlinking de imágenes agregando este código a tu archivo .htaccess:
#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?wpbeginner.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
Este código solo permite que las imágenes se muestren si la solicitud se origina en wpbeginner.com o Google.com. No olvides reemplazar wpbeginner.com con el nombre de tu propio dominio.
Para más formas de proteger tus imágenes, consulta nuestra guía sobre formas de prevenir el robo de imágenes en WordPress.
9. Protege .htaccess del acceso no autorizado
Como has visto, hay muchas cosas que se pueden hacer usando el archivo .htaccess. Debido al poder y control que tiene sobre tu servidor web, es importante protegerlo del acceso no autorizado por parte de hackers.
Simplemente agrega el siguiente código a tu archivo .htaccess:
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>
10. Aumenta el tamaño de carga de archivos en WordPress
Hay diferentes maneras de aumentar el límite del tamaño de carga de archivos en WordPress. Sin embargo, para los usuarios en hosting compartido, algunos de estos métodos no funcionan.
Uno de los métodos que ha funcionado para muchos usuarios es agregar el siguiente código a su archivo .htaccess:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
Este código simplemente le dice a tu servidor web que use estos valores para aumentar el tamaño de carga de archivos, así como el tiempo máximo de ejecución en WordPress.
11. Deshabilita el acceso al archivo XML-RPC usando .htaccess
Cada instalación de WordPress viene con un archivo llamado xmlrpc.php. Este archivo permite que aplicaciones de terceros se conecten a tu sitio de WordPress. La mayoría de los expertos en seguridad de WordPress aconsejan que si no estás usando ninguna aplicación de terceros, deberías deshabilitar esta función.
Hay múltiples maneras de hacer eso. Una de ellas es agregando el siguiente código a tu archivo .htaccess:
# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
Para más información, consulta nuestra guía sobre cómo deshabilitar XML-RPC en WordPress.
12. Bloquea escaneos de autor en WordPress
Una técnica común utilizada en los ataques de fuerza bruta es escanear autores en un sitio de WordPress y luego intentar descifrar contraseñas para esos nombres de usuario.
Puedes bloquear dichos escaneos agregando el siguiente código a tu archivo .htaccess:
# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
# END block author scans
Para más información, consulta nuestro artículo sobre cómo disuadir ataques de fuerza bruta bloqueando escaneos de autores en WordPress.
Esperamos que este artículo te haya ayudado a aprender los trucos más útiles de .htaccess para WordPress. También te puede interesar nuestra guía sobre cómo realizar una auditoría de seguridad de WordPress y nuestra selección experta de los mejores plugins de protección de contenido para WordPress.
Si te gustó este artículo, suscríbete a nuestro canal de YouTube para obtener tutoriales en video de WordPress. También puedes encontrarnos en Twitter y Facebook.

Olaf
El archivo .htaccess, como uno de los archivos de configuración de Apache, es fantástico para modificar un sitio web y mejorar la seguridad. Realmente puedes hacer maravillas con él. Mejorar la seguridad, modificar URLs, aumentar límites y más. ¡Gracias por los excelentes ejemplos para este archivo! Para mí, la prevención de hotlinking (que antes manejaba a través de Cloudflare) y la protección de directorios con contraseña (generalmente la gestionaba a través de un plugin) han sido particularmente útiles.
Dennis Muthomi
La sección wp-config.php fue de gran ayuda. La he usado en varios sitios de clientes y puedo dar fe de ello. Otra cosa que agregaría es hacer siempre una copia de seguridad de tu archivo .htaccess original antes de hacer cambios. Esto me ha salvado muchas veces al solucionar problemas del servidor. ¡Excelente guía!
Dan
Hola, ¿alguno de estos códigos puede afectar a Google Analytics? Agregué los números 5, 9 y 12 y ahora GA no puede detectar la información de los visitantes del sitio web ni siquiera mostrar si hay alguien en la plataforma.
Soporte de WPBeginner
Los métodos de este artículo no deberían afectar la capacidad de Google Analytics para rastrear tu contenido. Dependería de cómo hayas agregado Google Analytics para saber cuál podría ser el problema.
Administrador
Jiří Vaněk
Me interesó bastante el punto 9, proteger el htaccess en sí. ¿Significa esto que este archivo también está disponible de otra forma que no sea por FTP? Intenté acceder a él clásicamente a través de un navegador web y no encontré la manera. Por lo que entiendo, las expresiones prohíben el acceso a cualquier cosa que tenga 'hh', 'tt', 'aa' en el nombre. ¿Significa esto que hay una forma de atacar el htaccess que no sea a través de FTP?
Soporte de WPBeginner
Hay más formas que solo FTP para acceder a los archivos, esta es una forma de ayudar a limitar las formas de acceso como otra herramienta para la seguridad de tu sitio.
Administrador
Jiří Vaněk
Entiendo y agradezco la respuesta. Establecí los permisos en 644 en el archivo htaccess e inserté sus directivas en él. Gracias por este artículo, que una vez más me abrió los ojos porque siempre pensé que htaccess solo se podía administrar a través de FTP o el administrador de WordPress. Uno siempre está aprendiendo :).
Simeon
¡Muchas gracias por esto. Muy útil!
Soporte de WPBeginner
¡Me alegra que haya sido útil!
Administrador
Jackson Andrade
Uso protección con contraseña para wp-login.php. Mis clientes no pueden cerrar sesión cuando login.php está protegido. ¿Hay alguna forma en que pueda permitir que los clientes cierren sesión sin llamar a wp-login.php?action=logout?
Los administradores tampoco pueden cerrar sesión, pero eso no es un problema.
La URL de cierre de sesión del cliente de Woocommerce es, domain.com/account/customer-logout.
Ambos llaman a wp-login.php para cerrar sesión. A los clientes se les pide el ID y la contraseña de htaccess. Si hay una solución, hágamelo saber. Gracias
Soporte de WPBeginner
Si su sitio tiene un inicio de sesión para usuarios que no son sus administradores, entonces no recomendaríamos proteger con contraseña su wp-login.php por el momento y no tenemos una solución alternativa en este momento.
Administrador
Jackson Andrade
Gracias por esa información. Espero que Wordpress agregue una función en el futuro donde no redirija a login.php para cerrar sesión.
HtaccessGuy
No protejas con contraseña wpadmin si usas AJAX, de lo contrario romperá cosas.
Soporte de WPBeginner
Si te refieres a la opción 2 en esta lista, hemos agregado código para permitir que ajax continúe funcionando.
Administrador
Ana
Esto resolvió mi problema con el código anterior. Gracias.
Abhi
Por favor ayúdenme.
cuando pego el siguiente código en el archivo .htaccess, muestra un error que es..
Parece que no tienes
permiso para acceder a esta página.
Error 403. Prohibido.
Soporte de WPBeginner
Para resolver el error 403, te recomendamos consultar nuestra guía aquí: https://www.wpbeginner.com/wp-tutorials/how-to-fix-the-403-forbidden-error-in-wordpress/
Administrador
Ben
¡Gran artículo!
¿Necesito hacer esto si ya tengo instalado el plugin WordFence?
Algunas personas no recomiendan meterse con el archivo .htaccess.
Saludos.
Soporte de WPBeginner
Ninguno de estos trucos es necesario si no quieres usarlos, son solo herramientas útiles que puedes emplear.
Administrador
Sebastian
No estoy seguro de qué significa exactamente “Proteger .htaccess del acceso no autorizado”. ¿Podré acceder a él si hago cambios a partir del punto 9?
Soporte de WPBeginner
Significa que si alguien sabe dónde se encuentra tu htaccess y trata de ver el archivo poniendo esa dirección en la URL, el navegador no podrá verlo.
Administrador
reus
cómo usar el nombre de usuario y la contraseña de wp login (usuario registrado) para acceder en tu tema n.º 2 (Proteger con contraseña la carpeta de administración de WordPress).
espero encontrar la respuesta aquí.
gracias
Soporte de WPBeginner
Si quisieras usar eso, necesitarías configurar la información en el archivo htpasswds
Administrador
reus
gracias por tu respuesta, ¿cómo configuro esa información en el htpasswds? gracias
Soporte de WPBeginner
We show the tool to use under tip 2 in the article
Selvakumaran Krishnan
Hola Syed Balkhi,
Tengo que abrir una URL que tiene parámetros de consulta y cadenas como esta.
algo.ejemplo.com/nombrepagina.php?consulta1=cadena1&consulta2=cadena2&urlredireccion=http%3A%2F%2Falgo.ejemplo2.com/algo&consulta3=cadena3
En la URL anterior, el problema es %3A%2F%2F. Muestra un error 403 prohibido. Si elimino esa parte, la URL funciona bien.
He buscado y probado todos los métodos como mod rewrite, redirect, etc., pero nada funciona.
¿Hay alguna forma de eliminar (o) reescribir (o) redirigir esa parte codificada usando el archivo .htaccess? Esa parte está en medio de muchos parámetros. Hay muchos parámetros de consulta antes y después de esa parte.
Por favor, comparte tu idea.
Kathrine
¡¡Este es un gran artículo!! Seguí tus instrucciones y todo funciona bien. Intenté abrir mi sitio de administración usando una dirección IP diferente y funciona muy bien. Gracias por compartir tu conocimiento.
Mohamed Adel
Al proteger el directorio a wp-admin (como se explica en 2. Proteger con contraseña la carpeta de WordPress), cuando voy a cualquier página del sitio aparece el mensaje para poner la contraseña.. ¿Cómo soluciono eso?
Lo intenté desde Cpanel y sucede el mismo problema
Tony
El consejo en el punto 4 para deshabilitar la ejecución de php ha comenzado a causar problemas con el editor tinymce en páginas y publicaciones. Se incluye un archivo php en la carpeta tinymce que carga los archivos js relevantes. Acabo de eliminar el código htaccess de la carpeta wp-include para detener el problema. ¿Quizás haya otra manera de solucionar esto?
Pankaj
El punto 5 no está funcionando
(5. Protege el archivo wp-config.php de la configuración de tu WordPress)
[05-Mar-2018 08:20:03 Etc/GMT] Error de análisis PHP: error de sintaxis, se esperaba '<' en /home/—–/public_html/xyz.com/wp-config.php en la línea 91
Soporte de WPBeginner
Hola Pankaj,
El código en el quinto truco debe pegarse en el archivo .htaccess y no en el archivo wp-config.php.
Administrador
Maximilian
¡Hola, gracias!
¿Es posible ver el .htaccess completo en alguna parte? Sí, podría leer: “pon una línea después de la otra” pero aún no estoy seguro.
¿Entonces "# END WordPress" es la última línea o está en la parte superior?
¿Y qué opinas de poner "Options -Indexes" al final?
¡Gracias por tu respuesta!
Soporte de WPBeginner
Hola Maximilian,
Puedes agregar nuevas líneas después de la línea #END WordPress.
Administrador
yudi cahyadi
buen artículo... tengo una pregunta, después de implementar el código en htaccess. ¿Necesito instalar un plugin de seguridad o no...??
yudi cb (principiante)
Soporte de WPBeginner
Hola Yudi Cahyadi,
Sí, aún necesitas instalar un plugin de seguridad. Por favor, consulta nuestra guía de seguridad de WordPress para más información.
Administrador
Mario von Gollaz
Hola, buen artículo. ¿Hay alguna forma de redirigir en masa?
Mario
Kevin
¡Hola!
¡Gran artículo y solo una pregunta!
¿Debería colocar el código adicional (especialmente las optimizaciones de velocidad) antes o después de la parte # BEGIN WordPress?
Saludos
Kevin
Brian Wohn
Hola, mi desarrollador de temas me dijo que esto podría estar en el htaccess, pero no sé por qué mi WordPress está agregando esto al final de todas mis páginas:
¿Alguna idea de por qué está agregando "/?v=8f2564d40946"? He revisado mis Enlaces Permanentes, Slugs, etc. y nada ahí?
¡Gracias por tu ayuda!
Soporte de WPBeginner
Hola Brian,
Parece que la etiqueta GeoLocation agregada por WooCommerce.
Si estás usando WooCommerce, entonces puedes desactivarlo. Ve a la página de Opciones generales de WooCommerce y desmarca la opción ‘Geolocalizar con soporte de caché de página’.
Administrador
Adrienne Warden
Otro post maravilloso de WP Beginner… Solo un consejo para todos los novatos… Si bien WP Beginner tiene algunos de los mejores consejos y trucos para WordPress, cuando se trata de proteger tu sitio, si estás en un servidor compartido, busca primero “soporte”. He aprendido mucho sobre el backend leyendo posts en WP Beginner, pero la verdad es que no soy un experto en backend y la mayoría de los hostings compartidos ya tienen una solución implementada para este tipo de cosas… Estoy con InMotion y ellos tienen soluciones de un clic para muchos problemas que afectan la seguridad del sitio. Desactivé el índice de archivos directamente desde CPanel…
¡WP Beginner sigue siendo mi referencia para el conocimiento de WordPress… ¡Son geniales!
Fien
Es un buen artículo sobre htaccess. Pero, ¿cómo se implementa esto en un solo archivo? ¿Puedo poner todas las líneas una después de otra?
Soporte de WPBeginner
Hola Fien,
Puedes agregarlas una después de otra.
Administrador
Liew CheonFong
Gran lista. ¡Guardada en marcadores!
¿Tienes la misma lista para el servidor web NGINX (que no lee el archivo .htaccess)?
Pattye
Hay una forma de prohibir que los bots rastreen tu sitio con este archivo. ¿Alguna sugerencia para hacer eso, además de prohibir la IP?