Choosing a Theme
There are many great themes for WordPress. A lot are free but I don’t mind spending a bit (<$50) for a high quality, custom design. Browse ThemeForest for a number of great options. Themes can slow WordPress down considerably – but the whole point of this guide is to optimize the performance using smart caching.
I chose MySiteMyWay’s Construct theme ($35) because it’s Responsive. Responsive themes provide an adapted experience for mobile and tablet browsers. I’ve also been extremely impressed with the technical support they offer. In preparing this tutorial, I ran into several problems that I didn’t expect them to be able to resolve – but in each case, they gave me easily applied hot patches within 24 hours.
W3 Total Cache also can cache pages distinctly for mobile, tablet and desktop. Look at JeffReifman.com on your phone and then look at it on your desktop – you’ll see the difference.
Once you’ve purchased and downloaded a theme. You need to upload it to your server. Open a Terminal:
scp -P 33322 -r -i ~/.ssh/hal ~/Downloads/construct firstname.lastname@example.org:~ mv ~/construct /var/www/wordpress/wp-content/themes
Then, visit your WordPress Administrator Appearance->Themes page e.g. http://yourdomain.com/wp-admin/themes.php and activate it. It should look like this:
Here are some of the plugins (aside from W3 Total Cache) I use for my WordPress installation:
- Akismet: Reduces comment spam
- Disqus: Enhanced comment functionality
- Google XML SiteMaps: Important for SEO and helps W3 Total Cache pre-cache pages.
- Simple Facebook Connect: Important for Open Graph Meta Tags for enhanced Facebook sharing
- WP-SmushIt: Reduces the size of uploaded images
These I use occasionally but not all the time:
- WP Optimize: Speeds up MySQL database with regular use
- Revision Control: Cleans up MySQL table. See Revision Management before using.
Whenever you change your theme, you’ll need to go back through the process for exporting your static files to your Amazon CloudFront S3 CDN (described here) and purge your cache. Adding or removing plugins may require similar actions.