Categories
Editorial Other how-tos

My essential WordPress plugins: 2014 Edition

essential wordpress pluginsI’m throwing together a new hobby website to tinker with right now, and as with all my other sites I’m building it with WordPress. I know basic HTML and CSS but WordPress really takes the pain out of making a new website, especially hobby review sites like the one I’m making.

Every time I install WordPress I find myself searching the web trying to remember what plugins I to install. Last time I made myself a list in Simplenote, and this time I’ve decided to write a post and share my favourite essential WordPress plugins with y’all.

You’re not supposed to use too many plugins on a WordPress site as each one has the capacity to increase your load time, introduce bugs or conflicts, which itself could compromise your site security. However, these are the plugins I can’t live without. See what you think:

Essential WordPress plugins – free

Essential means I absolutely would not launch a WordPress site without these. They’re all available for free from the WordPress plugin depository, available within your WordPress site from the plugins panel.

WordPress SEO by Yoast

WordPress plugin page
Plugin website

Yoast (aka Joost de Valk) is a world-renowned SEO guru, so you can trust his advice. This plugin consolidates a whole bunch of the most important SEO tricks into one, including meta descriptions for your Google search results, XML sitemaps, breadcrumbs and more.

You also get a little tool in the admin page for each bit of content on your site that allows you to specify what ‘keywords’ you’d like the content to rank for. The plugin then assesses how well your page is likely to rank for that keyword depending on how many times you’ve used the keyword in the content, if your links are appropriate, whether you’ve written enough text, if the keyword appears in your page URL, and so on.

Yoast’s tool doesn’t automatically guarantee high rankings for you – you’ve got to put the work in – but it gives you all the info you need to give yourself a massive head-start against those who don’t put the same work in.

Google Analytics for WordPress by Yoast

WordPress plugin page
Plugin website

Knowing as much as possible about your visitors is just basic webmaster stuff. However, the complexity of the Google Analytics interface makes it pretty tough to learn, especially for beginners. I don’t think I’ve looked at my GA page for any of my sites in over a year now, ever since I subscribed to the much friendlier alternative, Clicky (see below).

However, it’s the industry standard tracking tool and it’s free, so you’d be nuts to ignore it. Yoast’s plugin makes the fiddly work of adding the correct code to your sites as simple as installing the plugin and connecting it to your GA account.

Clicky by Yoast

WordPress plugin page
Plugin website

Clicky is an alternative to Google Analytics that I’ve been using for about a year now. You can track one site for free with limited features, or pay a subscription to track multiple sites with a bunch of extra features such as heat-maps. I particularly love being able to tag certain users so I can track their return visits and path through my sites.

This plugin by Yoast is similar to his GA plugin – you fill in your Clicky details and the plugin adds the Clicky tracking code to your site’s pages.

SEO Friendly Images

WordPress plugin page

The ‘alt’ and ‘title’ tags in the images on your site are very valuable SEO tools and you should set relevant tags for all your images. You can set these manually per image in the Media library, but if you’re uploading a ton of images every day, or don’t relish going through your existing images to manually add alt and title tags, this tool will do it for you based on simple rules you can set up.

Limit Login Attempts

WordPress plugin page

WordPress sites are prime targets for hackers because a staggering number of people leave the username as the default ‘admin’, and then use a terrible password. Hackerbots will spend all day long trying to break in using ‘admin’ and a password dictionary list. If you’re using ‘admin’ for your username, change it now!

Limit Login Attempts does exactly what it says. You tell it how many failed login attempts are allowed from an IP address before that IP is blocked for a certain number of hours, and have the plugin email you if too many repeated failed attempts occur.

It’s fun leaving email notifications on for a few days just to see how many automated hack attempts are made on your site, but after that just turn them off and let the plugin do it’s thing.

Bad Behavior

WordPress plugin page
Plugin website

This annoyingly-mis-spelt plugin (look, I’m British, it’s ‘behaviour’, okay? 😉 ) works well with Limit Login Attempts in that it uses a well-maintained list of known bot networks and blocks them from even accessing the login page. You’ll need to sign up for an account to get an API key but it’s free and well worth the peace of mind.

Akismet

WordPress plugin page
Plugin website

The industry standard for filtering out spam comments before they even get to you, and is so good it comes pre-installed with every WordPress site. You’ll need to activate it with an API key which you can get one for free by registering on Akismet’s site, and you can use the same key with all your WordPress sites. It isn’t perfect, but you don’t want to launch a site that uses comments without Akismet activated. Trust me!

Regenerate/Force Regenerate Thumbnails

WordPress plugin page (Regenerate Thumbnails)

WordPress plugin page (Force Regenerate Thumbnails)

Regenerate Thumbnails is something you usually only need if you change theme to something that uses different image sizes. Regenerate Thumbnails uses your original uploads to regenerate new ‘thumbnails’ that will fit with your new theme’s media size requirements.

However, it also leaves behind all the original thumbs, which take up space if you don’t need them. Force Regenerate Thumbnails is an alternative plugin which will generate your new images and delete all the old ones, keeping your Media library nice and trim. Only use it if you’re sure you’re sticking with the new theme!

By the way, if you install Jetpack (see below) and use the Photon module you shouldn’t need either of these plugins as Photon will use the WordPress servers to generate whatever size of thumbnail is needed, on demand. Which is nice.

Smart 404

WordPress plugin page

I hate seeing 404 pages turn up in my visitor stats as it means a user didn’t get what they wanted and probably left my site. Smart 404 looks at what the user tried to get to, searches the site’s posts, pages, tags and categories for anything similar, and sends them there instead of the 404 page. If it can’t find anything similar then it generates a tweak-able 404 template that provides a list of suggestions to the visitor.

At the time of writing the plugin hasn’t been updated in two years, but it’s working fine on all my sites. If any up-to-date alternatives spring up, let me know!

WP Smush.it

WordPress plugin page
Plugin website

Smush.it is a long-running Yahoo service that reduces the file size of an image without affecting how it looks by stripping out unnecessary data, great for improving the load time of your site.

With the plugin active, all subsequent images uploaded to your site will automatically be sent to the Smush.it service first before being sent back and added to the Media library as normal, without any effort on your part. You can also manually send your existing images to be smushed, either individually or in bulk.

This plugin fell into limbo for a while around 2012 but the team at WPMU DEV came to its rescue and it’s now fully functional and regularly maintained.

WP Super Cache or W3 Total Cache

WordPress plugin page (W3 Total Cache)
Setup guide (W3 Total Cache)

WordPress plugin page (WP Super Cache)
Setup guide (WP Super Cache)

In very basic terms, caching speeds up the load time of your site which makes it easier to use and more attractive to Google, both of which you want. There are a variety of caching plugins out there, and arguing over which one is best is a full time occupation for various internet forum users! What I can tell you is that for most sites either of these will be absolutely fine.

Most, if not all, of my sites run W3 Total Cache these days as I found the clearest instructions for using that plugin with Amazon’s CDN. However, CDNs themselves can open up a whole can of worms, so for the most part I recommend you start off by setting up the basic caching options and seeing how much of an improvement that makes, then go from there depending on the size and popularity of your site.

A useful tip: if turning on your caching plugin immediately causes your site to break, don’t panic! It’s almost always either Javascript or CSS minify rules to blame, so start by turning off your minify settings one at a time until the site starts working again.

Jetpack

WordPress plugin page
Plugin website

Jetpack is an official WordPress plugin that bundles a whole bunch of useful functions into one handy package, including: publicising, short links, sharing, image caching, basic stat tracking, slideshows, backups, mailing lists, custom CSS, Google+ integration and more.

I use more powerful, dedicated plugins for many of these things, such as mailing lists and stats, but I particularly love the ‘Edit CSS’ option for themes that don’t have their own CSS panel, and the automatic publishing to LinkedIn, Facebook, Google+ and Twitter, which takes so much of the legwork out of publicising a new post. The Photon tool also does a great job of speeding up image delivery.

Not-Quite-As-Essential WordPress plugins – free

I don’t always install these plugins, it depends what kind of site I’m making. For example, I only use the Image Metadata Cruncher on my photography sites, and some themes come with their own options for social media badges or Mailchimp signup forms. But when I need them, these are the plugins I turn to:

Mailchimp for WordPress

WordPress plugin page
Plugin website

Despite the name this isn’t the official Mailchimp plugin for WordPress, but it should be. It’s an excellent third-party plugin that makes it incredibly easy to drop signup boxes or forms into a page with a short code, and also includes the option to add a ‘sign up’ tick box to your comment and contact pages.

You can upgrade to the Pro version for more options, but I’ve been doing okay with the free version so far.

Social Media Widget

WordPress plugin page

There’s a metric ton of social media widgets out there but I just wanted one that displays nice icons in a row in my sidebar or my footer, and this does the job with optional animations to boot. Simple, lightweight, with a range of different icons to suit most tastes and the flexibility to install more. I really love that it includes Instagram, it took me ages to find one that did!

Image Metadata Cruncher

WordPress plugin page
Plugin website (don’t let the weirdly unpleasant design put you off!)

I use this plugin on my professional photography sites because it gives me full control over how EXIF and IPTC details are used by WordPress, based on the contents of those fields as edited by me in Lightroom or Photo Mechanic.

For example, by default WordPress extracts the EXIF ImageDescription and the IPTC Headline of an uploaded image and uses that to fill the Description and Title fields of the Edit Media form. Image Metadata Cruncher gives you full control over this by letting you tell WordPress which EXIF or IPTC elements to use, where.

It even lets you build up complex sentence ‘strings’ to use on your site, such as:

Photo taken with Canon 7D at ISO 800. Shutter speed was 1/125s and aperture was f/2.8.

Some awesome paid WordPress plugins

Sometimes I find the best option is a paid plugin, and I usually turn to CodeCanyon first. Here’s the two plugins I’ve bought that have been very useful across multiple sites:

Justified Image Grid

CodeCanyon plugin page
Plugin website (try out all the options in the demo!)

This. Is. Amazing. It takes all the images you’ve attached to a post, or a subset of them WordPress-gallery-style, and presents them in an elegant justified grid according to the options you set. It’s effortless and awesome and makes your image galleries look fantastic.

You can opt for one of dozens of pre-made themes (all of which look good out of the box) or delve into the incredibly powerful options to tweak almost everything, including the general size of the images, if they animate when hovered, title styling, lightbox options, and more.

I use it on my professional photography site for blog galleries and portfolio galleries, and on my photoblog for the homepage gallery.

Taqyeem (reviews)

CodeCanyon plugin page

Boasting an oddly not-very-descriptive name, this plugin is actually one of the best available for turning any theme into a review theme. You can add a review box to any post or page using admin options or a shortcode, every element of the review box is customisable using well-documented CSS options, and you can drop the overall star rating into any part of your theme with a line or two of PHP, also covered in the instructions.

That’s yer lot!

Installing the essential plugins I listed above, and setting them up right, will be sure to get your WordPress site off to the best start it can. Enjoy, and good luck!

Categories
Other how-tos

How to migrate Pixelpost to WordPress

Until recently I’d been using Pixelpost to power my photoblog, ‘my glass eye • pictures‘ but that software is long in the tooth and not well supported any more. Times have moved on so I decided to migrate Pixelpost to WordPress. It was surprisingly easy with only a few little hiccups, all of which I managed to solve.

This post details how I did it – first I go through the basic steps you need to take to migrate your own Pixelpost photoblog to WordPress, then a section on the problems I had and how I solved them.

What you’ll need

You’ll need the following no matter what:

  • PixelPost to WordPress Exporter plugin by ElevenTwentySix. They ask for a (required) $14.95 donation which goes to The Leukemia & Lymphoma Society and it’s well worth it for the work it will save you.
  • WordPress installed wherever you want to host the new version of your photoblog.
  • a WordPress photoblogging theme set up however you want it. I went for Retouch Pro by Graph Paper Press.

Install & setup WordPress

Install WordPress to your server following their instructions. I installed it to its own directory on my site and once I’d completed the migration and was happy the site was ready to go live I moved Pixelpost out of the root directory and used the General admin page to run WordPress from my site’s address.

The most important part is that you must give your WordPress installation its own MySQL database. If you don’t, it’ll make wiping the database clean before importing your Pixelpost files damn hard, plus it’s just a good website housekeeping rule.

Once you’ve gone through the basic setup, now would be a good time to start looking for a theme to use.

Pick a photoblogging theme

migrate pixelpost wordpressI went for Retouch Pro by Graph Paper Press. It’s a premium theme but it comes the closest to the look of my Pixelpost site and as a bonus the GPP support forum is excellent. If you’d prefer a free photoblogging theme there’s plenty out there if you do a quick search. Try a few different themes, make some test posts to see how each one works and what, if any, tweaks you’d like to make.

By the way if you find a really good one, free or premium, I’m sure others would love to know about it so give it a shout in the comments below.

Once you’ve picked a theme you need to establish the following things to make the import process go smoothly later:

  • does it require images to be called using HTML in the post content, or does it just need an image to be ‘attached’? (in my case they just need to be attached)
  • does it require Featured Images? (yes, mine needs those set in order to display an image)
  • does it make use of a theme-specific post format other than Standard to display your photoblog posts? (yes, mine uses its own ‘Image’ post format)

Install optional plugins

One of the main advantages of WordPress is the huge library of third-party plugins to add functionality. Here’s a few that I highly recommend, or that may come in handy depending how your theme works:

  • Akismet – a superb spam filter for comments. It comes already installed with WordPress, you just need to generate your own API code on their site.
  • WordPress SEO by Joost de Valk (aka Yoast) – an essential plugin for sorting out SEO optimisation across your site as well as on individual posts. You should really take 15 minutes to go through the tour and set it up nicely.
  • Google Analytics for WordPress by Joost de Valk – effortlessly set up your site with your Google Analytics account.
  • SEO Friendly Images – this will automatically create Title and Alt tags for your images based on variables like post title and image name. Alt tags in particular are extremely important to search engines.
  • Smart 404 – does a great job of intercepting requests that would normally result in a 404 error and sending the visitor to its best guess at what post they were looking for. If your Pixelpost URLs were in the form ?p=123 and you go for the vastly superior pretty permalinks in WordPress this won’t help so much, but it’s handy to have anyway.
  • Auto Featured Image – many themes require Featured Images so this is extremely useful for automatically setting them on all your imported posts. It just takes the first attached image in each post and uses that, perfect for a ‘one-image-per-post’ photoblog.
  • W3 Total Cache – caching plugins make your site run faster, something both your visitors and Google will appreciate. There’s several available and many schools of thought on which is the best and how they should be set up, but you can’t really go wrong with W3 Total Cache. Do a quick search for Yoast’s set-up guide, he knows his stuff.

When you’re done with your basic setup it’s time to wipe it clean in preparation for the import.

Prepare WordPress for import

Assuming you’re starting a brand new WordPress installation for your Pixelpost import, Jeff Mahoney, author of the ‘Pixelpost to WordPress Exporter’ plugin, recommends you only import everything after properly erasing any demo or test data you’ve created while setting it up.

However, if you’re trying to add your Pixelpost blog posts to an existing WordPress blog DO NOT DO THIS! You’ll wipe out all your posts and you won’t get them back. I can’t help with importing to an existing site but I’ve heard of others managing it so have a search once you’re finished reading this guide.

If, and only if, you’re starting with a brand new WordPress site, wipe the existing demo post, page and comment data by logging in to your host’s admin page (e.g., CPanel), navigating to PHPMyAdmin, and selecting the database you set up for this WordPress site making double and triple sure you’ve selected the correct one.

Then select the following seven tables and empty them:

  • wp_commentmeta
  • wp_comments
  • wp_postmeta
  • wp_posts
  • wp_terms
  • wp_term_relationships
  • wp_term_taxonomy

Emptying these tables will also appear to remove any test images you uploaded to the Media Library but it doesn’t seem to remove the actual files from your server. Fire up your FTP app to check in the Uploads directory ([yoursite.com]/[wordpress]/wp-content/uploads) and physically delete any test images left behind.

You should now have a completely empty WordPress site ready to take your Pixelpost import!

Export .xml files from Pixelpost

pixelpost wordpress exporterOkay, we’re nearly there!

First install the PixelPost to WordPress Exporter plugin to your Pixelpost site. You just drop it into the Addon folder in your PP installation and activate it from Admin.

Export settings

From the Addons page of Admin, scroll down to the options for the exporter. As well as the posts database you have the option to include references to the images themselves, tags, categories, and comments, add an ‘img src’ tag to your posts, specify the post author, and split the export.

Remember when you noted if your theme required an image to be called by HTML in the content of a post? If it does, the ‘img src’ option can save you some work by embedding it into the post content during the export so it’s already included when you import to WordPress. Don’t worry if you’re still not sure – leave it off for now and you can always run the export again later if it turns out you need it.

Splitting the .xml is useful if you have a large blog. Hosting servers often have a timeout enabled that is too short to upload a single large .xml file, so splitting the export into multiple files just means you import smaller chunks within the timeout limit.

Don’t worry about the Author selection, you can set the Author during the import process later.

Everything set up the way you want it? Okay – export!

Keep the resulting .xml files together in a folder called something like ‘PP Export 1’ – you might want export again with different variables so it’s best to keep everything clearly labelled.

At this point you’re probably ready to import. However, if you noted that your WordPress theme requires photoblog posts to be set to a specific post format type other than Standard, skip down to the section on potential problems before going further – we may need to do a little fixing first.

Import .xml files to WordPress

All your .xml files are ready? Here we go, this is the fun bit!

Log in to your WordPress admin pages and select Tools -> Import in the sidebar. Select ‘WordPress’ and it will ask you to install the WordPress Importer plugin so go ahead and do that.

Now import each of your .xml files in order, selecting your user account to be set as the Author, and ticking the box for importing media attachments.

As each file imports don’t browse away from the page, just wait. Eventually you should see a list of the posts imported successfully and a ‘Success’ message at the bottom – at this point import the next file. Remember that one of the files, usually the first, contains just metadata and so won’t show any posts imported.

If you get a ‘fatal error’ message regarding a timeout, don’t worry! It just means there was too much work to do before the server timeout kicked in. Simply run the importer on the same .xml file a second time and it’ll skip straight to the posts it didn’t get last time coz it’s clever like that 😉

If you like, double check the Posts and Media pages after each successful import to check the tally is going up accordingly.

Once you’ve successfully imported all your .xml files… that’s it, you’ve migrated your Pixelpost photoblog to WordPress!

Potential problems and suggested solutions

The very first time I tried this two years ago it all went a bit wrong on a number of fronts. However, it was all fixable so here’s some problems you may experience, and a solution to try:

Your theme requires Featured Images to work

The import process will grab your images from your Pixelpost site and attach them to the correct posts, but won’t set a Featured Image. This is no problem – just grab the Auto Feautured Image plugin via the ‘Plugins -> Add New’ page and run it.

The plugin does currently say it’s not been updated in quite a while, but I’m on WordPress 3.6 and it worked. If you’d prefer something newer there are other plugins that appear to do the same thing.

‘Fatal Error’ timeout during the .xml import

As mentioned above, this isn’t as fatal as it sounds, it just means the .xml file was a bit too big for the importer to do its thing before the server timeout cut it off. Simply run the Importer on that .xml file again and it will pick up where it left off. Splitting the Pixelpost export into more chunks can help prevent it happening.

Importing doesn’t grab the images

First, are you sure you checked the ‘images’ box when exporting from Pixelpost? If you did and it still didn’t work there could be a number of reasons, but in my case it was a problem with the filename for around 300 of my images – I’d included a space in them. I was new to running a website back then and didn’t realise you shouldn’t have spaces in filenames!

PixelPost had dealt with this by replacing the space with %20 in the URLs so the images would load. However, the .xml file recorded by the PixelPost exporter left the space in the filename and hence the URL, so the WordPress Importer wasn’t able to find those images.

Jeff Mahoney, the creator of the PP Export plugin, was an absolute star and talked me through how to solve this:

  • run the Export plugin using the existing ‘bad’ image filenames
  • log into the server with an FTP app and create a duplicate of Pixelpost’s ‘images’ directory
  • isolate all the bad filenames in the duplicated image directory and replace the space with an underscore

    (I did this step by downloading the images directory to my Mac, renaming it ‘imagesfixed’, using an Automator action to rename the bad files and uploading this directory to the root of Pixelpost alongside ‘images’.)

  • go into the XML files and do two Find & Replace actions; the first to rename the image references using the underscore; and the second to find all references to the ‘images’ directory path and replace it with the ‘imagesfixed’ directory path.
  • run the WordPress Import tool on the edited .xml files.

This worked flawlessly – thanks, Jeff!

Your theme uses a post format other than ‘Standard’

My chosen theme, Retouch Pro, requires photoblog-formatted posts to be in their custom ‘Image’ post format but the WordPress Importer places them all in the Standard format by default.

You used to be able to change the post format for multiple posts at once using the Bulk Edit option on the Posts page, but a recent update took that facility away. It’s been raised as a feature request over at the WordPress development pages but there’s no telling if or when it’ll return.

I thought I was going to have to manually switch all 650 posts by hand, until I stumbled across a crafty workaround: I switched one of my posts to the Image format manually then I exported it to an .xml file and had a look through the contents in a text editor. Sure enough there was a line amongst the meta that designated the Image post format.

I copied this line, then opened my original Pixelpost-exported .xml files and did a ‘Find & Replace’ to drop that crucial line into the same section of code for each of my 650 posts automagically. Then I wiped my WordPress clean (again!) and re-imported using my edited .xml files. This imported all the posts as before, but set them all to ‘Image’ – success!