Saltar al contenido
Experiencias en Red

Optimización web sin plugins WordPress (II): htaccess

optimizacion web htaccess

Notice: rest_validate_value_from_schema ha sido llamada de forma incorrecta. Es necesaria la palabra clave de esquema «type» para display_setting. Por favor, visita Depuración en WordPress para más información. (Este mensaje fue añadido en la versión 5.5.0). in /var/www/vhosts/saboresdeteruel.es/experienciasenred.com/wp-includes/functions.php on line 5311

Notice: rest_validate_value_from_schema ha sido llamada de forma incorrecta. La palabra clave «type» de Schema para display_setting solo puede ser uno de los tipos integrados: array, object, string, number, integer, boolean y null. Por favor, visita Depuración en WordPress para más información. (Este mensaje fue añadido en la versión 5.5.0). in /var/www/vhosts/saboresdeteruel.es/experienciasenred.com/wp-includes/functions.php on line 5311

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.

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


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>

Tiempo de expiración de la cache navegador

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:

1 estrella2 estrellas3 estrellas4 estrellas5 estrellas (2 votos, promedio: 5,00 de 5)
Cargando...