How to Make WordPress Faster

Google cares greatly about how fast (or slow) your website loads and uses this measurement when calculating your search ranking. As such, it is always in your best interest to have a great Page Speed score.

You can test your website’s score here: testmysite.thinkwithgoogle.com

Once you get your score, you can compare it with the Page Speed Score of this WordPress website…

bdlp-GooglePageSpeed-compressor

Here’s how I did it:

Make Your WordPress Site Load Faster

tl;dr – All of the capabilities listed below are supported by SiteGround Hosting at an incredibly affordable price. I’ve been with Media Temple (on a DV Server) for years, and SiteGround is way better (and less expensive)! So much so that I moved all 40+ of my client sites over to SiteGround to take advantage of these speed boosting capabilities…

1. Optimize Images

There are many ways to optimize images, but the most efficient raster image optimizer I have found is Compressor.io. If you are really ready to take your image game to the next level, it’s probably time to start Using SVGs.

2. Enable Compression

You can check to see if your server is compressing your data here: http://www.whatsmyip.org/http-compression-test/

If compression is not enabled, you can easily enable it by adding the following code to your .htaccess file:


# Compresses Text, HTML, Javascript, CSS & 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
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/font-woff


<IfModule mod_deflate.c>
<FilesMatch "\.(html|php|txt|xml|js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>

 

3. Set Expiration Headers

If Google is complaining that your expiration dates aren’t set, simply add this to the .htaccess file as well:


# 1 WEEK
<FilesMatch "\.(ico|pdf|flv)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(jpg|jpeg|png|gif|swf|svg|woff)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=604800, proxy-revalidate"
</FilesMatch>
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=604800, private, proxy-revalidate"
</FilesMatch>

4. Load Javascript / CSS Asynchonously

The easiest way to accomplish async loading of your “Render Blocking Files” is to use the WordPress Speed Booster Pack plugin.

5. Use SSD Servers

Hosting on a server using Solid State Drives will increase both the performance and stability of your website.

6. Use http/2 with ALPN

You can test your site’s support for http/2 (with ALPN) here: https://tools.keycdn.com/http2-test What are the benefits of using it? Speed, efficiency, and security.

7. Use SSL/TLS Security Certificate

In the past, adding security certificates has been both expensive and a hinderance on performance. But thanks to free Let’s Encrypt Security Certificates (and SiteGround’s 1-click install via cPanel), every site can have use this great security feature. Additionally, with http/2 support, there is no longer a performance hit. *I love it when a plan comes together.*

8. Use NGINX Page Caching

Historically, WordPress has been known for being “slow” in large part because it is written in PHP and utilizes a MySQL Database. This means that everytime someone visits your page, php scripts must execute to retrieve the data from the database and then assemble each page, before sending it to your browser. This is somewhat of a nuisance, especially if the majority of the content on your website is static (i.e. doesn’t change). So, rather than run these scripts and assemble each page EVERY time, NGINX Page Caching saves a copy of the assembled page on the server and presents it to users instead. This gives your site a huge performance boost, as though it were loading static html files instead of dynamic php files. SiteGround makes it even easier to enable this functionality with their free SGpress Plugin and their SuperCacher.

To make your life easier, I made a video tutorial on how to point your domain name to the SiteGround host. And as if I read your mind, I buy all of my domains here. Take a look and let me know if you have any questions…