DIY SEO - Make your website faster

When working on RideApp and asking around seasoned entrepreneurs about what should be the first marketing technique that I should use for promoting my new service, there are invariably two suggestions - Ads and SEO. Which kinda makes sense.

Ads - This depends on what your service is. From what I know, if you have a web product go for Google ads. For phone apps, Facebook is the go-to place. (Subscribe to my blog for future posts on effectively running Facebook App Install Ads).

SEO - The holy grail of internet. SEO is vast and I don’t think that you will get a single resource to learn all about SEO because there are numerous disparate things at play. In this post, I will outline some of the basic techniques that you SHOULD do. These are the basics of SEO but for people who are new to the topic, these are some of the low-hanging fruits. In this post, I will outline some techniques that you need to do on-site. (I will write a post on off-site SEO as well).

Caution - These are my learnings from various places aggregated.

SEO is largely affected by the speed of your website. Google ranks faster sites higher. Some easy important techniques which you should not overlook.

1. Parallel loading of resources: Resources should load in parallel. External JS files load in sync and block execution. But CSS files (that do not depend on external JS files) load in parallel. Make sure that on your website, you place your external CSS files before external JS files.

2. Optimising images: One of the most heavy files on your website are the images. If you are a developer, you know what impact small optimisations here and there can make. Don’t overlook optimising your images. It’s easy and does not take more than a minute to do. Here is a free online tool which I use (but there are many others including DIY with Photoshop)

3. Minify JavaScript: Another very simple thing that you can do to make your websites load faster is minifying the JavaScript files - specially the one which you have written (not third-parties). I use this tool for minifying my JavaScript files but there are others (including developer friendly command-line tools). Do remember that when you are using an external JS file, always use the minified version (.min.js). If minified version is not available, then minify them yourself using the tool!

4. Async loading of external JavaScript: When possible, defer loading of external JavaScript files. Because JS blocks the browser execution thread it makes sense to defer the loading of JS files until you need it (ideally). There are various ways of doing it but the easiest and an ok-solution is simply to use script async tag.

Be careful which JS files you load in async. It might be case that there are some JS files which are needed upfront. As a rule of thumb, any JS files which contains actions which are initiated by user actions like a button click can be deferred.

5. Keep-Alive Header: Enabling HTTP Keep-Alive or HTTP persistent connections reuses the same TCP connection for subsequent requests hence making the loading of resources faster. This means that after a CSS file is loaded, the same TCP connection can be used to load another CSS file. This reduces the overhead of double handshaking with the server. Specially useful if you are loading resources over HTTPS. Adding the Keep-Alive header varies from platform to platform. The thing to make sure is that the responses have the following headers.

Connection: Keep-Alive
Keep-Alive: timeout=10, max= 5

6. Minify CSS: The benefits of minifying CSS files are the same as minifying JS files. Do it! I use this tool

7. Minify HTML: Just like minifying JS and CSS, you can also minify HTML using a myriad of tools available. This can give you a somewhat significant reduction in HTML size but I personally do not like doing it. Simply because of the reason that it makes HTML source files very hard to read and change anything. So if you continuously make changes to the HTML, don’t do this. A possibility that comes to mind is to keep a sane HTML and a minified HTML. The minified HTML is re-generated whenever you make changes to the sane HTML but that might be a little tedious. I would say do not worry about this unless you have the other optimisations done and still not happy.

We have just scratched the tip of the vast SEO iceberg. I am working on SEO for RideApp and will keep writing posts on it. If you found this useful, do give me a shout at [sid@rideapp.in](mailto: sid@rideap.in).

By - Sid Saha

 
5
Kudos
 
5
Kudos

Now read this

Building a pay-as-use billing system on Stripe

Stripe, as we all know, is incredible. It allows complete flexibility to build over it with neatly designed APIs. At ShopSocially, as we are looking to scale up with a lot many customers we felt to need to have a completely automated... Continue →