Skip to content

Instantly share code, notes, and snippets.

@danielhauchler
Last active July 16, 2019 15:50
Show Gist options
  • Save danielhauchler/f1227dc1d2659e7ca9aab5d95caeab81 to your computer and use it in GitHub Desktop.
Save danielhauchler/f1227dc1d2659e7ca9aab5d95caeab81 to your computer and use it in GitHub Desktop.
SEO expired htaccess
why should we do?
-> https://moz.com/ugc/expires-headers-for-seo-why-you-should-think-twice-before-using-them
you need to have some modules on hosting active : mod_expires.c and mod_deflate.c
other then this, you only need to add this codes to the .htaccess file, after the content that is allready there
Content compression and expiration have been enabled for domain domain.xxx
if its done, there are 4 static components without a far-future expiration date.
-> https://maps.googleapis.com/maps/api/js?key=AIzaSyBjvS4LNUdlMyIh7pM96WLkNLIxtY1VWA4&callback=initMap
-> https://fonts.googleapis.com/css?family=Open+Sans:400,700,300
-> http://www.googletagmanager.com/gtm.js?id=GTM-NHVKF3
-> http://www.google-analytics.com/analytics.js
You can't control much when you're loading resources from external servers like that, but it may still be okay for our site. When using a tool like YSlow it's important to not get caught up into an "A" grade for everything. It's best to understand the hints the tool is giving you, and make decisions accordingly.
fyi Sven Schuermann
-> http://stackoverflow.com/questions/23296670/add-expired-headers-for-google-map-api
<IfModule mod_expires.c>
# Enable expirations
ExpiresActive On
# Default directive
ExpiresDefault "access plus 1 month"
# My favicon
ExpiresByType image/x-icon "access plus 1 year"
# Images
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# CSS
ExpiresByType text/css "access plus 1 month"
# Javascript
ExpiresByType application/javascript "access plus 1 year"
</IfModule>
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddType x-font/otf .otf
AddType x-font/ttf .ttf
AddType x-font/eot .eot
AddType x-font/woff .woff
AddType image/x-icon .ico
AddType image/png .png
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI "\.(?:gif|jpe?g|png)$" no-gzip
</IfModule>
@ut4utc
Copy link

ut4utc commented Oct 23, 2017

Thanks bro!

I'm use this .htaccess settings:

	AddDefaultCharset UTF-8

	AddType text/javascript .js
	AddType application/vnd.ms-fontobject .eot
	AddType application/x-font-ttf .ttf
	AddType application/x-font-opentype .otf
	AddType application/x-font-woff .woff

# BEGIN Expire headers
<IfModule mod_expires.c>
	ExpiresActive On
	ExpiresDefault "access plus 5 seconds"
	ExpiresByType image/x-icon "access plus 2500000 seconds"
	ExpiresByType image/jpeg "access plus 2500000 seconds"
	ExpiresByType image/jpg "access plus 2500000 seconds"
	ExpiresByType image/png "access plus 2500000 seconds"
	ExpiresByType image/gif "access plus 2500000 seconds"
	ExpiresByType application/x-shockwave-flash "access plus 2500000 seconds"
	ExpiresByType text/css "access plus 700000 seconds"
	ExpiresByType text/javascript "access plus 700000 seconds"
	ExpiresByType application/javascript "access plus 700000 seconds"
	ExpiresByType application/x-javascript "access plus 700000 seconds"
	ExpiresByType text/html "access plus 600 seconds"
	ExpiresByType application/xhtml+xml "access plus 600 seconds"
	ExpiresByType font/truetype "access plus 2500000 seconds"
	ExpiresByType font/opentype "access plus 2500000 seconds"
	ExpiresByType application/x-font-woff "access plus 2500000 seconds"
	ExpiresByType image/svg+xml "access plus 2500000 seconds"
	ExpiresByType application/vnd.ms-fontobject "access plus 2500000 seconds"
</IfModule>
# END Expire headers

# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
	<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
		Header set Cache-Control "public"
	</filesMatch>
	
	<filesMatch "\.(css)$">
		Header set Cache-Control "public"
	</filesMatch>
	
	# <filesMatch "\.(js)$">
		Header set Cache-Control "private"
	# </filesMatch>

	<filesMatch "\.(x?html?|php)$">
		Header set Cache-Control "private, must-revalidate"
	</filesMatch>
</IfModule>
# END Cache-Control Headers

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment