This blog is currently experiencing rapid growth in traffic from search. Last month, search traffic more than doubled from what it was just a couple months previously. This month looks on track to continue that rapid upward trend.

In fact, last month had over 11 times the amount of traffic from search for the same month last year.

Of course, there are multiple factors involved, but they mostly boil down to three main strategies, the last of which I focus on here:

  • Regularly creating and publishing valuable content. The more content you have, the more search traffic you can start to claim a piece of across an ever-widening array of keywords. Each new piece of content is an asset that fuels your future traffic growth.
  • Continually building online authority through the repurposing of that content through various online channels. This includes social media and building up our social audiences (for example, we’re now past the 10k milestone on Twitter). As content gets repurposed, republished and shared, you build natural inbound links that reflect a growing level of authority, and helps determine how your content is ranked. In other words, your content assets grow in value for your business.
  • Optimizing the blog for search. As well as optimizing posts individually for search, and effectively linking between posts to help search engines determine what content is about, it also means getting the right SEO foundations in place for the blog. While there are a plethora of SEO plugins available, there are just three such plugins I consider essential and that this post focuses on.

So in this post, I cover:

  • The 3 best SEO plugins for WordPress.
  • Why you need them. In other words, how they help your site rank and attract increasing amounts of search traffic.
  • How to use them. I’ll cover how to set them up for best results.

Get the cheatsheet with all the info you need on the best SEO plugins for WordPress.

The most effective SEO plugins you need to help your WordPress blog rank


Yoast is an essential WordPress plugin to help your SEONo list of SEO plugins for WordPress would be complete without reference to Yoast, and it’s been in action on this blog since day one.

It’s updated regularly, in use on over a million blogs, and you’ll see it referred to regularly with reference to WordPress SEO.

Using Yoast

After installing and activating Yoast, you’ll see an SEO menu on the left within WordPress.

After installing, you'll see the SEO menu on the left

Yoast adds an SEO menu through which you can access all of Yoast’s settings.

We’ll go through each of these pages in turn.


This page has four tabs for General, Company Info, Webmaster Tools and Security.

The General tab enables you to take a tour for a general overview of what Yoast provides. You can also restore all the settings back to their defaults should you ever wish to.

On Company Info, you can update the website name if you wish. If set, this will override your existing Site Title, set in WordPress’s General Settings. You can also provide information for possible display in Google’s Knowledge Graph (additional information that can appear alongside regular results in the SERPs).

The Webmaster Tools tab provides an easy way to verify your site with Google’s Search Console, as well as Alexa and other search engines like Bing.

Google Search Console

The important one is of course Google’s Search Console (what used to be referred to as Webmaster Tools). Verify with them using this facility in Yoast if you’re not already verified.

Google’s Search Console provides a number of insights into how your site is performing in search, and how you can improve your visibility.

To verify with them:

  • Click the Add a Property button within the Search Console to add your site.
  • Click the Verify this property link to verify you own the site.
  • Click the Alternate methods tab.

Click the Alternate Methods tab

  • Select the HTML tag option, and copy the meta tag value as shown (just the value between the quotation marks):

Copy the value for the verify meta tag

  • Paste into the field within Yoast:

Paste the verify code into the Google Search Console field

  • Click to Save Changes.

You should also enable the indexability check on the same tab. Via an integration with Yoast, it means you’re alerted if your site can be properly indexed by search engines.

You can generally ignore the Security tab. It provides access to a couple of advanced settings, but generally you won’t need to use them.

Titles & Metas

There are a number of settings on different tabs, the most important of which is described as follows.

On the Homepage tab, set the title and meta description templates. As you might expect, this determines the title and meta description for the home page of your blog.

You can include certain variables such as %%sitename%%, which will be replaced with relevant information as required. A full list of variables is available via the Help center link that’s just above the fields.

Set the home page title and meta description templates in Yoast

The information you add here is also used for Open Graph and Twitter Card tags for your home page.

The information is also used in your Open Graph and Twitter Card tags

The title and meta description information is used for your Open Graph and Twitter Card tags, optimizing your site’s shareability and presence on social, and described further in the Social section below.

The other tabs show a number of settings you can enable and disable. It’s a good idea to have a quick look through these, but you should generally be able to leave these set as their default settings.


On the Accounts tab, enter as much information as you can about your various social profiles. Even if you don’t use a particular social network, it can be a good idea to claim the account anyway with a suitable username to prevent someone else using it.

Yoast uses this information in various ways, including for social meta tags as follows.

Add your social profile information to Yoast

Add as much information about your presence on social networks as you can.

Through the Facebook tab, you can enable Yoast to add Open Graph data to your pages. It’s a good idea to do this in order to optimize your site’s presence on social networks like Facebook (Google+, Pinterest and LinkedIn also use Open Graph information for example).

For full information about how Open Graph works and how to use it (including with Yoast), see the related post, Ultimate Guide To Social Meta Tags: Open Graph And Twitter Cards.

Similarly, the Twitter tab lets you take advantage of Twitter Card meta data, and choose the default card type you wish to use. Again, the post referred to above goes through this in detail.

Click the Twitter tab to update Twitter card information within Yoast's SEO plugin

The Pinterest tab provides an easy way to confirm your website with Pinterest if you haven’t already, by simply adding the meta tag into the field provided.

Finally, the Google+ tab provides a field for you to add the URL for a Google+ page for your business. This may be the same as that entered on the Accounts tab, but you may choose to have the URL for a personal Google+ account on the Accounts tab, and your business Google+ page on the Google+ page.

XML Sitemaps

This is an important page within Yoast. Providing a well-structured sitemap to Google via their Search Console (referred to above) – as well as to other search engines like Bing – helps them index all the pages on your site efficiently and maximizes your search visibility.

For example, some pages on your site might be hard to find by web crawling alone.

The XML Sitemap provided by Yoast isn’t automatically activated. To activate it, simply click the Save Changes button on the General tab on the page. (There’s no need to enter a number into the Max entries per sitemap field, this will be set to 1000 by default).

Activate Yoast's XML sitemap functionality by clicking to Save Changes

Once you’ve done this, you’ll be able to see your XML Sitemap by clicking the button provided.

Click the button to view the XML SItemap provided by Yoast after activating

Click the button to see the sitemap and get the URL you’ll need to submit to Google’s Search Console and elsewhere. It should be in the format

To see an example, the sitemap for this blog can be seen here.

To submit it to Google’s Search Console:

  • Click through to the property in question.

Click the property from Google's Search Console

  • Click Sitemaps from the Crawl menu on the left.

Click Sitemaps under the Crawl menu on the left

  • Click the Add/Test Sitemap button and follow the instructions provided.

Check back after a day or two, and you should see that Google has begun to load the information within the sitemap and to index the content.

Note that not all the pages in your sitemap may actually be indexed and the proportions involved may change over time. Google doesn’t share which pages may have been dropped or not indexed, nor the reasons involved, but information elsewhere within the Search Console can help you discern if there are any problems with any pages in particular. As we’ll see, Yoast can also help with this aspect.

The other tabs on the XML Sitemaps page allow you to determine what’s included in the sitemap. They can generally be left as the default settings, unless you have specific requirements.


The Advanced page provides a number of settings for breadcrumbs, permalinks and RSS.

It can be a good idea to have a look through the settings and become familiar with some of the other changes Yoast makes to WordPress under the hood to help optimize it for search. Unless you have specific requirements, the settings are already as recommended, and can be left as they are.


There are no specific settings here, but the page gives access to some of Yoast’s tools that you may need from time to time:

  • Bulk editor to change titles and descriptions of posts and pages in bulk.
  • File editor to update your robots.txt and .htaccess file where applicable.
  • Importing and exporting facility, for example if you want to use the same Yoast settings on another blog; or similarly, import settings.
  • Recalculate your SEO scores, for posts where you have added a focus keyword.

Search Console

Yoast can link up with Google’s Search Console, and help you manage pages where issues have been found, such as 404 errors you may not otherwise be aware of.

To take advantage, click the Get Google Authorization Code button as shown:

Click the button to get an Authorization Code from Google

Once you’ve authorized Yoast to help manage your Search Console information, enter the code you’re provided with into the field provided and click Authenticate.

Yoast will then pull back pages that Google has attempted to crawl but cannot reach for whatever reason. Often these are incorrect links from other sites that you can then redirect to the correct page on your site.

You can set up a redirect via the paid version of Yoast, or simply use another WordPress plugin such as Pretty Link.

For example, this was showing an error for a valid page on the blog, but with some invalid information on the end of the link that made it invalid:

404 errors showing in Yoast

Presumably this reflected a link from some other site. The correct link should have been the first part only, /google-plus-business-four-reasons-incorporate-google-content-marketing-strategy/

After setting up a 301 redirect to the correct page, I could then mark the issue as fixed from within Yoast and prevent it reappearing.

Click Mark as fixed within Yoast

Optimizing Posts

As well as the underlying settings described above, one of Yoast’s main benefits is also to help you optimize individual posts and pages.

When you create a new post, underneath the editor you’ll find Yoast’s box where you can specify a main keyword you wish to focus on.

The one I set for this post is “best seo plugins for wordpress”.

Best SEO plugins for WordPress was set as the focus keyword for this post within Yoast

This was based on keyword research that firstly showed the keyword has significant monthly search volume:

Keyword research shows the keyword has significant volume for SEO

Secondly, there is surprisingly little competition:

Competition for the keyword on search is low

Yes, I know the keyword for the post has the plural plugins, and the research uses the singular plugin, but this is mostly inconsequential.

Most of the searches for the singular form return the plural anyway. And research on the plural form, set as the focus keyword, reveals nearly 200 searches a month, and just over 11,000 competing pages – so still worth pursuing anyway for long-term traffic gain.

But, back to the plugin… for more detailed information about keyword research, get our comprehensive guide, How To Do Effective Keyword Research To Optimize Your Content And Attract Your Marketplace.

Use Yoast's snippet editor to improve your search listing and click-through rates

Yoast also gives you an easy way to adjust what can appear in the SERPs for your page. It’s not guaranteed, but where there’s a search that matches the text in your snippet, the text you enter here has a good chance of appearing should your page be listed in the results.

How Does This Help Your Blog’s SEO?

You’ll notice in the above snippet, I’ve repeated the focus keyword in the descriptive text (and it’s already in the title). This makes it appear in bold for a matching query in the SERPs, which increases the click-through rate.

Plus, the text can be carefully engineered to encourage click-through. So in the example shown above:

  • SEO plugins is repeated twice to help attract the eye of the person searching for that topic.
  • The word ‘today’ indicates current relevance – someone searching for plugins wants something up to date, rather than to waste their time on outdated information.
  • It refers to rapid search traffic growth to illustrate authority and show I know what I’m talking about, while playing into the mindset of the person searching for the keyword who will be looking for similar results. After all, traffic growth is the whole point of using plugins that help your SEO.

Increasing the click-throughs your listing attracts helps indicate to Google the relevance of your page for the query in question. If more people are clicking through on your page than on results listed higher up in the SERPs, it’s likely your own ranking will rise.

Yoast also show a number of SEO hints and tips via their Content Analysis section.

Use Yoast's content analysis to help your blog's SEOTo be honest, I don’t pay too much attention to this, and avoid ticking every box. Much of it is too formulaic for my liking, and can result in creating content for the search engines rather than for visitors, which is mostly counter-productive.

For example, my focus keyword doesn’t appear until the second set of bullet points in my intro above, rather than in the first paragraph as they advise. I rarely meet their keyword density suggestions.

Instead, I ensure I:

  • Focus on the topic.
  • Create as much value as I can for the visitor. Nearly always this involves longer, in-depth posts. (I thought this would be a shorter post. Instead, more than 5,000 words later…)
  • Include the focus keyword in the title where there’s a natural fit and it reads well.
  • Use images liberally where they add value for the visitor and are relevant. This keeps visitors on the page for longer, and gives a very positive signal for the page to Google.

Above all, it’s about giving to the visitor as much as you can. This always repays you far more generously than attempting to give the search engines what you think they want.

From experience, by following this approach I know Google is smart enough to rank the page appropriately over time across a whole range of related keyword terms.

However, optimizing your pages for search also involves ensuring they load as quickly as possible. This is where the next couple of powerful, essential plugins come in…

W3 Total Cache

W3 Total Cache helps speed up your WordPress blogFirst, a note on site speed…

Both this and the third plugin below focus on site speed, and how long it takes pages on your blog to load.

How is that relevant for SEO?

While longer blog posts can be very beneficial in terms of providing a wide range of different (and interrelated) keyword terms to attract search traffic through, your rankings will suffer if those pages take an age to load.

The speed of your site is just one factor Google uses to help determine how to rank your site. So when they spider a page, they’ll note how long it takes to load all the required resources. This data, averaged over time, is compared with other sites, and helps them determine (along with multiple other factors) which sites will give the most user satisfaction for search queries.

Your site’s speed also plays into an additional, and possibly more important, factor too.

If a search user finds your site listed in the SERPs (search engine results pages), clicks through, but is frustrated by the amount of time it takes for the page to load, they’ll click back to the SERPs to find a different result.

Seconds – milliseconds  – count.

This kind of activity is measured by Google, the reasons for which are obvious.

Imagine a user clicks through on Result A, rapidly clicks back to the SERPs, and from there clicks through on Result B, where they stay for considerably longer.

Google immediately knows Result A was unsatisfactory for whatever reason, whereas Result B better met their needs.

Data like this compiled from multiple users over time plays directly into the rankings.

“The best sign of [a search user’s] happiness was the “long click” – this occurred when someone went to a search result, ideally the top one, and did not return. That meant Google has successfully fulfilled the query. But unhappy users were unhappy in their own ways, most telling were the “short clicks” where a user followed a link and immediately returned to try again.
Stephen Levy, In the Plex – How Google Thinks, Works and Shapes Our Lives

The good news is that optimizing the speed at which your pages load is one of the factors that helps keep visitors on your site, increases the number of these long clicks, and has a positive impact on your SE rankings.

Remember too, as mobile search use increases, and the SERPs are optimized for mobile users, the speed of your site becomes an even more critical factor. Google won’t want to send users to sites that take an age to load on mobile.

Get the cheatsheet with all the info you need on the best SEO plugins for WordPress.

Using W3 Total Cache

W3 Total Cache is one of the most complex and technical WordPress plugins, but also one of the most powerful. This post will highlight the main sections of the plugin you should set up in order to benefit from the speed improvements in provides.

The plugin can be upgraded for further speed improvements, although most users won’t need to do so. This post covers all the freely available functionality, which can by itself provide huge improvements in page load times.

W3 Total Cache works by:

  • Caching information, whether in the browser, on the server or in the database, to minimize the amount of time it takes to display a web page.
  • Minimizing the size of files, such as javascript files, so that there is less data for the browser to download, again speeding it up.
  • Enabling the use of a CDN (content delivery network) for files such as images, theme files, CSS and JS files, so that content is delivered as rapidly as possible for the visitor.

Using a CDN

If you’re not familiar with what a CDN is, here’s a rough outline of how it works.

After opening an account with a CDN provider, you can then upload files (e.g. images) to that account. Each file you upload will have its own link, for example:

The CDN provider will have networks of servers all over the world. Although you might upload a file to a server in your part of the world, the same file will be replicated to other servers in the network.

Before using a Content Delivery Network (CDN)

When a visitor accesses a file you have uploaded to the CDN – for example, an image within a web page – it will be delivered to them from the server that’s closest to them.

You might have uploaded the file to a server in New York, but a visitor in Australia may have the same file delivered to them from a server in Sydney.

After using a Content Delivery Network (CDN)

This can speed page load time considerably, especially when multiple such files are involved.

Plus, if your blog is hosted within a shared hosting environment for example, you are less affected by bottlenecks and high usage periods. Your largest files such as images are delivered from multiple servers within CDN networks, geographically distributed, and optimized for speed and the delivery of such files.

You can save money too. Bandwidth costs are often a lot cheaper with CDN networks than with main hosting providers.

This blog is hosted with Rackspace Cloud and uses their CDN system. Other options include Amazon CloudFront, Google Cloud CDN, and hundreds of other providers.

To achieve the highest speeds out of W3 Total Cache, and thereby the best benefits for SEO and for your visitors, usage of a CDN provider is essential. It’s also relatively straightforward, and not much different to say uploading files to Google Drive.

So if it’s new territory, don’t be too intimidated with all the technical language, or simply ask your webmaster to set it up for you.

Let’s get started with the settings within W3 Total Cache. Note that there are a large number of settings, too many to cover here, but most of the default settings in place when you activate the plugin are fine.

Instead, I’ll cover the main aspects you can choose to enable and the basics of how to set them up. I’ll show you the settings I use at the time of writing for this blog, and help you choose what to use for your own.

W3 Total Cache Menu

After activating the plugin, you can adjust the settings via the Performance menu that appears on the left within WordPress.

You'll see a Performance menu within WordPress after setting up W3 Total Cache

Higher level settings for the different aspects of W3 Total Cache, such as turning functionality on or off, are on the General Settings page. The other pages provide more detailed settings for each aspect, allowing a fine-tuned configuration that matches exactly what you need.

General Settings

The General Settings page allows you to enable/disable the following, along with some basic settings for each:

  • Page Cache
  • Minify
  • Database Cache
  • Object Cache
  • Browser Cache
  • CDN
  • Reverse Proxy
  • …and a few other aspects which I’ll briefly touch on.


A box at the top allows you to toggle all the settings listed above on or off at once. It’s not an approach I would recommend, and you can generally ignore this.

You can also enable a Preview mode from this box. This means your configuration settings will only apply to you as the logged in user viewing your blog, until you decide to deploy your changes.

Use W3 Total Cache's preview mode to test changes before you deploy them

Page Cache

This means pages are cached on the server once created (and periodically refreshed), rather than created anew each new visitor.

Creating a page anew involves multiple database calls to retrieve the contents of the page and so on. As the page content will mostly remain the same, this doesn’t need to happen for every visitor who wants to see the page.

Instead, page caching means the page will be ready to send to the visitor as soon as they request it, rather than working behind the scenes to create it each time, which is more time-intensive. Every so often, in case anything has changed, a new version of the page will be created for the cache.

The possible downside is that it will use more disk space on your server to store the cached versions of your pages.

To take advantage of this, enable page caching via the checkbox provided, and select the most suitable page caching method based on your server set up.

Enable page cache and select the method required

There are a number of options to choose from for the page cache method.

Select the most suitable page cache method

This blog uses the Memcached method, as it’s hosted across multiple cloud servers. If you use a standard hosting package, you’ll most likely want the Disk: Enhanced option.


Minifying files (namely HTML, CSS and JS files) basically involves:

  • Stripping everything out that isn’t needed from the code, like line returns, spaces and comments.
  • Reducing the size of all the remaining text wherever possible, while still providing the same experience for the user.

In brief, the code that developers need to understand and be able to modify in order to create and maintain a site is bigger than it needs to be to display the site for the visitor. This is where minification comes in, and can reduce file sizes by 10% on average, meaning those files take 10% less time to load for your visitors.

Use W3 Total Cache to minify files

Use W3 Total Cache to both minify and cache the files in questions. The settings I use for this blog are shown above. Again, you may need to adjust the Minify cache method if you use standard shared hosting (select the Disk option).

The default minifying methods are all fine to leave as they are.

Database Cache

For further potential speed improvements, enable both the database cache…

Enable the database cache option for more time savings

Object Cache

…and the object cache. Again select the most suitable method based on your own hosting environment.

W3 Total Cache's Object cache can be enabled too

Browser Cache

The caching methods described above all work on the server, reducing the amount of time it takes to send the required files to the visitors browser. Browser caching involves telling visitors’ browsers to cache required files too, so the can simply be reused on subsequent visits, rather than downloaded fresh each time.

So enable the browser cache option too.

Tick the browser cache option within W3 Total Cache

Additional options are available via the Browser Cache page, though the default settings are usually sufficient unless you have specific requirements.


See the section above on the benefits of using a CDN. This is where you enable it within W3 Total Cache.

Enable the CDN and select the network you use

The actual configuration settings are available on the separate CDN page, via the W3 Total Cache menu.

This usually involves providing a username and API key provided by your CDN network, and a few other settings.

Configure your CDN settings within W3 Total Cache

The Container is like a folder or directory within the CDN that helps to organize your various files. As you can see above, the container created for this blog is simply

Once you have set up the CDN within W3 Total Cache and verified the settings are correct (use the Test… button provided), you should upload the various files you want to be served from the CDN by clicking the buttons available on the CDN page.

This is also where you select the types of file you want to be hosted with the CDN, such as attachments, wp-includes files, theme files, and any custom files.

Note that you may see the Host minified CSS and JS files option pre-checked and disabled. However, this only works if you select the Manual option for the Minify mode option on the General Settings tab. Generally, it’s best just to leave it as Auto, and have the files served through server caching instead, e.g. Memcached.

Reverse Proxy… and other settings

There are a few other options on the page like Reverse Proxy that I don’t currently use. Unless you have specific requirements, you can simply leave these settings as they are by default.


If you have any problems with your configuration settings, use the Debug section to get more information about exactly what is happening with regard to caching on your pages.

The information is shown in the source code for each page in the form of comments at the end.

Import/Export Settings

This is where you can for example back-up your W3 Total Cache configuration settings, or perhaps replicate them across different front-end cloud servers as further mentioned in the Finally section just below.

Other Pages

The other pages within W3 Total Cache give you a wide range of configuration options for all the different caching types, and are worth exploring and testing out different options as required.

For example, the Minify page gives you the option to minify the HTML for your pages, which is not enabled by default.


One final note of caution relates to using W3 Total Cache in a cloud hosting environment where you may have more than one front-end server for your blog. W3 Total Cache uses a text-based configuration file to store your settings, rather than storing them in the database.

This means if you are logged in to your live blog via one of the front-end servers to set up or make changes to W3 Total Cache, your changes won’t be automatically replicated across other such servers.

A couple of possible approaches to resolve this issue are as follows, but it really depends on exactly how your own hosting environment is configured:

  • Use the export facility above to download the settings for the server on which you have made the changes. Upload the file to the other servers to replicate the settings.
  • Ensure you only make changes via the master server, with changes automatically synced across your child clone, front end servers.

Lazy Load

Have you ever been to a blog where the images appear to dynamically load or fade in as you scroll down the page?

That’s exactly what the Lazy Load plugin does.

Images are only loaded as they become visible to the user. You can see the plugin in action on this blog, although it’s more noticeable with slower connection speeds.

The benefit for the visitor when they first arrive on your page, is that they don’t have to wait for every image in your post to load. It can shave several seconds of your page load time.

For a post like my previous one on Tumblr, with over 6,500 words and 72 images, the effect – and the benefit for the user – is significant.

First though, a quick note of caution.

If you do a page speed test with a tool like Pingdom, the speed will reflect your page without this plugin. In other words, it will still calculate the amount of time it takes to load all the resources on the page, including all the images.

The same goes for Google’s calculation of how long it takes to load your page when they spider it.

As both access your page programmatically, there’s no such concept of scrolling down the page, and it’s assumed all images are immediately required.

So how does plugin this help SEO?

As I referred to above in the W3 Total Cache section, it’s all about improving the user’s level of satisfaction when clicking through to your page from the SERPs. With a fast loading page, more such visitors stick around, even more so when clicking through on a mobile device with potentially slower download speeds.

The fewer visitors there are who click back to the SERPs because of speed issues, the more potential there is for your rankings to climb.

Using Lazy Load

Activate Lazy Load - that's all there is to it.This is the easiest plugin of all to start using.

Once uploaded, just activate it in the usual way. That’s all there is to it. There are no settings to configure or any other complications.

I also successfully use it in combination with W3 Total Cache above, through which images are retrieved from a CDN.


To Conclude

By using what I consider to be the three best SEO plugins for Wordpress – all of which I also use on this blog – you ensure the best SEO foundations for your blog, and optimize your chances of increasing your search rankings over time.

Don’t have time right now? Get the cheatsheet with all the info you need.