La guía definitiva para el archivo .htaccess de WordPress

Publicado: 2022-08-10

Realmente 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.
¡¿En realidad?!
¿Chistes? ¿En serio?

¿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

  1. ¿Qué es un archivo .htaccess?
    1. ¿Cómo funcionan los archivos .htaccess?
      1. Cómo crear un archivo .htaccess
        1. Medidas de precaución antes de personalizar un archivo .htaccess
          1. Cómo modificar su archivo .htaccess correctamente.
            1. ¿Cómo personalizar el archivo .htaccess en la raíz de un sitio web?
              1. Cómo personalizar el archivo .htaccess en wp-admin
                1. ¿Cómo personalizar el archivo .htaccess en wp-includes?
                  1. ¿Cómo personalizar el archivo .htaccess en wp-content?
                    1. ¿Cómo personalizar el archivo .htaccess en wp-content/uploads?
                      1. 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.

                        ¡Tus mejores proyectos de WordPress necesitan el mejor anfitrión!

                        WPMarmite recomienda Bluehost: gran rendimiento, gran soporte. Todo lo que necesitas para un gran comienzo.

                        Prueba Bluehost
                        CTA Bluehost WPMarmite

                        ¿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

                        1. Cree un nuevo archivo de texto y asígnele el nombre htaccess.txt .
                        2. Edítalo como quieras.
                        3. Envíalo a la raíz de tu servidor.
                        4. Renómbrelo .htaccess .
                        Un archivo .htaccess en un software FTP.

                        Cree un archivo .htaccess desde su servidor

                        1. Haga clic derecho en el directorio donde debería estar.
                        2. Agregue un nuevo archivo y asígnele el nombre .htaccess.
                        3. 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!

                        ¡Cuidado con los ojos, puede picar!

                        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:

                        500 Ejemplo de error interno del servidor.

                        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:

                        1. En la raíz del sitio web
                        2. En wp-admin
                        3. En wp-includes
                        4. En wp-content
                        5. 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:

                         # BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\. php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
                        Código predeterminado del archivo .htaccess de WordPress

                        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í:

                        Índice de /wp-incluye

                        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:

                         # Disable display of directory contents Options All -Indexes

                        También es posible usar este código para evitar el listado de directorios:

                         # Alternative to prevent directory listing IndexIgnore *

                        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:

                         # Hide the information from server ServerSignature Off

                        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 :

                         # Enable following symbolic links Options +FollowSymLinks

                        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:

                         # Choose time zone SetEnv TZ America/New_York

                        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.

                         # Default encoding of text and HTML files AddDefaultCharset UTF-8

                        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 :

                         # Protect the wp-config.php file <files wp-config.php> order allow,deny deny from all </files>

                        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:

                         # Protect .htaccess and .htpasswds files <Files ~ "^.*\.([Hh][Tt][AaPp])"> order allow,deny deny from all satisfy all </Files>

                        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.

                         # Avoid comment spam <IfModule mod_rewrite.c> RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.mywebsite.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] </IfModule>

                        No olvide reemplazar mywebsite.com con su nombre de dominio.

                        Únase a los suscriptores de WPMarmite

                        Obtenga las últimas publicaciones de WPMarmite (y también recursos exclusivos).

                        SUSCRÍBASE AHORA
                        Boletín en inglés de WPMarmite

                        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:

                         # Prevent the detection of an author's ID <IfModule mod_rewrite.c> RewriteCond %{QUERY_STRING} ^author=([0-9]*) RewriteRule .* - [F] </IfModule>

                        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 :

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        Reemplace mywebsite.com con su nombre de dominio

                        Para permitir que ciertos sitios web muestren sus imágenes, use el siguiente código:

                         # Disable hotlinking of your images RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite2.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?mywebsite3.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://fakeimg.pl/400x200/?text=Do_not_touch_the_images [NC,R,L]
                        Reemplace mywebsite.com, mywebsite2.com y mywebsite3.com con los dominios de su elección

                        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.

                         # Ban an IP address <Limit GET POST> order allow,deny deny from xxx.xxx.xxx.xxx allow from all </Limit>
                        Reemplace xxx.xxx.xxx.xxx con la dirección IP que se prohibirá

                        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:

                         # Prevent visitors to these sites from accessing yours <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} mywebsite1.com [NC,OR] RewriteCond %{HTTP_REFERER} mywebsite2.com [NC,OR] RewriteRule .* - [F] </ifModule>
                        Reemplace mywebsite1.com y mywebsite2.com con los sitios web de su elección

                        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:

                         # Redirect visitors from one site to another RewriteEngine on RewriteCond %{HTTP_REFERER} sourcewebsite\.com/ RewriteRule ^(.*)$ http://www.destinationwebsite.com [R=301,L]
                        Reemplace los sitios web de origen y destino con los de su elección

                        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 :

                         # Redirection of any page Redirect 301 /oldpage/ http://www.mywebsite.com/newpage # Redirection of a new category (with renaming from category to topic) Redirect 301 /category/technology/ http://www.mywebsite.com/topic/techno/

                        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:

                         # Redirection of site without www to www RewriteEngine On RewriteCond %{HTTP_HOST} ^mywebsite. com [NC] RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [L,R=301]
                        Reemplace mywebsite.com con su nombre de dominio

                        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:

                         # Redirection to HTTPS RewriteCond %{SERVER_PORT} ^80$ RewriteRule ^(. *)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]

                        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):

                         # Force download for these file types AddType application/octet-stream .doc .docx .xls .xlsx .csv .mp3 .mp4

                        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:

                         # Maintenance page RewriteEngine on RewriteCond %{REQUEST_URI} ! /maintenance.html$ RewriteCond %{REMOTE_ADDR} !^xxx\.xxx\.xxx\.xxx RewriteRule $ /maintenance.html [R=302,L]

                        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:

                         # Caching of files in the browser <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" ExpiresByType text/html "access plus 0 seconds" ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" ExpiresByType application/pdf "access plus 0 seconds" ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" ExpiresByType application/x-font-ttf "access plus 1 month" ExpiresByType font/opentype "access plus 1 month" ExpiresByType application/x-font-woff "access plus 1 month" ExpiresByType application/x-font-woff2 "access plus 1 month" ExpiresByType image/svg+xml "access plus 1 month" ExpiresByType application/vnd.ms-fontobject "access plus 1 month" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType video/ogg "access plus 1 month" ExpiresByType audio/ogg "access plus 1 month" ExpiresByType video/mp4 "access plus 1 month" ExpiresByType video/webm "access plus 1 month" ExpiresByType text/css "access plus 6 month" ExpiresByType application/javascript "access plus 6 month" ExpiresByType application/x-shockwave-flash "access plus 1 week" ExpiresByType image/x-icon "access plus 1 week" </IfModule> # Headers Header unset ETag FileETag None <ifModule mod_headers.c> <filesMatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(css)$"> Header set Cache-Control "public" </filesMatch> <filesMatch "\.(js)$"> Header set Cache-Control "private" </filesMatch> <filesMatch "\.(x?html?|php)$"> Header set Cache-Control "private, must-revalidate" </filesMatch> </ifModule>

                        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.

                        Acelera tu sitio web con WP Rocket

                        Convierta su sitio en un cohete con el complemento de almacenamiento en caché más poderoso reconocido por los expertos de WordPress.
                        Prueba WP Rocket
                        Logotipo WP Rocket

                        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:

                         # Compression of static files <IfModule mod_deflate. c> AddOutputFilterByType DEFLATE text/xhtml text/html text/plain text/xml text/javascript application/x- javascript text/css BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\. 0 [678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \. (?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=! dont- vary </IfModule> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/json

                        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:

                         # Block the use of certain scripts RewriteEngine On RewriteBase / RewriteRule ^wp- admin/includes/ - [F,L] RewriteRule ! ^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/. +\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L]

                        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 :

                         # Protection against file injections RewriteCond %{REQUEST_METHOD} GET RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=http:// [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR] RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC] RewriteRule .* - [F]

                        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).

                         # Various protections (XSS, clickjacking and MIME-Type sniffing) <ifModule mod_headers.c> Header set X-XSS-Protection "1; mode=block" Header always append X-Frame-Options SAMEORIGIN Header set X-Content-Type-Options: "nosniff” </ifModule>

                        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).

                         <Limit GET POST PUT> order deny,allow deny from all # Alex's IP allow from xxx.xxx.xxx.xxx # Nico's IP allow from xxx.xxx.xxx.xxx # IP of another access point allow from xxx.xxx.xxx.xxx </Limit>

                        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:

                        La interfaz de la herramienta HTPasswd Generator.

                        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:

                         alex:ieS547B1UxY8M jack:rSqEJf0SeTlRs
                        Contenido ficticio de un archivo .htpasswd

                        A continuación, inserte el siguiente código en el archivo .htaccess :

                         # Second authentication for administration <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> AuthName "Login to the administration" AuthType Basic AuthUserFile "/full/path/to/the/file/.htpasswd" Require valid-user

                        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:

                         <?php echo "Path to copy: " . realpath('.htaccess'); ?>
                        Coloque el archivo info.php en wp-admin

                        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 :

                         AuthType Basic AuthName "Protected page" AuthUserFile /home/.htpasswd Require valid-user <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files> <Files admin-post.php> Order allow,deny Allow from all Satisfy any </Files> <Files "\.(css|gif|png|js)$"> Order allow,deny Allow from all Satisfy any </Files>
                        Coloque el archivo info.php en wp-admin

                        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.

                         # Blocks direct access to PHP files (Thanks to Sucuri) <Files wp-tinymce.php> allow from all </Files> <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch> <Files wp-tinymce.php> Allow from all </Files> <Files ms-files.php> Allow from all </Files>

                        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:

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\.(?i:php)$"> <IfModule !mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core.c> Require all denied </IfModule> </FilesMatch>

                        ¿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).

                         # Blocks direct access to PHP files (Thanks to Sucuri) <FilesMatch "\. (?i:php)$"> <IfModule ! mod_authz_core.c> Order allow,deny Deny from all </IfModule> <IfModule mod_authz_core. c> Require all denied </IfModule> </FilesMatch>

                        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.

                        Haz clic para twittear

                        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.