Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
Recommended
WordPress Plugins
View all Guides

Increase your WordPress Blog Performance by using Google App Engine

Last updated on by
Follow WPBeginner on YouTube
Increase your WordPress Blog Performance by using Google App Engine

Page speed is one aspect of SEO. Google and other search engines and – above all – your blog visitors love fast page loading. As the blog owner, you value your readers’ time, so don’t let them wait more than 10 seconds for any page they want to read in your blog. You may be aware that there are a lot of ways to improve your blog page speed, from using cache plugins (like W3 Total Cache) and optimizing themes, to using a good hosting server (like HostGator) and finally – using a CDN. Yes, WordPress beginners often miss out on the latter. Using a CDN will greatly improve your page speed performance, but generally such services are NOT free.

So what is CDN anyway? Wikipedia defines CDN as:

“A content delivery network or content distribution network (CDN) is a system of computers containing copies of data, placed at various points in a network so as to maximize bandwidth for access to the data from clients throughout the network. A client accesses a copy of the data near to the client, as opposed to all clients accessing the same central server, so as to avoid bottlenecks near that server.” (Source: Wikipedia)

In this article we will be showing you how to use Google App Engine to act as a CDN. Since Google data centers are distributed all over the world, this is a great free service to use with a limit of 1GB/day. What can you host on Google App Engine? The files which are most essential for you to host on Google App Engine are static files, including theme CSS, theme JavaScript files, and theme images. Hosting these static files on Google App Engine will reduce your server load and speed up your page loading time. And that is exactly what will improve your SEO and user experience.

Follow the step-by-step instructions below to start using Google App Engine to host your static files:

1. Create a Google Account. If you have a Gmail account that will do. I won’t explain it in details here, visit here to create one (Skip to Step 2 if you already have a Google Account).

2. Sign up for a Google App Engine Application. Your cell phone might need to be verified again.

Signup for Google App Engine Application

3. Create a Google App Engine Application (in this example I called it myfreecdn).

4. I use Python. Download Python SDK and Google App Engine SDK, and install them both.

Google App Engine Launcher

5. Open Google App Engine Launcher and open Preferences from menu Edit » Preferences, then update the Python path to where you install the Python execute file.

Google App Engine Launcher Preferences

6. Create a new Application by going to File » Create New Application, fill in Application Name (this should be the same as Application identifier so in my case: myfreecdn), then choose where your file will be saved.

Add New Application

7. Now open the folder where you saved the Application, and make two new folders, one called “styles”, and the other called “images”. The Styles folder is where you put your CSS and JavaScript files. Likewise, the Images folder is for image files.

8. Now edit the app.yaml file in the application folder and add the following:

application: myfreecdn
version: 1
runtime: python
api_version: 1
default_expiration: "7d"
handlers:
- url: /images
  static_dir: images
- url: /styles
  static_dir: styles

9. Now, copy over all your CSS and JavaScript files to the “style” folder and the image files to the “images” folder.

10. To deploy your Application, just press the button “Deploy” on the toolbar. You would need to enter your Google account account and password. Allow the process to be completed.

11. Now you should be able to access your files by going to this address: http://[app-id].appspot.com/[images|styles]. An example location could be: http://myfreecdn.appspot.com/styles/style.css

12. Now go to your WordPress theme, edit all your style URLs to use your Google App Engine URL. And don’t forget to update your style.css relative image URLs to use the Google App Engine URL as well.

13. Upload the updated theme files back into your WordPress blog and test it. (You can use FireBug from Firefox extensions for this purpose.) Now you should be able to feel the difference.

All in all, this is just one way to increase your blog performance. But using this method will have a great impact. I myself use this technique to increase my blog performance. I would like to share with you the benefits of my experience. I hope you find this advice useful.

Editorial Note:

While Ivan shares a great technique here to utilize Google App Engine as a CDN for static files, this is just a shortcut way for making some difference. If you are using it for a very small site, then this might be a good idea. Otherwise there are disadvantages to using this method:

1. You are still serving all blog post images, thumbnails, or any other post attachments without a CDN. So you are not maximizing performance.
2. This method is extremely time consuming if you decide to make changes to your theme because everything is hard coded.
3. There is a limit for free usage 1GB / Day, so if you exceed that you will still have to pay for this service (which is expensive compared to competitor prices). Even if you pay, you would not be able to utilize CDN for the entire site (See point 1) unless ofcourse you want to upload everything on Google App Engine account manually and then manually edit all of your previous post images and thumbnail URLs.

We recommend that you get it right from the start by using MaxCDN. We are using their services to speed up our site. You can pay $39.95 to get 1TB of Bandwidth which is good for one year of use (use the coupon “wpbeginner” to get additional 25% off). This is 635GB additional bandwidth then what Google gives you for the year, and if you pay google $0.12 for each additional bandwidth like their pricing says, then you will end up paying $76.2 for the year (almost twice the price that you would pay for MaxCDN for a year).

Second the best part is that MaxCDN uses Pull Zones which also works with WordPress when using the plugin W3 Total Cache. What this means is that all files will be served through their CDN without you altering a single line of code. Just have the right settings in W3 Total Cache.

Ivan KristiantoIvan Kristianto is a freelancer web developer and blogger. He focuses on writing computer and technology articles. He loves free and open source software and also a coffee. Follow his Twitter: @ivankrisdotcom or visit his blog at

Editorial Staff at WPBeginner is a team of WordPress lovers led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »
  • John Hell

    Sometimes I’m feeling that this website is only for advertising their partners, like MaxCDN etc….

  • akisselsilva

    I really do not understand why “you” are complaining. My hosting server was bothering me quite a while about the cpu usage … and this was perfect for me. I left the theme files are hosted on “cdn” and my cpu usage is greatly reduced. It was PERFECT. I only have you to thank for having saved my little site, I love him so much and was getting sick just to afraid of losing it. http://www.aboutakissel.com/ I am from brazil, original language:]Eu realmente não entendo por que “vocês” estão reclamando. Meu servidor de hospedagem estava me encomodando faz um bom tempo sobre o uso de cpu… e essa solução foi perfeita para mim. Deixei os arquivos do tema hospedados no “cdn” e meu uso de cpu reduziu bastante. Foi PERFEITO. Eu só tenho a agradecer por você ter salvado meu pequeno site, eu amo muito ele e já estava ficando até doente só de medo de perde-lo. http://www.aboutakissel.com/

    • Jim Burnett

      Don’t worry about the whiners. I was looking into using Google App Engine for my new WordPress blog when I noticed the 1GB limit you talked about. $40 for about 1TB of Xfer is AWESOME. I’ll probably just go that route.

      I mean seriously. For under $200 a year you can get a VPS + MaxCDN and have full control over everything. Thanks for the MaxCDN tip!!

  • http://ISMagazine.com Steve

    Great tips. I am glad that I read the entire post cause your editorial comments at the bottom make me want to pay for MaxCDN over taking the time to setup the free CDN detailed.

  • http://www.ivankristianto.com/ Ivan Kristianto

    I did benchmark test between Google App Engine vs MaxCDN to serve 1.01 MB of image file. You can see it here:
    http://www.ivankristianto.com/internet/tools/maxcdn-vs-google-app-engine-simple-benchmarking/1662/

    As the result MaxCDN faster than GAE. And as i stated at the end of the post, MaxCDN is more appropriate for medium to large website since it is not free.
    But for medium low to small website, i’ll go for GAE since it will enough with 1GB/day free quota. And the speed is not much different.

  • http://www.dailyblogging.org Mani Viswanathan

    Nice tip. I’ll try it out. If it works then no need for a proper CDN.

  • Piet

    Given your editorial note, what is exactly the point of this post?

    • http://www.wpbeginner.com Editorial Staff

      It is still good for smaller projects (like School Class Projects, that don’t get a lot of traffic). Charity sites or small organizations that do not get tons of traffic.

      This is great for smaller sites that does not get a lot of traffic.

      It really depends on what your goals are. Remember Ivan is talking about only listing static theme files in this CDN. So this can work for mid level sites too. Because JS files, CSS files, and theme images don’t take a lot of load.

      You can easily feed about 5000 uniques / day serving just those files which is more than enough.

      • http://techofweb.com Atul

        I was thinking to do the change But then after reading your editorial note took my decision back. I think there’s no use of this post when I looked at your editorial Note.

        You commented above that its good for small sites. But again in your Editorial Note you mentioned that only theme images, files would be served from Appspot. Even small sites or sites with less visitors will be updted atleast a week and the posts will contain images that would be on site’s server. So in this case also, we cant use Appspot. So this article keeps no significance

        ATUL

        • http://www.wpbeginner.com Editorial Staff

          Again, you are limiting small WordPress sites to blogs only whereas we are not. There are small organization sites that uses WordPress as a CMS with merely 5 pages. The images they have are static. This is great for them. There are school projects that are CMS based sites (i.e non blogging), thus it works out great for them.

          Our job here is to educate users with the best option. While WP Super Cache may not be the best caching plugin anymore, we still have a review of it for those who want to use it. This goes in the similar way.

        • Ed

          If we’re talking about little 5 page sites then I don’t really see where your going to even need your solution. This post is a bit content-farms don’t you think?

        • http://www.wpbeginner.com Editorial Staff

          There are people who are on crunch resources that can certainly utilize this technique. It is good for small to medium size sites. But if you are planning on growing really fast, this would not sustain you. This post is not a content farm…..