
Después de haber visto cómo realizar una optimización web con plugins, en este artículo vamos a ver cómo podemos mejorar la carga de nuestra página de WordPress sin ellos. Lo haremos de forma manual, modificando el archivo .htaccess, que se encuentra dentro de nuestro sitio.
Para realizar una optimización web con htaccess, es decir, para introducir modificaciones del sitio de forma manual, se necesitan conocimientos previos. Hay que tener mucho cuidado para modificar este archivo con el fin de mejorar la velocidad de nuestro WordPress. Por ello, siempre, siempre, siempre, haced una copia de seguridad justo antes de introducir ningún cambio.
Índice
¿Dónde está el archivo htaccess y para qué sirve?
El archivo htaccess se encuentra en la raiz de nuestro sitio web. No me voy a detener aquí en explicaciones de dónde localizar este archivo, porque ya he hablado de él en otro artículo en el que podéis consultar y aprender dónde está el archivo htaccess.
También hemos hablado en este blog de algunas de sus utilidades. Además de la optimización de nuestra página web, hay otras cuestiones que podemos resolver con htaccess. Aquí tenéis algunas:

SOLUCIONADO Error WordPress «falta la hoja de estilos style.css»

Redirección 301 con htaccess y plugins

Redirección 301 y cómo dejé de existir seis meses
Bien, y una vez visto para qué sirve htaccess y dónde localizar este archivo, veamos ahora algunas de las utilidades que podemos usar para mejorar la velocidad de nuestro WordPress.
Reducir las llamadas HTTP al servidor combinando archivos css y javascript
En el diagnóstico que hacemos al analizar nuestra web con cualquiera de las herramientas de análisis para optimización web de las que hablamos en un artículo anterior, es usual encontrarnos con distintas recomendaciones.
Una de ellas insta a que reduzcamos las llamadas HTTP al servidor .
Para disminuir el tiempo de carga podemos combinar los archivos css y javascript. Accederemos a nuestro archivo httaccess de cualquiera de las tres formas que ya hemos explicado en el artículo enlazado más arriba y, arriba del todo, introducimos el siguiente código:
RewriteEngine On RewriteBase / RewriteRule ^css/(.*\.css) /combine.php?type=css&files=$1 RewriteRule ^javascript/(.*\.js) /combine.php?type=javascript&files=$1
Activar la compresion Gzip
Las herramientas de análisis de velocidad como
Page Speed Insights también nos proponen activar la compresión Gzip si no la tenemos activada.
En todos los navegadores modernos se admite y negocia automáticamente la compresión Gzip en todas las solicitudes HTTP. Al habilitarla reducimos el tamaño de las respuestas transferidas hasta en un 90 % y eso reduce el tiempo necesario para la descarga, el uso de datos y el tiempo de renderización de páginas.
Introduciremos la siguiente orden en el archivo htaccess:
-- Compresión GZIP -- <IfModule mod_gzip.c> mod_gzip_on Yes mod_gzip_dechunk Yes mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ mod_gzip_item_include handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </IfModule>
Para navegadores antiguos:
-- Comprimir DEFLATE --
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
</IfModule>
Para especificar el tiempo de expiración de la caché del navegador introduciremos la siguiente orden:
-- Expiración en caché de navegador -- <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 image/x-icon "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresDefault "access plus 1 week" </IfModule>
Otros usos de htaccess
Podemos modificar el archivo htaccess para otros usos:
>> Evitar el spam en los comentarios
rewriteEngine On rewriteCond %{REQUEST_METHOD} POST rewriteCond %{REQUEST_URI} \.wp-comments-post\.php* rewriteCond %{HTTP_REFERER} !\.*mi-dominio.com\.* [OR] rewriteCond %{HTTP_USER_AGENT} ^$ rewriteRule (\.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
>> Protección de htaccess
<Files .htaccess> Order allow,deny Deny from all </Files>
>> Redirección de una web sin www a una con www
RewriteEngine On RewriteCond %{HTTP_HOST} ^tusitio.com [NC] RewriteRule ^(.*)$ http://www.tusitio.com/$1 [L,R=301]
>> Redireccionar de una web con www a una sin www
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.tusitio.com [NC] RewriteRule ^(.*)$ http://tusitio.com/$1 [L,R=301]
>> Redireccionar de un dominio a otro
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^sitioanterior.com$ [OR] RewriteCond %{HTTP_HOST} ^www.sitioanterior.com$ RewriteRule (.*)$ http://www.sitionuevo.com/$1 [R=301,L] </IfModule>
>> Redirección de http a https
RewriteEngine On RewriteCond %{ENV:HTTPS} !on [NC] RewriteCond %{HTTP_HOST} ^sitioweb\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.sitioweb\.com$ RewriteRule ^(.*)$ https://sitioweb.com/$1 [R=301,L,NE]
>> Redirección de https a http
RewriteEngine On RewriteCond %{ENV:HTTPS} on [NC] RewriteCond %{HTTP_HOST} ^sitioweb\.com$ [OR] RewriteCond %{HTTP_HOST} ^www\.sitioweb\.com$ RewriteRule ^(.*)$ http://sitioweb.com/$1 [R=301,L,NE]
Cómo crear un archvo htaccess
Todo sitio creado con WordPress y que tiene un servidor web Apache debería tener un archivo htaccess.
Los archivos htaccess se usan para modificar la configuración servidor, para habilitar o deshabilitar funcionalidades, establecer protección…
Para crear un archivo htaccess si no tenemos ninguno, simplemente utilizamos un editor de texto plano como Notepad, Simpletext o el mismo Bloc de Notas y le damos el nombre htaccess.
Dentro del archivo escribimos lo siguiente:
BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] END WordPress
A continuación, subimos ese archivo recién creado a la raiz de nuestro sitio web con cualquiera de los métodos que explicamos en este artículo en el que hablamos de cómo localizar el archivo sobre htaccess.
Una vez esté en la raiz, pincharemos una vez sobre el archivo y le pondremos un punto delante de manera que el nombre definitivo del archivo será .htaccess.
Si este artículo te ha resultado interesante o crees que puede serlo a otras personas, por favor compártelo. También puedes valorarlo a continuación: