Install Themes and Plugins
Purchase a pre-installed image of this tutorial and check out our new knowledge base WordPress Now.
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 email@example.com:~ 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.
Please feel free to post corrections, questions or comments below. You can also follow me on Twitter @reifman or email me directly.
Thank you for the writeup…
Question: Why are you uploading the theme files via scp, rather than a direct install via WP itself? Is it possible to do WP upgrades, theme installs or plugin installs from within WP, rather than having to do a scp?
Hey Jeff, I am preparing to move an existing wordpress installation from dreamhost to Amazon through a DIY installation or Bitnami. I have already set-up two instances and terminated them as each instance had issues. I learn by doing so these practice runs have been fantastic as I have not used a command line since the days of DOS.
Is there a way to set-up SFTP access instead of using scp to upload themes, plugins and edit theme files and CSS?
Hi Jeff, you says that changing the theme will require exporting/purging work. What if I own a multisite install where users (mostly having single page sites) can set their own theme ?