![Como otimizar seu site pelo .htaccess [CUIDADO]](/images/2022/05/22/Veloz Sites_large.jpg)
Como otimizar seu site pelo .htaccess [CUIDADO]
É muito útil o .htaccess otimizado para fazer seu site carregar bem mais rápido. Porém, tome CUIDADO, pois deve ser feito usando o bom senso.
Serve para Apache e OpenLiteSpeed, digo que, eu testei com esses servidores, para quem utiliza o nginx, eu acho que você pode parar por aqui, pois creio que não adianta, sorry ?.
Caso esteja disposto(a) a testar, vamos a segurança, crie um backup do seu .htaccess, eu sempre crio um arquivo e renomeio de .htaccess-old e deixo nele a configuração, para caso de [email protected], basta copiar e já colar no .htaccess e pronto.
O código é antigo, mas, funciona muito bem, peguei já faz alguns anos aqui Zodiac
O que aconselho a fazer?
Desative temporariamente seu plugin de otimização, óbvio o backup em primeiro lugar.
No seu .htaccess , exclua somente o que tem escrito sobre o seu plugin de otimização.
Não apague mais nada, deixe tudo lá.
Principalmente se você tiver as reescritas de url, NÃO APAGUE!
RewriteEngine On
RewriteCond %{HTTP_HOST} www.yourwebsitehere.com
RewriteRule (.*) http://yourwebsitehere.com/$1 [R=301,L]
Copie e cole o código e salve.
Dê um refresh em sua página, se não deu nenhum problema, vá ao PageSpeed Insights e veja a sua pontuação.
Caso seu site esteja ok, obviamente esse código sozinho não fará milagre, agora você tem que habilitar seu plugin de otimização e começar a fazer testes.
Caso tenha dado alguma [email protected], basta copiar o conteúdo do backup .htaccess-old e colar no .htaccess, salvar e pronto. Se não melhorou para você, não correrá nenhum risco, pelo menos tentou ?.
Se ocorreu tudo ok e você tem uma boa hospedagem, é certo que passará de 90 para smartphones, mas, se você hospeda em nessas empresas de hospedagem compartilhada(que são uma [email protected]), aconselho você ler Tenha seu Site Veloz com o OpenLiteSpeed , pois é um curso pequeno que fiz para qualquer pessoa poder ter um Cloud ou VPS pagando muito barato(menos do que a maioria dessas hospedagens de [email protected]) e instalar o OpenliteSpeed para poder ter o mais rápido servidor web e fazer seu site passar dos 90 no PageSpeed Insights.
Copie daqui abaixo ou pegue direto aqui Zodiac
# | |
# Sources: | |
# http://stackoverflow.com/questions/7704624/how-can-i-use-gzip-compression-for-css-and-js-files-on-my-websites | |
# http://codex.wordpress.org/Output_Compression | |
# http://www.perun.net/2009/06/06/wordpress-websites-beschleuinigen-4-ein-zwischenergebnis/#comment-61086 | |
# http://www.smashingmagazine.com/smashing-book-1/performance-optimization-for-websites-part-2-of-2/ | |
# http://gtmetrix.com/configure-entity-tags-etags.html | |
# http://de.slideshare.net/walterebert/die-htaccessrichtignutzenwchh2014 | |
# http://de.slideshare.net/walterebert/mehr-performance-fr-wordpress | |
# https://andreashecht-blog.de/4183/ | |
# | |
<IfModule mod_deflate.c> | |
# Insert filters / compress text, html, javascript, css, xml: | |
# mod_deflate can be used for Apache v2 and later and is the recommended GZip mechanism to use | |
AddOutputFilterByType DEFLATE text/plain | |
AddOutputFilterByType DEFLATE text/javascript | |
AddOutputFilterByType DEFLATE text/html | |
AddOutputFilterByType DEFLATE text/xml | |
AddOutputFilterByType DEFLATE text/css | |
AddOutputFilterByType DEFLATE text/vtt | |
AddOutputFilterByType DEFLATE text/x-component | |
AddOutputFilterByType DEFLATE application/xml | |
AddOutputFilterByType DEFLATE application/xhtml+xml | |
AddOutputFilterByType DEFLATE application/rss+xml | |
AddOutputFilterByType DEFLATE application/js | |
AddOutputFilterByType DEFLATE application/javascript | |
AddOutputFilterByType DEFLATE application/x-javascript | |
AddOutputFilterByType DEFLATE application/x-httpd-php | |
AddOutputFilterByType DEFLATE application/x-httpd-fastphp | |
AddOutputFilterByType DEFLATE application/atom+xml | |
AddOutputFilterByType DEFLATE application/json | |
AddOutputFilterByType DEFLATE application/ld+json | |
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject | |
AddOutputFilterByType DEFLATE application/x-font-ttf | |
AddOutputFilterByType DEFLATE application/font-sfnt | |
AddOutputFilterByType DEFLATE application/x-web-app-manifest+json | |
AddOutputFilterByType DEFLATE font/opentype | |
AddOutputFilterByType DEFLATE font/otf | |
AddOutputFilterByType DEFLATE font/ttf | |
AddOutputFilterByType DEFLATE font/sfnt | |
AddOutputFilterByType DEFLATE image/svg+xml | |
AddOutputFilterByType DEFLATE image/x-icon | |
# Exception: Images | |
SetEnvIfNoCase REQUEST_URI \.(?:gif|jpg|jpeg|png)$ no-gzip dont-vary | |
# Drop problematic browsers | |
BrowserMatch ^Mozilla/4 gzip-only-text/html | |
BrowserMatch ^Mozilla/4\.0[678] no-gzip | |
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html | |
# Make sure proxies don't deliver the wrong content | |
<IfModule mod_headers.c> | |
Header append Vary User-Agent env=!dont-vary | |
</IfModule> | |
</IfModule> | |
# mod_gzip is an external extension and last updated 2015, so | |
# if available please use mod_deflate instead | |
# If you are stuck on Apache v1.3 you can use mod_zip to enable Gzip | |
# as mod_deflate is available for Apache v2 or later only. | |
<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> | |
## EXPIRES CACHING ## | |
<IfModule mod_expires.c> | |
ExpiresActive On | |
ExpiresDefault "access plus 1 week" | |
ExpiresByType text/css "access plus 1 month" | |
ExpiresByType application/atom+xml "access plus 1 hour" | |
ExpiresByType application/rdf+xml "access plus 1 hour" | |
ExpiresByType application/rss+xml "access plus 1 hour" | |
ExpiresByType application/json "access plus 0 seconds" | |
ExpiresByType application/ld+json "access plus 0 seconds" | |
ExpiresByType application/schema+json "access plus 0 seconds" | |
ExpiresByType application/vnd.geo+json "access plus 0 seconds" | |
ExpiresByType application/xml "access plus 0 seconds" | |
ExpiresByType text/xml "access plus 0 seconds" | |
ExpiresByType image/x-icon "access plus 1 month" | |
ExpiresByType image/vnd.microsoft.icon "access plus 1 month" | |
ExpiresByType text/html "access plus 1 minute" | |
ExpiresByType text/javascript "access plus 1 month" | |
ExpiresByType text/x-javascript "access plus 1 month" | |
ExpiresByType application/javascript "access plus 1 months" | |
ExpiresByType application/x-javascript "access plus 1 months" | |
ExpiresByType image/jpg "access plus 1 month" | |
ExpiresByType image/jpeg "access plus 1 month" | |
ExpiresByType image/gif "access plus 1 month" | |
ExpiresByType image/png "access plus 1 month" | |
ExpiresByType image/svg+xml "access plus 1 month" | |
ExpiresByType image/bmp "access plus 1 month" | |
ExpiresByType image/webp "access plus 1 month" | |
ExpiresByType audio/ogg "access plus 1 month" | |
ExpiresByType video/mp4 "access plus 1 month" | |
ExpiresByType video/ogg "access plus 1 month" | |
ExpiresByType video/webm "access plus 1 month" | |
ExpiresByType text/plain "access plus 1 month" | |
ExpiresByType text/x-component "access plus 1 month" | |
ExpiresByType application/manifest+json "access plus 1 week" | |
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds" | |
ExpiresByType text/cache-manifest "access plus 0 seconds" | |
ExpiresByType application/pdf "access plus 1 month" | |
ExpiresByType application/x-shockwave-flash "access plus 1 month" | |
ExpiresByType application/vnd.ms-fontobject "access plus 1 month" | |
ExpiresByType font/eot "access plus 1 month" | |
ExpiresByType font/opentype "access plus 1 month" | |
ExpiresByType application/x-font-ttf "access plus 1 month" | |
ExpiresByType application/font-woff "access plus 1 month" | |
ExpiresByType application/font-woff2 "access plus 1 month" | |
ExpiresByType application/x-font-woff "access plus 1 month" | |
ExpiresByType font/woff "access plus 1 month" | |
</IfModule> | |
## EXPIRES CACHING ## | |
#Alternative caching using Apache's "mod_headers", if it's installed. | |
#Caching of common files - ENABLED | |
<IfModule mod_headers.c> | |
# 1 Month | |
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> | |
Header set Cache-Control "max-age=2592000, public" | |
</FilesMatch> | |
# 2 DAYS | |
<FilesMatch "\.(xml|txt)$"> | |
Header set Cache-Control "max-age=172800, public, must-revalidate" | |
</FilesMatch> | |
# 2 HOURS | |
<FilesMatch "\.(html|htm)$"> | |
Header set Cache-Control "max-age=7200, must-revalidate" | |
</FilesMatch> | |
</IfModule> | |
<IfModule mod_headers.c> | |
<FilesMatch "\.(js|css|xml|gz|html|ttf)$"> | |
Header append Vary: Accept-Encoding | |
</FilesMatch> | |
</IfModule> | |
# Set Keep Alive Header | |
# This *just* sets the header - maybe your hoster is not allowing this feature | |
# Please check if it is working with tools like http://www.webpagetest.org | |
<IfModule mod_headers.c> | |
Header set Connection keep-alive | |
</IfModule> | |
# If your server don't support ETags deactivate with "None" (and remove header) | |
<IfModule mod_expires.c> | |
<IfModule mod_headers.c> | |
Header unset ETag | |
</IfModule> | |
FileETag None | |
</IfModule> |