This post will walk you through how to search engine optimize every aspect of your WordPress website.
If you haven’t read it already we recommend you check out our first big guide to SEO. That post will explain what all the different elements of SEO are while this post will explain how to set them all up properly on your site.
This post will also assume you’re already familiar with the WordPress dashboard. If you’ve never used WordPress before then we recommend you check out our guide to WordPress here.
Ready? Let’s begin!
The first thing you’re going to do is properly format your permalinks. To do this open your WordPress dashboard and go to Settings > Permalinks.
With this option selected WordPress will automatically create clean search engine optimized URLs based on the titles of your post.
If you title your post “How to build a website” with this option checked the post’s URL will be www.yoursite.com/how-to-build-a-website/.
As long as this option is selected and you title your posts well you’ll never have to think about the URLs for your individual posts again.
Install the Best SEO Plugin for WordPress
Most of the SEO elements on your website will be taken care of with an amazing free plugin called Yoast SEO.
Head to Plugins > Add New and search for Yoast SEO.
It should be the first one that comes up with the traffic light icon.
Hit the Install Now button.
Then click on the Activate Plugin link.
A pop-up will appear saying “Congratulations” and asking you if you want to take a tour of the plugin. You can if you want but I’m just going to close this for now.
You’ll see now that there’s a new item in the menu in the WordPress dashboard that says SEO. It’s the last item in the menu. Click on that now.
It’ll take you to the general page of the plugin. There will be a couple of notices at the top of the window, just close them.
Yoast SEO: General Settings
You should be looking at a screen like this:
This is the main screen of the plugin. There’s a couple of ads on the right for Yoast’s SEO services. You don’t really need any of these offers and you’ll only see these ads when you’re in the settings for this plugin so if they bother you don’t worry.
On the General tab there’s not much you really need to do so go ahead and click on the Your Info tab at the top.
Fill in the name of your website. This is the name that you want to appear in the search results.
If you have an alternate name that you’d like Google to take into consideration you can enter it as well. If not then you can leave that field blank.
Finally select if you’re a company or a person and the plugin will add the appropriate markup to your site.
Click Save Changes and move on to the Webmaster Tools tab.
Here you can verify your site with several different Webmaster tools by entering the verification code from each individual tool.
We’re big fans of the Google Search Console so lets set that up.
When you set up and verify Google Search Console you’ll be able to get data on what keywords are bringing people to your site, take a look at your backlinks, disavow and backlinks from bad sites, get notifications if your site goes down or there’s any problems and a lot more.
To set this up go to: www.google.com/webmasters/tools/
Create an account or log in with your existing Google account.
In the upper right of the screen you’ll see a somewhat big red button that says Add Property. Click on that now.
Enter the URL for your website.
You’ll now see a screen where it’s telling you to to upload an HTML file with some instructions. Ignore this and instead click on the Alternate Methods tab.
Click on the HTML Tag option and you’ll see the HTML code for a meta tag.
What you want is the big string of random letters in between the quotation marks after content=.
Copy and past that string and head back to the Yoast SEO settings. Keep the search engine console open in another window or tab though.
Paste that string into the Google Search Console field and hit Save Changes.
Head back to the Google Search Console and hit the red Verify button. You should see a success message like this:
You’ve now set up your site with the Google Search Console. We’ll cover what this is and how it all works in a future post but right now verifying your site is all you need to do.
Click on the Security tab next.
Here you’ll find an option to enable or disable some advanced settings that let you noindex posts or pages (search engines won’t ever show them in their results) or change the canonical URLs for specific posts or pages.
You probably wouldn’t want to do this so leave this set at Disabled to keep things simple.
The last tab is OnPage.org.
In November 2015 Yoast SEO partnered with OnPage.org, another SEO website and they’ll check your site to make sure search engines can index it with no problems.
This is enabled by default and you might as well leave it enabled.
If you ever have a plugin, a theme or something that messes something up and Google suddenly can’t index your site it’s good to know.
That concludes the General Settings of the Yoast SEO plugin, click on the Titles & Metas option in the WordPress dashboard menu now.
Yoast SEO: Titles and Metas
The first thing you’re going to see here is the General tab where it asks you to select a title separator.
If you want you can have Yoast SEO automatically generate meta titles for every page and post on your site.
When it does this it’ll put the post tile first followed by the site name. Whatever you choose here will be the symbol automatically added between the post title and site name.
For example with the first option selected your meta title would be “post title – site name”. With a | selected the meta title would automatically be “post title | site name”.
We personally like to do our own manual titles for each post and page and if you do then you can ignore this.
Remember that you only get 50 to 60 characters for your meta title and if you have a long post title there often isn’t room to also add your site name.
If you do want Yoast SEO to automatically generate your meta titles then select whichever symbol you think looks best for the separator.
If you have a bunch of real estate listings on your site, especially if they’re automated then you can set this up to automate the titles of those pages which can save you a decent amount of time. You can still enter your own custom meta data on the page itself to over rule whatever you enter here as a template.
This is a sort of template for the meta information on your homepage.
Note: this demo website doesn’t have a specific home page and is instead displaying a list of the latest posts as the home page. If you do have a specific homepage set up, any time in these settings where you can edit the homepage you’ll see a message saying to edit these settings on the home page itself.
Again, We prefer to give all our pages their own custom meta data instead of using templates but if you want you can set up a homepage template here.
Your description should be manually written and not use a template, especially on the homepage which is why this is blank.
You can enter the meta description you want here or do it directly on the homepage itself when you’re editing the home page.
The title might look a bit crazy but those words with the %s are what’s called variables that pull and display information.
Here’s some of the basic variables you might want to use. There’s more if you click the help button in your WordPress dashboard
|%%date%%||The date of the post or page|
|%%title%%||The title of the post or page|
|%%parent_title%%||The title of the parent page|
|%%sitename%%||Your site’s name|
|%%sitedesc%%||The site’s tagline or description from the general settings|
|%%excerpt%%||The excerpt of the post, if you don’t have one it’s auto-generated|
|%%tag%%||The tags of the post|
|%%category%%||The category of the post|
|%%searchphrase%%||The words that were just searched for|
|%%sep%%||The separator symbol you selected on the General tab earlier|
You’ll see that by default the homepage title is: %%sitename%% %%page%% %%sep%% %%sitedesc%%
This will show the site name, page number, your separator and then the site description. Your homepage title might look like this: “My Website 2 of 4 | This is my awesome site”.
Feel free to build whatever template you’d like but We recommend you manually come up with both your homepage title and description as these are probably the most important meta tags on your whole site.
This section contains a bunch of options for various post types like your posts, pages and media. The options are the same for each type.
Here you can set the meta templates for the posts and set a couple of options.
The title template will be the title that’s auto generated for each Post.
If you’re going to auto generate your meta titles We recommend you stick with something simple like “%%title%% %%sep%% %%sitename%%” or even just simply “%%title%%”.
Keep in mind that anything you enter here you can overwrite on the actual post itself.
The meta description template is blank. You should really write this yourself but if your posts already have short little excerpts or something you could put something like %%excerpt%% here to automatically pull that information.
Next you’ll see Meta Robots with two options index or noindex. This affects your site’s robots.txt file which contains instructions that tell search engines if they should index a page or not.
If you have this set to index which it is by default then search engines can index your posts and the can show up in search results.
If you set this to noindex then that means search engines won’t index your posts and they will never show up in search results.
You probably don’t want this so leave it on index.
The Date in Snippet Preview will either show or not show the date of the post in the search results on Google.
It’s really up to you if you want to show this or not but I’d personally just leave it set on hide.
The last option Yoast SEO Meta Box will show a little section in the page and post editor where you can enter specific meta data for your posts and pages as well as do other cool stuff. You definitely want this set to show.
You probably want to keep the settings the same for your pages in the next section.
The last section is for your media. WordPress automatically creates a media page for each piece of media you upload but you’re probably never going to see these so just leave everything here as is and forget about it.
The next tab is where you can set the meta data for your categories and tags.
When you click on a category title or a tag you’ll be taken to a page that has all the posts in that category or with that tag.
Here you can set the templates and set a couple of options for these pages.
They’re the same options as the previous tab.
Here you can set the templates for the author archives and date archives, the pages that show all the posts for a particular author or dates.
The settings for the author and date archives are worth taking a look.
If you click on the author name that’s included with posts you’ll be taken to an archive page with all the posts by that author.
If you’re the only author on your site then this page will be exactly the same as your blog page which means you have duplicate content.
You can choose to either disable the author archives which will redirect to your homepage instead or keep them and just have them not indexed by search engines.
If you have multiple authors all writing posts on your site then you don’t need to worry about this.
Date based archives could also be seen as duplicate content so it’s a good idea to noindex them just to be safe.
The last section of this tab is where you can set a specific meta title for special pages like your search page and your 404 page.
This last tab has a few quick settings to take a look at.
Subpages of archives will let you not index the subpages of your post archives. If your list of posts is broken into multiple pages it won’t index page 2, 3, etc.
Use meta keywords tag? this will add the option to add meta keywords to your pages and posts but these don’t really affect anything any more so there’s no point turning this option on.
Add noodp meta robots tag sitewide will add a tag to every page that prevents it from pulling the description from DMOZ (an online directory website) if your site happens to be in that directory.
This happens in some cases so it couldn’t hurt to enable this option just to be safe.
That’s everything you need to know for your titles and metas so now it’s on to your social media settings.
Yoast SEO: Social Media Settings
Click on the social option in the WordPress dashboard and you’ll be taken to your site’s social media settings.
If you don’t have any social media pages you can completely ignore this section. If you do have social media pages then this section is where you set up all the meta data for those social networks.
This first tab is where you enter the URL to each of your site’s social media pages. This will help you verify your site with these social networks.
This is pretty self explanatory, if you have a page on one of these networks copy and paste the URL to that page here.
Even if you don’t have a Facebook page these settings control how things look when people share your site on Facebook.
Make sure Add Open Graph meta data is enabled. This will automatically add all the special Facebook meta data for you so you don’t need to worry about it.
Next you can set the open graph meta data for your homepage. You only need to do this once. If anyone ever shares a link to your homepage on Facebook the following information will appear in that post.
Upload an image that you’d like to be shown when people share a link to your homepage. It can be a photo, a logo, an ad or anything you want.
The title and description can be the same as your meta description if you like what you put there. Otherwise you can put a special title and description that will only appear on Facebook when your site is shared.
The Default settings lets you upload an image to appear with posts in the case that Facebook can’t find any other image to use. I would upload something like your company logo here.
Facebook insights lets you track analytics of interactions with your fans on Facebook. For now don’t worry about this section.
If you ever decide to get into advanced Facebook stuff you can always come back later at set this up then.
This controls how your pages and posts look when they’re shared on Twitter, even if you personally don’t have a Twitter account.
Make sure Add Twitter card meta data is enabled and for the default card type to use select Summary with large image.
The large images stand out much more on Twitter than the images on the standard summary cards.
Pinterest uses the same meta data as Facebook so as long as you filled in everything in the Facebook section you’re all good.
If you have a Pinterest page for your site you can verify it here.
Log into Pinterest, click on the gear icon in the upper right and then click on Edit Settings.
Scroll down until you see the website field. Enter your website and click on Confirm Website.
It’ll give you a meta tag that looks like this:
<meta name="p:domain_verify" content="1ajd23bla4aqa2c21b430f0fv6835996"/>
Copy the string of text from between the quotation marks after the content=, just like you did with Google Search Console and enter this into the Pinterest verification field.
The last social network here is Google+.
Under Add Google+ specific post meta data select enabled.
if you have a Google+ publisher page for your website (not a personal page) enter the URL for that page here.
And with that you’re done setting up all the social media settings for your site!
Yoast SEO: XML Sitemaps
Yoast SEO will automatically create and maintain your XML sitemap. There’s actually nothing you have to do here aside from installing the plugin.
If you click on XML Sitemaps in the WordPress Dashboard menu you’ll see a screen that looks like this:
If you click on the XML Sitemap button it’ll take you to the XML sitemap which probably won’t mean too much to you.
If a 404 error pages comes up when you click this button then go to Settings > Permalinks and just click the Save button without making any changes. Your sitemap should appear after that.
There’s absolutely no need to change any of the options in this section and on any of these tabs so we’re not going to mention anything else here. The default options on these tabs are exactly what you need.
Submitting Your Sitemap to Google
You should tell Google about your sitemap though. This will make it much easier for the search engine to index your website.
Click on the XML Sitemap button, when it’s ready it’ll open in a new tab. Take a look at the URL for the sitemap in the Address bar of your browser.
It should look something like: http://youtwebsite.com/sitemap_index.xml
Now head over to the Google Search Console. If you didn’t create an account and link it to the Yoast SEO plugin go back up to those instructions and do that now.
You should only have one website in your list there so click on the blue name of your website
You’ll see a section of the screen that looks like this:
Click on the bold word Sitemaps in the grey box.
Next click on the red ADD/TEST SITEMAPS button.
A little box will appear where you can enter the URL of your sitemap.
Your sitemap should be something simple like: http://youtwebsite.com/sitemap_index.xml so just copy and paste the last bit, the sitemap_index.xml into the field and hit submit.
You should see this yellow box:
Refresh the page either by clicking that link or using the button in your browser and you should see the sitemap in the list now.
You’re all done! You’ve now made things incredibly easy for Google when it crawls your website.
Other Yoast SEO Sections
The Advanced, Tools and Search Console sections of the Yoast SEO plugin are all good as they are.
You probably should go messing around with these sections unless you’re absolutely sure what you’re doing.
• • • • •
You’ve now set up all the settings you need for this plugin and we can move on to optimizing your posts and pages themselves.
Optimizing Your Posts and Pages
Open up any page or post on your site in the WordPress editor. In this example We just opened the sample page that came with the installation of WordPress.
Scroll down to the bottom of the window and you’ll see a new section that looks like this:
The first thing you want to do is enter a focus keyword. This is the main keyword that you want this post to rank for in the search results.
Once you enter the focus keyword the Yoast SEO plugin will evaluate your page and give you some important information to optimize it.
Under Content Analysis it’ll give you some information about what you need to look at. The Yoast SEO plugin uses traffic light symbols to show your the SEO health of the page or post.
If you see a green circle that means you’re good and don’t need to change anything.
If you see a yellow circle that means you should probably take a minute to look at that item and fix it.
if you see a red circle then you definitely should fix that item.
The Snippet Preview shows a preview of how your page will look when it shows up in the google search results. The information showing here is based on the templates you set up earlier in the Yoast SEO Titles and Metas section.
If you click on the Edit snippet button you’ll be able to enter your own custom meta title and description for this page.
We always prefer to enter our own title and description. This way we can make absolutely sure neither of them are too long and everything looks good.
If you click on that Gear icon it’ll take you to some advanced settings for the page that look like this:
You should never need to change anything here so just leave everything as is.
Click on that little social icon with the circles and lines and you’ll see the social media settings for this post or page.
If you enabled all the social networks in the Yoast SEO settings you should see tabs for Facebook Twitter and Google+ (Update: the Google+ tab has been removed in later versions of Yoast SEO that came out after this was posted. Google+ uses the same meta data as Facebook now).
These social networks will try by default to pull the meta title and description as well as an image from the page every time someone shares this page.
This doesn’t always work correctly so we recommend you enter specific information here for each social network as well as a specific image for each one too.
The plugin also conveniently gives you the optimal sizes to make the image for each social network!
Optimizing your Images
All of the images you add to your site should be properly optimized as well.
Upload the image and it’ll get compressed. The site will remove all the meta data from the image and also compress the image itself.
99.9% of the time you won’t notice any difference in the image itself and you can easily cut down the file size of the image by 70% to 90%.
This will help your site load faster which is good for all kinds of reasons.
When you go to insert the image into your actual post be sure to enter the alt text to describe that image.
The caption, description and title don’t affect your SEO so don’t worry about those.
When you insert the image WordPress will take care of editing the HTML code for you and your Alt Text will automatically be there.
Optimizing Your Text
The Yoast SEO plugin will give you advice on how to further optimize the text on your pages.
It’ll tell you if you don’t have enough words, if you didn’t use your focus keyword enough, didn’t use it in any headings, etc.
Don’t worry too much about your text. Write it like you would for humans and then you can subtly tweak it a bit if it’s necessary based on the suggestions of the Yoast SEO plugin.
WordPress itself with a little bit of help from the Yoast SEO plugin will take care of canonicalization for you.
If you go to Settings > General in the WordPress dashboard you’ll see the WordPress Address (URL) and the Site Address (URL).
If you see the www version of your site then that means the www version will be the canonical URL for each page.
If you see the non-www version of your site then that means the non-www version will be the canonical URL for each page.
This will be based on whichever option you picked when you installed WordPress.
There’s nothing you need to do here, everything is already completely taken care of.
Telling Google the Canonical Version of your site
You should tell Google the canonical version you want for your site though, just to be safe.
To do this head back to the Google Search Console and log in.
Select your website from the list.
Then click on the gear icon in the upper right of the window and select Site Settings.
The first thing you’ll see under Site settings a section called Preferred domain with the option to Display URLS as… Select either the www version or the non-www version. Whichever one your decided you wanted to be the canonical version.
Then click on the save button that appears and you’re all done.
If you get a weird error saying you need to verify your site even though you already did don’t worry. To fix this you have to add both the www and the non-www version of your site to the Google Search Console. Go to add a new site, if you verified the non-www version before add the www version this time or vice-versa. Click verify by HTML tag again and then just click the verify button. The code you entered before is still good and you should be verified instantly. Now you’ll be able to set your preferred URL if you couldn’t before.
You’ve now set up your SEO settings properly and you know how to optimize each page or post individually.
All you need to do now going forward is make sure you have proper meta data and social media data for each new post you make on your site.
Everything else is being taken care of for you.
If you have any questions about anything discussed here feel free to ask in the comments or on the forums.