WordPress – Speed Up Your Website

wordpress speed

WordPress website speed. There is nothing that will loose you readers and customers more quickly than a slow website! The chances are good that a person will click away when a website takes more than 6 seconds to open.

Google’s PageSpeed Insights, of course, wants a website to open quicker than that, preferably in milliseconds to get a good SEO [Search Engine Optimization] score. The other two main website performance [speed] testers are GTmetrix and Pingdom.

There are quite a lot of things to look at to get your website to a good speed score all around. It is a little disorientating in the beginning, though, when you don’t even know where to begin. But here is a good starting point to get you there!

You need to install the following plugins first:


Test different setting combinations to see what works for you.

Autoptimize makes optimizing your site really easy. It can aggregate, minify and cache scripts and styles, injects CSS in the page head by default (but can also defer), moves and defers scripts to the footer and minifies HTML.

HTTP/2 Server Push

http2 server push
No settings

HTTP/2 is the new generation of the venerable HTTP protocol that powers the web. Among its most powerful features is server push, a way for web servers to send resources to the browser before it even realizes it needs them. This avoids the usual HTTP request/response cycle which happened for every script or stylesheet on a page.

Remove Query Strings From Static Resources

remove query strings
No settings

This plugin will remove query strings from static resources like CSS & JS files inside the HTML <head> element to improve your speed scores in services like Pingdom, GTmetrix, PageSpeed and YSlow.

WP Super Cache

super cache
See recommended settings below

This plugin generates static html files from your dynamic WordPress blog. After a html file is generated your webserver will serve that file instead of processing the comparatively heavier and more expensive WordPress PHP scripts. You can, of course, test different combinations of Super Cache settings to see what works for you.

You will, along the line, hear about a CDN – Content Delivery Network – and how important it is to your website performance [speed]. It is.

‘A CDN service speeds up your website speed by serving cached static content from servers located near your user’s geographic location.’

But a CDN is not your headache for now. You will get by perfectly well without it for the moment. As a matter of fact, when the time comes, Super Cache offers you an alternative way of crossing this bridge. Just check out CDN on the Super Cache settings. You can use a subdomain – cdn.yourwebsite.com – to get a CDN working.

super cache settings
Click on image to view in full size

And here are the speed tweaks to copy and paste into the .htaccess file in your root directory:

Header unset Pragma
FileETag None
Header unset ETag

<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 text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"

<FilesMatch "\\.(js|css|html|htm|php|xml)$">
SetOutputFilter DEFLATE

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript

<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 mod_expires.c>
# Enable expirations
ExpiresActive On
# Default expiration: 1 hour after request
ExpiresDefault "now plus 1 hour"
# CSS and JS expiration: 1 week after request
ExpiresByType text/css "now plus 1 week"
ExpiresByType application/javascript "now plus 1 week"
ExpiresByType application/x-javascript "now plus 1 week"
# Image files expiration: 1 month after request
ExpiresByType image/bmp "now plus 1 month"
ExpiresByType image/gif "now plus 1 month"
ExpiresByType image/jpeg "now plus 1 month"
ExpiresByType image/jp2 "now plus 1 month"
ExpiresByType image/pipeg "now plus 1 month"
ExpiresByType image/png "now plus 1 month"
ExpiresByType image/svg+xml "now plus 1 month"
ExpiresByType image/tiff "now plus 1 month"
ExpiresByType image/vnd.microsoft.icon "now plus 1 month"
ExpiresByType image/x-icon "now plus 1 month"
ExpiresByType image/ico "now plus 1 month"
ExpiresByType image/icon "now plus 1 month"
ExpiresByType text/ico "now plus 1 month"
ExpiresByType application/ico "now plus 1 month"
# Webfonts
ExpiresByType font/truetype "access plus 1 month"
ExpiresByType font/opentype "access plus 1 month"
ExpiresByType application/x-font-woff "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"

# BEGIN Cache-Control Headers
<ifModule mod_headers.c>
<filesMatch "\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "public"
<filesMatch "\.(css)$">
Header set Cache-Control "public"
<filesMatch "\.(js)$">
Header set Cache-Control "private"
<filesMatch "\.(x?html?|php)$">
Header set Cache-Control "private, must-revalidate"
# END Cache-Control Headers

<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

Images are important in your website speed factor. Use .jpg pictures instead of .png – they load faster. And WP Smush automatically compress them when uploaded.

Another thing that can slow down your website really badly is too many plugins. You can imagine what 60 or 70 plugins will do to your website performance when they all have to start up in the background everytime that a page opens on your website.

A good number of plugins is more or less 40 – preferably less. Your system will be able to breathe with such a number of plugins.

Outdated and poorly coded plugins can also affect the performance [and security].  Do the footwork and check if freshly installed plugins affect the performance and always check when a plugin was last updated on the ‘details’ link.



Create your own profile and get your own blog for maximum exposure for your name! Your package: https://siqik.com/profile. It’s free!

WordPress Handy Plugins And Widgets

Leave a Reply

Your email address will not be published.