En servidores Apache, el archivo .htaccess puede utilizarse para definir tiempos de caché del navegador y habilitar compresión cuando los módulos necesarios están disponibles.
Caché mediante mod_expires
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 7 days"
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/webp "access plus 30 days"
</IfModule>
Compresión con mod_deflate
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css
AddOutputFilterByType DEFLATE application/javascript application/json
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
No comprimas formatos ya comprimidos sin necesidad
Imágenes JPEG, PNG, WebP, videos y archivos ZIP ya utilizan compresión propia y normalmente no obtienen una mejora significativa al pasar por DEFLATE.
Revisá antes si otra capa ya lo hace
Cloudflare, plugins de caché, LiteSpeed, Nginx delante de Apache u otras herramientas pueden administrar compresión y encabezados. Duplicar reglas puede generar resultados confusos.
Realizá un backup de .htaccess
Una sintaxis incorrecta puede generar un error 500. Conservá una copia del archivo antes de modificarlo y probá el sitio inmediatamente después.
La caché debe ajustarse al tipo de archivo
No utilices períodos muy largos para recursos que cambian sin versionado. En sitios modernos es habitual combinar expiraciones prolongadas con nombres de archivo versionados o hashes.