5 tips to optimize traffic cost of your WordPress website
Introduction
If you host your website on a cloud service, you may find out that your traffic costs even more than the hardware (CPU, RAM, HDD). If that’s the case, check the following tips on how to optimize your traffic cost.
Monitoring your traffic throughput
Before you optimize your traffic, you should have a monitoring tool for your network, so that you know how much traffic was optimized every time you do an experiment.
If you don’t know any traffic monitoring tool yet, try iftop
. This tool can show you the real-time traffic throughput for every IP that is connected to your server. iftop
is just like the top
command in linux, but instead of monitoring the CPU or RAM like the top
command, iftop
monitors your network.
Install iftop
# fedora or centos yum install iftop -y # ubuntu or debian $ sudo apt-get install iftop
Run iftop
$ sudo iftop -n -B
iftop console
After you run iftop, the iftop screen would appear like below
The first column is the IP of your current machine.
The second column are the IPs of the remote hosts that connect to your server. For each IP, the first row is the traffic that is sent to the remote host (notice the icon =>) and the second row is the traffic that is received from that remote host (hence the icon <=)
The third column is the real-time traffic amount that is sent or received, where the first sub-column is the average bandwidth per second in the last 2 seconds, the second sub-column is the average bandwidth per second in the last 10 seconds, and the third one is the average bandwidth per second in the last 40 seconds. Most of the time, I look at this third column.
Decide what to optimize
Deciding what cost to optimize is often depends on your hosting plan.
Some hosting plans do not charge for traffic. If that’s the case, the network optimizing is more about resource optimizing, where the lower the network traffic, the more requests your server can handle with the same CPU, RAM and network interface.
Some hosting plans do not charge for in going traffic and only charge for out going traffic. For example, Google Cloud only charge for out going traffic, and the rates differ by the destination zone. The cost for traffic between internal IP’s is a lot a lot cheaper than the traffic between external IP’s between zones, or regions, or continents.
By looking at the network traffic between your server and the remote IP’s and the traffic charging plan of your hosting service, you can decide which traffic to optimize first, and what can be left to be optimized later.
Tip #1. Changing to internal IP where possible
If your hosting plan rates are a lot expensive for external traffic than for internal traffic, try changing the external IP’s of your applications to internal IP’s can save you a lot of money.
For example, Google Cloud does not charge for traffic between internal IP’s within the same zone. Therefore, switching your servers to the same zone and configure them to talk to one another using the internal IP’s can save you a lot. Check your redis, memcached, kafka, rabbitmq, mysql or whatever services that can be run internally, make sure their configurations are optimized.
This action can reduce your traffic cost by 3-10 times.
Tip #2. Enable gzip
If you want to know more about gzip, check this post.
By enabling gzip, the traffic sent out will be compressed and therefore you can save a lot of network bandwidth.
This action can reduce your traffic cost by 3-5 times.
Tip #3. Using a free CDN service
If your website has a lot of images, try using a free CDN service to reduce the cost of serving images.
Believe it or not, the free CDN setup will take only 5 minutes and your traffic can be reduced by 5-10 times.
If you have a WordPress website, just install Jetpack plugin by WordPress.com and then turn on it’s Photon feature and your website is now powered with Jetpack’s free CDN service.
If you don’t want to use Jetpack Photon, you can always use CloudFlare or Incapsula CDN services, which are also free without any limitation on bandwidth or anything.
If your website has a lot of visitors in real-time, you can easily test the effects of the CDN by looking at the iftop console when Jetpack Photon is enabled and when it is disabled.
To read more on how to use a free CDN service on your website, click here.
Tip #4. Enable lazyload
When lazyload is enabled, the images on your website won’t be load until they are visible on the browser. Which means the images that stay at the end for your web pages won’t load at first. Then when the user scrolls the web page to where the images are located, the images will be loaded and shown for the user.
If you have a WordPress website, you can enable lazyload by installing the Lazy Load plugin.
Tip #5. Change your hosting service
I don’t know if this should be counted a tip. Anyways, if your current hosting service is charging too much for you traffic, consider changing to another hosting plan or service. Some hosting services do not charge for traffic such as BlueHost, GoDaddy and OVH.
However, even if you switch to a hosting service with free traffic, you can still consider applying the above tips as they can make your website perform better with less hardware resources.
How do these tips work for you? Let me know in the comment! 😀