Con gzip y deflate es posible comprimir una página web completa. Esto sirve para una navegación más rápida (los archivos y documentos a descargar se reducen un 50% y más) y para ahorrar tráfico.
Si tu servidor no soporta gzip, tendrás que usar la opción deflate.
1. Comprimir Contenidos con deflate por tipo de archivo
# Deflate Compression by FileType <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/atom_xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/x-shockwave-flash </IfModule>
[the_ad id=»4531″]
2. Configurar expiración de Caché a un mes
La fecha de expiración predeterminada de los archivos se configura a 1 mes.
# turns cache on for 1 month <IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType text/html "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType application/x-javascript "access plus 1 month" ExpiresByType application/xhtml-xml "access plus 600 seconds" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/x-icon "access plus 1 month" </IfModule> <ifmodule mod_headers.c> <filesmatch "\.(ico|jpe?g|png|gif|swf)$"> Header set Cache-Control "max-age=2592000, public" </filesmatch> <filesmatch "\.(css)$"> Header set Cache-Control "max-age=604800, public" </filesmatch> <filesmatch "\.(js)$"> Header set Cache-Control "max-age=216000, private" </filesmatch> <filesmatch "\.(x?html?|php)$"> Header set Cache-Control "max-age=600, private, must-revalidate" </filesmatch> </ifmodule>
3. Comprimir Contenidos con deflate por extensión
# Deflate Compression by MimeType</span> <IfModule mod_deflate.c> <FilesMatch ".(js|jpg|jpeg|gif|png|css|txt|html)$"> ExpiresActive on ExpiresDefault "access plus 1 month" SetOutputFilter DEFLATE </FilesMatch> </IfModule>
4. Comprimir Contenidos con gzip
No todos los servidores soportan gzip. Si hay algún problema tienes que quedarte con la opción de «deflate», contactar tu proveedor de hosting o instalarlo por tí mismo (si tienes un servidor propio)…
# gzip Compression if availiable <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 mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </IfModule>
¡Genial artículo!
Googleando he llegado hasta aquí, ahora la web va como un tiro.
¡Muchas gracias!
Hola! Muchas gracias por la información. Ya se que es un artículo antiguo pero te transmito un posible error:
Donde está el código para «3.Comprimir Contenidos con deflate por extensión» hay un <pre> que sobra. Por lo menos yo lo subí y se me cayó la pagina, luego lo saqué y todo anduvo bien. Saludos.
Hola Mercedes! Gracias por tu comentario! Ya lo saque 😉
Hola! muchas gracias por el artículo !! Me ha sido muy útil. Podrías desarrollar un artículo explicando como comprimir html, css y javascript, y herramientas recomendadas para ello.
Hola Karen, lo agregaré a mi lista de artículos futuros! Seguramente investigare esta semana para publicar el articulo la semana que viene 😉 Saludos!
Directo a favoritos. Gracias.
Buen truco gracias!
¡Muchas Gracias!
Hola. Disculpa mi torpeza, pero no sé cuál debe ser el contenido correcto del .htaccess. ¿Así debería quedar?
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
# Deflate Compression by FileType
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-shockwave-flash
Hola Fran,
tu .htaccess parece tener el formato correcto. Pero mejor sería si pones todas las líneas de «AddOutputFilter…» dentro de la etiqueta
así como en el primer código del artículo. Así no tendrás errores de servidor cuando el módulo de compresión del servidor se desactive por cualquier razón.
Saludos!
Muchas gracias!!!!! Pero disculpa Jens. Soy muy novato en este tema.
¿Me podrías copiar el .htaccess completo correcto?
Hola.
Al insertar el código del punto 3 se cae la página con error 500.
Gracias.
Hola Jens, muchas gracias.
Ahora me va la pagina genial!!!!!