Update on slow website loading times

My Efforts to Improve Loading Speed

 

I have noticed that my website has been loading quite slowly as of late, so I have been trying to take some action as far as improving the load times of my website. I have been using GTmetrix to find out where I can optimize my website.

 

I have enabled cache for everything that I can, put all of my images onto the Amazon CDN, and have swapped out WpDiscuz comments (apparently it was very performance intensive) in favor of FV Thoughtful Comments.  I had originally thought about using Epoch, but after reading that it was resource intensive, I’ve been reluctant to do so, and am in the process of investigating further. However, I will continue to use Postmatic so that email comments are possible. Compression has also been enabled where appropriate through gzip.

 

The plugin W3 Cache seems to be giving me some issues and I’ve been trying to play around with it to get the settings to where I want them.  Anyways, I’ve also added the following to my htacess file:

 

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# compress 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
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
AddType image/svg+xml svg svgz
AddEncoding gzip svgz

# BEGIN Expire headers
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault “access plus 5 seconds”
ExpiresByType image/x-icon “access plus 605000 seconds”
ExpiresByType image/jpeg “access plus 605000 seconds”
ExpiresByType image/png “access plus 605000 seconds”
ExpiresByType image/gif “access plus 605000 seconds”
ExpiresByType image/svg “access plus 605000 seconds”
ExpiresByType image/svgz “access plus 605000 seconds”
ExpiresByType image/svg+xml “access plus 605000 seconds”
ExpiresByType image/x-icon “access plus 605000 seconds”

#Media
ExpiresByType application/x-shockwave-flash “access plus 2500000 seconds”

#Text
ExpiresByType text/css “access plus 605000 seconds”
ExpiresByType text/javascript “access plus 605000 seconds”
ExpiresByType text/html “access plus 600 seconds”
ExpiresByType application/xhtml+xml “access plus 600 seconds”

# 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 application/vnd.ms-fontobject “access plus 1 month”

# Data
ExpiresByType application/xml           “access plus 1000 seconds”
ExpiresByType application/json          “access plus 1000 seconds”
ExpiresByType application/javascript “access plus 605000 seconds”
ExpiresByType application/x-javascript “access plus 605000 seconds”

# Video
ExpiresByType video/ogg                 “access plus 1 month”
ExpiresByType audio/ogg                 “access plus 1 month”
ExpiresByType video/mp4                 “access plus 1 month”
ExpiresByType video/webm                “access plus 1 month”
ExpiresByType video/mkv                “access plus 1 month”

</IfModule>
# END Expire headers

# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
<filesMatch “\.(ico|jpe?g|png|gif|swf|svgz?|svg+xml)$”>
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

 

That should hopefully capture everything necessary for caching and compression.

 

Apart from Google fonts, the social media connections, and the theme itself, it looks like this the majority of the low hanging fruit is done. I am investigating to see what else can be compressed, put onto browser cache, or moved to a CDN.  I’m sure if I had an expert look at my website, there would be quite a bit more that I could do and I’ll be seeing what else can be done.  According to the reports, the theme itself has CSS, Javascript, and HTML to minify.

 

The Contact Me form, my 404 page, and a few other minor areas are also slow, but it’s a minor issue. I am still trying to determine what else could be causing my website to load slowly. But I have managed to almost double my score into the 80s for Google, which is nice.

 

My guess though is that there is a lot that I have overlooked and there is a lot that I can do. It is my first attempt at a website, so I’m not entirely surprised that I am encountering challenges. Anyways, that is life – a constant learning experience.

 

 

Slow Hosting?

 

I have been considering the possibility of using a host other than NameCheap. Although they have been very affordable and their tech  support has been overall, quite good, I have noticed that their servers seem to be slow.  When I tested with Google’s Pagespeed, I noticed that they said that my server was slow. Apparently, the response was ~1.2s. It should be under 200 ms.  I’m going to be investigating this.  Namecheap has about ~400 accounts per shared hosting server, and I suppose it may be that I lucked out and had a slow server? This server may have been oversold. That may be how NameCheap is able to offer such affordable hosting. I’m not entirely sure what the exact cause is, but I am going to be looking around.

 

After some research around the web, quite a few people have recommended that I use another host. Apparently, NameCheap’s domain registrar is highly recommended, but their hosting not as much.  I have been considering CrocWeb as an alternative. It seems to be very highly recommended and has a solid reputation. Plus, I would prefer to support a Canadian business over outside Canada, so there is that as well. They seem to be using LiteSpeed as their web server software.

 

From what I have read online, HostGator has also declined in quality over the past couple of years, and I am participating in a boycott of GoDaddy (and in any event their services are not highly recommended). There does seem to be some overall guidelines:

  1. Avoid buying hosting from domain registrars (Namecheap in my case)
  2. Do not buy domains through a host
  3. There are a few companies that should be avoided for any services altogether (an example being 1&1 Hosting).

 

Here is the overall list of what  I have considered:

  • CrocWeb (as noted)
  • Hawk Host
  • InMotion (some servers too are oversold, but they have good support)
  • StableHost   – well regarded, but a basic test shows it is slower at WordPress than Crocweb
  • HostwithLove – they seem to rent some of their servers from Hostdime (which is not a bad thing as they are pretty good), but they do seem to do the end management themselves

 

Most of these offer similar features, such as email, cPanel (a must for me), and use SSDs.

 

One thing I have been looking to avoid is a small “kiddie” host. They often operate on very thin margins and tend to lack a level of expertise that comes with volume. They try to expand with very aggressive pricing because they know they are not sustainable. I would rather pay a moderate bit extra for good hosting and peace of mind. That being said, I might be able to have my cake and eat it too – there are lots of options for web hosting and  many offer aggressive pricing. The problem is that the smaller hosts often do not deliver. That is a risk when  you have a low barrier-to-entry industry I am afraid.

 

It could be a bit of a pain for me to have to move everything, but I suspect it may be worth it in the long run. For now, I intend to continue to use Namecheap as a domain name registrar though for the foreseeable future. I’m looking into a guide on how to migrate, as my hosting is to expire next year with NameCheap and this will be a new experience for me.

 

 

Anyways, what are your experiences with slow websites, and web hosting?  Also, leave a comment below if you have had any issues and I will look into them.

Leave a Comment

Your email address will not be published. Required fields are marked *