La guía definitiva para el archivo .htaccess de WordPress
Publicado: 2022-08-10Realmente no soy fácil de entender: mi código predeterminado parece chino.
Me destaco por mi singular apariencia, ya que mi nombre no tiene extensión.
También tengo poderes mágicos. Si me configura correctamente, soy capaz de lo siguiente:
- Mejorar la seguridad de su sitio web.
- Aumentar la velocidad de carga de tus páginas.
- Configuración de redireccionamientos.
- Limitación del correo no deseado.
- E incluso haciendo unas cuantas bromas: ese es mi lado descarado.

¿Todavía no sabes quién soy? Soy el archivo .htaccess
de su sitio web de WordPress. Conozcámonos mejor en esta guía sobre cómo trabajo.
A lo largo de estas líneas descubrirás más de treinta pautas para configurarme. Se materializan en forma de piezas de código listas para usar, que solo tendrás que copiar y pegar en casa.
¡Sigue leyendo, no te decepcionará!
Visión general
- ¿Qué es un archivo .htaccess?
- ¿Cómo funcionan los archivos .htaccess?
- Cómo crear un archivo .htaccess
- Medidas de precaución antes de personalizar un archivo .htaccess
- Cómo modificar su archivo .htaccess correctamente.
- ¿Cómo personalizar el archivo .htaccess en la raíz de un sitio web?
- Cómo personalizar el archivo .htaccess en wp-admin
- ¿Cómo personalizar el archivo .htaccess en wp-includes?
- ¿Cómo personalizar el archivo .htaccess en wp-content?
- ¿Cómo personalizar el archivo .htaccess en wp-content/uploads?
- Resumen final sobre el archivo .htacess en WordPress
Escrito originalmente en octubre de 2015, este artículo se actualizó por última vez en julio de 2022.
¿Qué es un archivo .htaccess?
Un archivo .htaccess
es un archivo de configuración para Apache, el software que la mayoría de los servidores web utilizan para ejecutarse. El contenido de este archivo le dará instrucciones a Apache para que el servidor se comporte de una determinada manera.
Tenga cuidado, algunos servidores web solo se ejecutan en el servidor NGINX. Este es el caso de Flywheel, por ejemplo. No tienen un archivo .htaccess
.
Casi todos los sitios web que usan WordPress tienen un archivo
.htaccess
. De hecho, WordPress lo crea automáticamente durante la instalación, para incluir la configuración de enlaces permanentes para el sitio web.
Cuando vas a Configuración > Enlaces permanentes para elegir un formato de URL (normalmente "Nombre de la publicación"), el archivo .htaccess
se modifica.
¿Cómo funcionan los archivos .htaccess?
Debes saber que un sitio web puede tener varios archivos .htaccess
.
Primero, está el archivo principal .htaccess
, ubicado en la raíz del sitio web.
La raíz de un sitio web es donde los archivos de WordPress (carpetas wp-admin
, wp-includes
y wp-content
más algunos otros archivos) se encuentran en su servidor. Puede acceder a ellos conectándose a su cliente FTP, por ejemplo. El nombre de esta carpeta raíz puede variar según su proveedor de alojamiento. Por ejemplo, se llama public_html
con Bluehost (enlace de afiliado) y www
con OVH.
El contenido del archivo principal
.htaccess
influirá en todo el sitio web.
Se pueden crear otros archivos .htaccess
en subdirectorios. En el caso de WordPress, uno puede colocarse en el directorio wp-admin
o wp-content/uploads
, por ejemplo.
Los archivos .htaccess
secundarios influirán en los directorios en los que se encuentran, así como en sus subdirectorios.
Si imaginamos que un archivo .htaccess
está presente en wp-content/uploads
, el directorio de uploads
y todos sus subdirectorios se verán afectados por lo que se define en el archivo .htaccess
.
Cómo crear un archivo .htaccess
Lógicamente, su sitio web debe tener al menos un archivo .htaccess
, el que se encuentra en la raíz de su sitio web. Puede editarlo usando su editor de código favorito (Sublime Text, Brackets, Notepad++, Coda, etc.).
Existen otras soluciones, como el complemento Htaccess File Editor, para editarlo directamente desde su panel de WordPress.
Pero, si hay algún problema, tendrá que pasar por su cliente FTP y editor de código, por lo que también podría hacerlo directamente a mano.
Si necesita agregar un archivo .htaccess
a un subdirectorio, siga estas instrucciones.
Cree un archivo .htaccess desde su computadora
- Cree un nuevo archivo de texto y asígnele el nombre
htaccess.txt
. - Edítalo como quieras.
- Envíalo a la raíz de tu servidor.
- Renómbrelo
.htaccess
.

Cree un archivo .htaccess desde su servidor
- Haga clic derecho en el directorio donde debería estar.
- Agregue un nuevo archivo y asígnele el nombre
.htaccess.
- Edítelo con su editor de código (Notepad++, Coda, Sublime Text u otro).
Felicitaciones, ahora sabe para qué sirve un archivo .htaccess
y cómo crearlo. Antes de averiguar qué pautas puede agregarle, ¡recuerde ser cauteloso!

Medidas de precaución antes de personalizar un archivo .htaccess
Personalizar el código de un archivo .htaccess
es bastante sencillo (especialmente con los fragmentos de código que se ofrecen en el resto de este artículo), pero aún así no debería entrar en él con las armas encendidas.
Antes de realizar cualquier cambio, le recomiendo que primero haga una copia de seguridad de su sitio web de WordPress. Para esto, puede usar un complemento dedicado como UpdraftPlus.
A continuación, guarde el contenido inicial de su archivo .htaccess
. Para hacer esto, puedes:
- Duplique el archivo
.htaccess
en su servidor en un archivo.htaccess-initial
. - Copie el contenido del archivo en un archivo de texto, en su computadora.
Si tiene un problema, puede restaurar fácilmente el contenido original.
Cómo modificar su archivo .htaccess correctamente.
Para realizar cualquier cambio, siga el siguiente procedimiento:
- Abra el archivo en su editor de código.
- Coloque sus adiciones en el archivo.
- Guárdalo.
- Actualice su sitio web para ver si todo está bien.
Actualizar su sitio web es muy importante: ayudará a ver si hay algún problema con el código agregado.
En general, aparecerá un error 500 "Error interno del servidor" en la pantalla, si hay un problema:

En este caso, deshaga los cambios y vuelva a guardar. Todo debería volver a la normalidad.
A veces, algunos hosts no aceptan un código específico en el archivo .htaccess
...
Tendrás que lidiar con eso.
Póngase en contacto con el servicio de atención al cliente de su anfitrión para obtener más información. Con suerte, solo necesitará una ligera modificación para que funcione.
¿Estás experimentando un error de WordPress, como el típico y generalizado error 500? WPMarmite ofrece una guía completa para resolver los principales.
Esta vez, todo está bien. Ya sabes cómo funciona un archivo .htaccess
, cómo crearlo y editarlo correctamente.
Ahora descubre cómo personalizarlo en 5 lugares diferentes:
- En la raíz del sitio web
- En
wp-admin
- En
wp-includes
- En
wp-content
- En
wp-content/uploads
Comencemos de inmediato con la raíz del sitio web. Verás, esta será la pieza más consistente.
Como en todos los lenguajes informáticos, el archivo .htaccess
te permite incluir comentarios. Para hacer esto, simplemente coloque el símbolo #
al comienzo de una línea para que la línea se ignore. Esto es muy útil para recordar qué líneas de código realizan. Podrás ver los comentarios en los ejemplos de este artículo.
¿Cómo personalizar el archivo .htaccess en la raíz de un sitio web?
Si su instalación salió bien, encontrará un archivo .htaccess
en la raíz de su sitio web. Contendrá el siguiente código:
Si está utilizando WordPress en modo multisitio, el código predeterminado del archivo .htaccess
será diferente. Esto no le afectará en la mayoría de los casos.
Ahora que ha localizado este archivo, podrá mejorar su contenido con los fragmentos de código a continuación para realizar algunas tareas específicas. Puede tratarse de seguridad, pero también de otras cosas.
Asegúrese de no incluir ningún código entre los comentarios # BEGIN WordPress
y # END WordPress
, ya que es posible que este código se modifique en algunos casos.
Otro recordatorio: guarde su archivo .htaccess
original antes de realizar cualquier cambio. Tienes que poder volver si tienes algún problema.
Deshabilitar directorios de visualización
De forma predeterminada, si intenta acceder a los directorios de un sitio web, el servidor los mostrará. El formato se verá así:

Puedes imaginar que esto es pan y mantequilla para los piratas informáticos. El hecho de que puedan ver los archivos en su sitio web les ayudará a poder atacarlo mejor. Inserte el siguiente código en su archivo .htaccess
para proteger su sitio web:
También es posible usar este código para evitar el listado de directorios:
Ocultar información del servidor
Con algunos proveedores de alojamiento, las páginas mostradas pueden contener información del servidor. Esta información puede dar detalles a posibles atacantes.
Por lo tanto, es mejor ocultarlos con el siguiente código:
Habilitar los siguientes enlaces simbólicos
Debo estar hablando un completo galimatías para usted, pero es importante insertar esta línea de código en su archivo principal .htaccess
:
Esto permitirá que su servidor siga lo que se denominan enlaces simbólicos, es decir, códigos abreviados.
Configura tu servidor a la hora correcta
Esto no es realmente importante, pero si su servidor está en el extranjero, puede indicarle que establezca su zona horaria con esta línea de código:
Establecer la codificación de caracteres predeterminada
El siguiente código le permite configurar la codificación de caracteres para archivos de texto y HTML como UTF-8
(una codificación de caracteres de computadora). Sin esto, existe el riesgo de que los acentos se malinterpreten.
Proteger wp-config.php
El archivo de configuración de su sitio web ( wp-config.php
) contiene las credenciales para conectarse a la base de datos.
Este es el archivo más confidencial de su sitio web. Puede ser el objetivo de posibles piratas informáticos. Se puede proteger agregando este código al archivo principal .htaccess
:
Proteja el propio archivo .htaccess
Al igual que el archivo wp-config.php
, el archivo .htaccess
debe protegerse al máximo. Para hacerlo, inserte este código:
Limite el spam de comentarios
Lo sabes tan bien como yo si tienes un blog, el spam de comentarios es un verdadero dolor de cabeza.
Afortunadamente, hay un truco para evitar esto directamente en el archivo .htaccess
. Esta no es una solución rápida pero, combinada con el complemento Akismet, la mayoría del correo no deseado debe filtrarse.
No olvide reemplazar mywebsite.com
con su nombre de dominio.
Evitar la detección del ID de un autor
Incluso si utiliza un inicio de sesión de usuario complejo, todavía se puede detectar.
Por supuesto, asumo que aún no lo estás mostrando públicamente con tu tema (puede suceder).
Intente escribir mywebsite.com/?author=x
reemplazando x con 1 para el administrador o la ID de uno de sus autores. Si no está protegido, será redirigido a una página como mywebsite.com/author/author_id
.
Así es como encuentra una identificación de usuario en dos segundos. A partir de ahí, todo lo que queda es tratar de adivinar su contraseña.
Para protegerse de esta técnica, utilice el siguiente código:
Deshabilitar hotlinking de tus imágenes
¿Qué diablos es hotlinking? No te preocupes, te lo explicaré todo.
Básicamente, una vez que agrega imágenes a su sitio web (por ejemplo, en un artículo), cualquiera puede copiar la URL de una de sus imágenes y mostrarla en su sitio web.
Puede pensar que esto no es tan malo, pero si por alguna razón un sitio web muy seguido toma su imagen y la muestra en una de sus páginas, se realizarán solicitudes a su servidor.
Hotlinking en realidad está robando ancho de banda . Si su sitio web está instalado en un pequeño servidor compartido, es posible que su anfitrión no lo aprecie porque los recursos son limitados.
Para evitar el problema, inserta y personaliza este código en tu archivo .htaccess
:
Para permitir que ciertos sitios web muestren sus imágenes, use el siguiente código:
También puede personalizar la imagen que se mostrará en lugar de la imagen solicitada. Agregué algo simple, pero puedes ser más creativo.
Prohibir direcciones IP
Si ha notado que algunas direcciones IP intentan iniciar sesión en la administración de su sitio web con demasiada frecuencia (por ejemplo, con el complemento de bloqueo de inicio de sesión), puede deshacerse de ellas prohibiendo su dirección IP.
También tiene la posibilidad de recuperar las direcciones IP de los spammers de comentarios para prohibirlos en su sitio web.
Esta solución no es permanente ya que su atacante puede cambiar la dirección IP, pero puede funcionar contra personas menos capacitadas.
Bloquear visitantes de ciertos sitios web
Si se da cuenta de que un sitio web que no cumple con los requisitos se ha vinculado al suyo y no desea que los visitantes de ese sitio web tengan acceso a su sitio web, use este código:

Redirigir a los visitantes de un sitio web a otro
Para llevar el consejo anterior un paso más allá, puede redirigir a los visitantes de ciertos sitios web a otro sitio web.
Aquí está el código a utilizar:
Crear redirecciones
El archivo .htaccess
le permite hacer redireccionamientos (redireccionar la URL A a la URL B).
Esto es útil para redirigir algunas páginas, pero si desea crear muchos redireccionamientos, le recomiendo el complemento de redirección de WordPress, que presenté en este artículo.
Cómo crear redirecciones en el archivo .htaccess
:
Redirigir dirección sin www a una con www
Al configurar un sitio web, una de las acciones a realizar primero es redirigir el sitio web sin www
a la versión con www
(o viceversa).
Si realiza la prueba la próxima vez que cree un sitio web, encontrará que las dos direcciones no necesariamente se vinculan a su sitio web.
En algunos casos, la empresa de alojamiento se encargará de esto automáticamente, o debe activarse a través de la página de administración en el sitio web de alojamiento (este es el caso de Gandi, por ejemplo).
Si necesita hacer esta redirección manualmente, use el siguiente código reemplazando mywebsite.com
con su sitio web:
Redirigir dirección con www a una sin www
Por otro lado, si no desea que aparezca www
delante del nombre de su sitio web (como con WPMarmite), es posible redirigir a la versión sin www
.
Inserte el siguiente código en el archivo .htaccess
:
Advertencia : no utilice este código con el anterior o su sitio web sufrirá un bucle de redirección (ya que la versión sin www
redirigirá a la versión con www
que redirigirá a la versión sin www
, etc.).
Redirigir a HTTPS
Si ha configurado un certificado SSL en su sitio web para cambiarlo a HTTPS, debe asegurarse de que todos sus visitantes estén navegando en la versión segura de su sitio web.
De lo contrario, los piratas informáticos podrían recuperar información confidencial (datos personales o bancarios, por ejemplo).
Use el siguiente código para cambiar todo su sitio web a HTTPS:
Forzar la descarga de archivos específicos
Cuando desea descargar un archivo de un sitio web, su navegador a veces intenta abrirlo para mostrarlo.
Personalmente, encuentro esto conveniente para archivos PDF. Por otro lado, es muy desagradable para otro tipo de archivos.
Inserte el siguiente código para que sus visitantes descarguen archivos con estas extensiones directamente (modifique a su gusto):
Crear una página de mantenimiento personalizada
En un artículo anterior, descubrió una selección de complementos de mantenimiento. Sin embargo, hay casos en los que la página de mantenimiento no podrá mostrarse.
Eso es molesto, ¿no?
Para obtener una página de mantenimiento, puede utilizar el siguiente código:
Para que esto funcione, necesitas:
- Cree un archivo
maintenance.html
con contenido que indique que el sitio web está en mantenimiento. - Agregue su dirección IP en la línea 4 (asegurándose de mantener el "
\
") para permitirle acceder al sitio web (descubra su dirección IP en este sitio web).
Cuando finalice el mantenimiento, coloque " #
" delante de cada línea para pasarlas como comentario.
Habilitar almacenamiento en caché
El archivo .htaccess
le permite almacenar en caché ciertos archivos en su sitio web en el navegador de su visitante para que se carguen más rápido.
De hecho, el navegador no necesitará volver a descargar archivos en su caché.
Para hacer esto, inserte el siguiente código:
El almacenamiento en caché de archivos será efectivo durante la duración especificada para cada tipo de archivo o hasta que el visitante borre su caché.
Para acelerar su sitio web con el almacenamiento en caché, recomiendo usar el complemento premium WP Rocket (enlace de afiliado). Como es simple y rápido de configurar, es perfecto para principiantes en WordPress. Con su ayuda, no necesitará usar el fragmento (fragmento de código) ofrecido anteriormente.
Habilitar la compresión
Además de todo lo que hemos visto hasta ahora, es posible comprimir algunos recursos antes de que se transfieran del servidor al navegador.
Y la compresión de archivos significa una velocidad de carga de página más rápida. Por lo tanto, le recomiendo que implemente este código para aumentar la velocidad de su sitio web:
Deshabilitar el acceso a ciertos scripts
Para funcionar, WordPress usa scripts ubicados en el directorio wp-includes
. Sin embargo, no hay razón para acceder a ellos directamente. Utilice este código para limitar el acceso:
Protección contra inyecciones de archivos
Los piratas informáticos pueden intentar enviar archivos a su servidor para tomar el control de su sitio web. Para lanzar una llave inglesa en su camino, puede incluir este código en su archivo .htaccess
:
Protección contra otras amenazas
En Facebook, Richard me dijo que era posible protegerse contra el secuestro de clics y otras amenazas agregando algunas líneas en el archivo .htaccess
.
Para su información, el secuestro de clics es una técnica que ayuda a que un visitante crea que está en su sitio web, cuando no lo está, utilizando etiquetas frame
o iframe
.
Por lo tanto, el siguiente código lo ayuda a protegerse del secuestro de clics, combate otras amenazas como MIME Sniffing y bloquea el contenido en caso de un ataque XSS (que inyectará HTML o JavaScript en variables mal protegidas).
Y eso es todo, acaba de pasar por un montón de optimizaciones para incorporar en el archivo .htaccess
ubicado en la raíz del sitio web.
Sigamos adelante: nuevos fragmentos de código para las carpetas wp-admin
, wp-icludes
, wp-content
y wp-content/uploads
.
Cómo personalizar el archivo .htaccess en wp-admin
wp-admin
es la guarida de su sitio web. El lugar donde vas a escribir artículos, configurar tus menús, configurar tu tema y mucho más.
No hace falta decir que ninguna persona no autorizada debe ingresar a este refugio. De lo contrario, cuidado con las consecuencias.
Esto es lo que puede hacer para reforzar la seguridad con un archivo .htaccess
que coloca en la carpeta wp-admin
de su sitio web.
Limitar el acceso a la administración del sitio web
Solo las personas con las direcciones IP enumeradas podrán acceder a la carpeta wp-admin
. Bastante útil para evitar que extraños inicien sesión en su sitio web (incluso si tienen la contraseña correcta).
Agregar una segunda autenticación
Cuando inicia sesión en el administrador de un sitio web de WordPress, utiliza un nombre de usuario y una contraseña. Bueno, es posible agregar un segundo a través del archivo .htaccess
y otro archivo.
Primero, cree un archivo llamado .htpasswd
en el directorio wp-admin
e inserte un par de nombre de usuario y contraseña en él. Utilice este sitio web para guiarse:

Ingrese el nombre de usuario que desea usar en el primer campo y su contraseña en el segundo, luego haga clic en "Generar archivo .htpasswd
".
Luego copie la línea que aparecerá en el archivo .htpasswd
. Si necesita crear varios usuarios, repita el proceso y agregue el nuevo par de nombre de usuario/contraseña en una nueva línea.
Por ejemplo, puede obtener este tipo de archivo:
A continuación, inserte el siguiente código en el archivo .htaccess
:
La parte complicada de esta operación es obtener correctamente la ruta completa al archivo .htpasswd
. Para encontrarlo con seguridad, cree un archivo info.php
e inserte el siguiente código:
Vaya a yourwebsite.com/wp-admin/info.php
y obtendrá la ruta real del archivo .htpasswd
que se colocará en el archivo .htaccess
. Elimine el archivo info.php
una vez que obtenga la ruta correcta.
Si inserta este código tal cual, las solicitudes AJAX ya no funcionarán. Use el siguiente fragmento para solucionar el problema :
Si entendió todo lo que acabo de mencionar, debe tener autenticación dual para acceder a la administración de WordPress.
Pasemos a la siguiente parte.
¿Cómo personalizar el archivo .htaccess en wp-includes?
Bloquear el acceso directo a archivos PHP
Cree un archivo .htaccess
en wp-includes
y pegue el siguiente código para evitar que los archivos PHP se carguen directamente.
El código anterior es proporcionado por el complemento Sucuri.
¿Cómo personalizar el archivo .htaccess en wp-content?
Bloquear el acceso directo a archivos PHP
Para la carpeta wp-content
, el código es similar, solo tiene las excepciones eliminadas:
¿Cómo personalizar el archivo .htaccess en wp-content/uploads?
Bloquear el acceso directo a archivos PHP
Con este mismo código, proteja la carpeta donde se almacenan los medios para evitar que los archivos PHP sean ejecutados por alguien externo (un pirata informático desagradable, por ejemplo).
Resumen final sobre el archivo .htacess en WordPress
Como ha descubierto a lo largo de esta guía, el archivo .htaccess
es una herramienta muy poderosa para configurar el servidor de su sitio web.
Cuando se maneja con cuidado y precaución, puede mejorar la seguridad, el rendimiento, el SEO o incluso la experiencia del usuario de su sitio web.
El archivo #htaccess de tu sitio de #WordPress es una herramienta poderosa. Descubra cómo funciona y configúrelo como un chef con los consejos de WPMarmite.
Una vez más, te recomiendo que mantengas siempre una copia de seguridad de tu archivo .htaccess
original para realizar un reinicio en caso de que haya algún problema.
Procede con tus cambios con sumo cuidado (¡te lo habré advertido!). Pueden ocurrir errores o incompatibilidades dependiendo del host de su sitio web.
Si bien se ha cubierto bastante en este artículo, es posible ir más allá en la configuración de su .htaccess
, utilizando varios recursos:
- La documentación de WordPress y la documentación de Apache (el software que ejecuta su servidor).
- El blog Perishable Press, que incluso tiene un libro pagado sobre el tema.
Antes de despedirme, me gustaría recibir su opinión en los comentarios. ¿Personalizaste tu archivo .htaccess
?
Y lo más importante, siéntete libre de compartir cualquier fragmento de código que estés acostumbrado a usar con otros lectores.