El archivo .htaccess es una parte fundamental de nuestra instalación ya que podremos establecer algunas medidas de seguridad y de optimización sin tener que recurrir a plugins.
Configuración para .htaccess
Al instalar WordPress, uno de los primeros pasos es ajustar la configuración, esto lo puedes hacer desde Ajustes.
Dentro de esos ajustes, al configurar los enlaces permanentes se generará en la raiz de la instalación el archivo .htaccess que tendrá estas lineas
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Lo siguiente es proteger el propio archivo .htaccess
# Protect .htaccess <files ~ "^.*.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>
También podemos hacer lo mismo con el archivo wp-config.php
# Protect WP-Config file <files wp-config.php> order allow,deny deny from all </files>
Es fundamental desactivar la navegación entre directorios
# Disable directory listing Options All -Indexes
Si no vas a usar aplicaciones de terceros que conecten a tu WordPress, desactiva el archivo xmlrpc.php por seguridad
# Protect XMLRPC file <Files xmlrpc.php> order deny,allow deny from all </Files>
Pasando a la parte de optimización, podemos habilitar la compresión GZIP
<IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for really old browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
También podemos establecer la caché del navegador
# Expires caching <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule>
Estos ajustes de optimización serán determinante para ganar un tiempo extra en los procesos de carga de nuestra web.
Si usas un certificado SSL, asegúrate de que rediriges todo el tráfico HTTP a HTPPS con las siguientes lineas
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{SERVER_NAME}/$1 [R,L]
Podemos hacer más ajustes en el archivo .htaccess pero de momento si empiezas con una instalación nueva o nunca has modificado este archivo, estas modificaciones son suficientes para una configuración óptima.