Configuración básica para .htaccess

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.