What is SEO?
SEO, or search engine optimisation, aims to grow a website’s organic visibility on search engine results pages such as Google results pages.
SEO aims to improve rankings in order to drive more traffic to a site and attract a traffic of a higher quality, which in turn increases leads and/or revenue.
What is WordPress?
WordPress is an online, open source website creation & publishing platform written using PHP.
In laymen’s terms, WordPress is a very intuitive and easy-to-use website content management system (CMS).
As of December 2016, WordPress powered 27% of all websites globally, and this figure has gradually increased since. WordPress now dominates the CMS world, with a market share of almost 60. Alongside this, almost 3,000 of the top 10,000 websites are powered by WordPress.
Surely these numbers speak for themselves.
WordPress is getting increasingly popular because the platform offers great designs, and it is easy for dev agencies to work from. Alongside this, WordPress is a convenient and intuitive platform for owners and SEO agencies to collaborate and manage.
This is why WordPress sites are often the go-to choice, whether for brand new websites or site migrations. Alongside this, WordPress offers tens of thousands of plugins – many of which enabling you and your agency to build an SEO friendly CMS and website.
The Importance of WordPress SEO
As for every website, in order to drive traffic and maximise its quality, you need to ensure your SEO strategy is on point. If you have a WordPress site, then the good news is this will be made easier, for you and your SEO agency. This is because many features exist as default, and thousands of plugins are available as add-on features.
SEO can get very technical, which is why there are so many guides available but they’re not very human-friendly so to speak. However, WordPress offers easy to understand SEO best practices for WordPress, you can be sure to have a very SEO friendly website, and hereby increase organic traffic to your site through improved rankings and user experience.
Although WordPress is SEO friendly, just having a WordPress site won’t be sufficient or make your site truly optimised. This is why I’ve put a guide and actionable steps together to help you take advantage of all the features available.
Browse the article:
- SEO Basics & WordPress Set Up
- Off Page Optimisation for WordPress
- On Page Optimisation & Blog Articles
- Technical SEO for WordPress
1. SEO Basics & WordPress Set Up
Set up Google Analytics & Search console
If you already have a live WordPress site or as soon as your site is set up and live, your Google Analytics and Search Console accounts should be linked. This will enable you to get a quick overview of traffic to your site as soon as you log in. Alongside this, and more importantly, it will flag up any errors or issues such as 404s, the number of pages indexed, crawl errors and so on.
Once you have your Google Analytics and Search Console accounts sorted, check to see whether your theme has a section where you can add the analytics code. Popular themes such as Divi provide an Integration section within Theme Options where you can add the code. If you are adding via a theme, make sure that the code has been put into the right place. You can do this by right-clicking on your webpage and then clicking ‘View Source’. Your analytics code should appear within the <head></head> tags. If it doesn’t, you may need to look at another way of doing this.
If you are struggling to add tracking via your theme, you can download a plugin on WordPress such as MonsterInsights or the Google Analytics Dashboard for WordPress to integrate Google Analytics into WordPress.
Alternatively, you can download plugins such as the SOGO Header Footer plugin, which enables you to add script to individual pages’ header and footers, and to all at once too. This is ideal when it comes to adding a Google Analytics tracking code, and also any other remarketing or conversion tracking codes (such as Linkedin) that you might need to add.
Ensure Your Site is Crawlable and can get Indexed
Firstly, you need to make sure that your website is visible to search engines, which is particularly important if your website is ready to go live or has recently gone live. You can do this by making sure you have removed the noindex setting, making it readable to Google, therefore allowing crawlers and indexing.
Here’s how to do it:
- Login, then go to Settings > Reading, and ensure the Search Engine Visibility box is unticked.
Set up an SEO friendly URL structure
Having clean, SEO friendly URLs is also crucial – not only from an SEO perspective but also from a click-through rate (CTR) perspective in terms of SERPs . This is because users like and expect to be able to understand the content of the page they will be landing on.
This is why you should avoid symbols, underscores, dates and parameters. You should also make them concise, descriptive and include relevant keywords. <h3
You may want to include /blog/ or /news/ within post URLs to help differentiate post URLs from the main pages.
WordPress allows you to change this within the Settings Menu.
- Simply go Settings > Permalinks, and select the Custom Structure option.
Adding /blog/%postname%/ will then display your blogs as such: http://www.website.co.uk/blog/blog-post
If you would rather have the posts on the root of the website (e.g http://www.website.co.uk/blog-post) you would just need to select the Post Name option.
However, if your website has already been live for a while – let’s say a couple of months, and your pages are indexed, then do not change the settings of your permalink structure, without setting up proper 301 redirects, or the old pages already indexed will lead users to hit 404 pages when clicked from search engine results pages. Run this pass your SEO agency first, and they will be able to advise and help you do it the right way to ensure you maintain rankings and thus prevent a drop in organic traffic.
Choose between www. vs non-www versions.
If you are creating a new site, then decide prior to going live whether you want the www. (http://www.yoursite.com) version or non-www. version (http://yoursite.com) of your site.
Google would consider these two versions different sites if no 301 redirects are set up, nor canonical tags added on one version pointing to the other preferred one, and on the preferred one, self-referencing. This would mean that your entire site would actually be duplicated in Google’s eyes, which would dilute and affect your rankings.
Hence you need to pick one and ensure a site-wide 301 redirect is set up from the non-prefered version to the preferred one.
To set your preferred version, go to:
- Settings > General and simply add your preferred URL version in WordPress Address AND Site Address.
If your site has been live a while and this isn’t set up, then this should be a priority as represents a very quick SEO win for you.
This can be done by editing your .htaccess file for which I’d recommend getting a developer to help as it is an advanced feature.
There is also some plugins available for WordPress to help you set up site-wide redirections.
2. Off-page optimisation for WordPress
Page Title (Meta title):
Page titles (also called meta titles) are one of the most important ranking factors for Google because this is one of the first signals it will receive of what the page is about. These are also crucial to encourage click-throughs to your site from search engine results pages, as they are the first line of the snippets that users will see displayed.
It is important that meta titles are user-friendly and descriptive, clearly indicating what the page is about. If you do not provide the relevant or misleading meta titles, it could potentially increase your bounce rate.
The first words of the page title should be your targeted keywords, as studies have shown that pages with titles including keywords first rank higher than pages with the keywords in the middle or end of their title. This is thus the main priority. If possible, the brand name should be included at the end, separated with a “| “.
It is traditionally recommended that meta titles do not exceed 70 characters, as up to 55 characters are visible on SERPs and Google now displays meta title length up to 61-64 characters, pixel width being key here.
It is also essential to ensure that every single meta title is unique.
The meta description should be primarily informational for users and search engines, as they go into further detail about what the page is about. Meta descriptions should include your targeted keywords, semantically relevant ones and any hashtags that are also of relevance.
When applicable, a strong call to action should be included at the then end, as this will determine whether users click through to your website. These could be “join now, find out more, get in touch today” etc
The recommended character limit is traditionally 154 characters, as this ensures the entire meta description is fully displayed within the snippets on SERPs. However, Google has been trialling new lengths of up to 230 characters.
It is imperative to make sure each meta description is unique.
When new pages are created, most often URL slugs will be generated automatically. When possible, these URL slugs should be reviewed for optimisation based on your keyword strategy.
When new pages are created and URL slugs are generated, it is important to ensure they are SEO friendly, and do not include any special characters or underscores “_”.
It is recommended to replace spaces by hyphens “-“. You should also keep the URL reasonably short, including keywords descriptive of the topic of the page. This will improve user experience by allowing them to understand which page they are on, or about to click through to. This will also render better visually if the page is shared on social media.
Having relevant and consistent keywords in your URL will also help Google gather more information about the content of your page.
These will be updatable at the top of every page (under the title field) or within the SEO plugins at the bottom of the pages.
I guess now the question is…
How do you optimise meta tags in WordPress?
Once again, you’ll find the answer lies within a plugin.
Yoast vs All In One SEO: an ongoing debate.
Rest assured, there is no wrong choice with these two – follow your heart. (Sort of).
Although we currently use Yoast for the Ricemedia site, I have personally used All in One SEO for many of my clients, and there are many plus sides to both. The choice should be based primarily on your personal preferences, and needs – and SEO knowledge.
Here is a really good (and pretty objective) article comparing both: Yoast SEO vs All in One SEO Pack.
How to add a page title and meta description with Yoast:
At the bottom of every page, you will have the Yoast box as shown below, in which you will be able to edit these and even preview them:
If you are looking to update meta tags for almost all pages, use the bulk editor, under SEO > Tools, or you might be there a while…
How to add a page title and meta description with All in One SEO:
All in One SEO box will be at the bottom of the page too, and look like that:
If you want to set rules for pages such as posts – which can be overwritten on the pages themselves, this is also an option.
If you are using the Yoast plugin, then go to SEO > Title & Metas:
If you are using All in One SEO then go to All in One > General Settings:
3. On page optimisation & Blog articles
Note: Yoast has a traffic light indicator, which you shouldn’t pay too much attention to as is based on the “focus keywords” you enter for the page and how many times you have used them throughout the page. Just make sure page titles and meta descriptions are within the recommended length.
Heading (H1 tag):
H1s are one of Google’s top ranking factors because it is one of the first signals that will indicate to crawlers what the content of the page is about. You should ensure that your heading is optimised and includes the keywords you are targeting or close variants.
Try to include the keywords you are targeting towards the beginning of the title – this will help Google understand what the page is about as quickly as possible.
Headings are the first thing a user reads when a page is shared, and when they land on the page. Your H1 should be relevant and make the reader want to click on the page and read the content.
How to add H1s in WordPress:
These will most often be the title you give to a page, which you will be able to check when looking at the source code of your preview.
If this isn’t the case then all you have to do is add them within the text (or adding <h1> Your Heading </h1> text in the HTML (text) section)
Sub-headings (H2 tags):
Make sure you try to include at least one sub-header that is semantically relevant to the keyword targeted and also helps break down the text for the user to facilitate readability.
Again, you can select Heading 2 in the dropdown in the visual section when adding text, or adding <h2> Your 2nd Heading </h2> in the HTML text section.
The same principles apply for H3s, H4s etc.
Keyword consistency & density:
Try to include the targeted keywords in the first lines (100-150 characters) of the text to emphasise what your content is about so that Google will understand it.
Throughout the text, make sure keywords are dispersed naturally.
Keyword stuffing is when the exact keywords targeted are overused throughout a page or post. Do not keyword stuff, as Google may penalise your site. Instead use Latent Semantic Indexing (LSI) keyword variations, synonyms, and relevant phrases (ie. if your targeted keyword is Christmas, this can include holiday, December, winter, presents, Christmas tree, santa etc).
Note: Looking at “Searches related to…” at the bottom of SERPs can be an effective way to find relevant key-phrases for LSI.
Proofreading your content once it has been written is critical, as it should be readable, flow naturally and make sense to the user. Google is focusing more and more on the user experience, so make sure it is written for users, not search engines. The best way to find out? Dad test it!
Include internal links throughout the content to other main pages that are relevant to your text. This will help Google understand the relationship between your different pages and increase your page authority, whilst also improving user experience by facilitating navigability and help increase your average time on site, encouraging users to view more pages per visit.
When linking to other pages of your site, or to this page from others, ensure the anchor text used to link the page is descriptive, yet natural. Once again do not keyword stuff.
A general rule of thumb would be to try and include no more than 1 link per 100 words.
Note: If redirects are set up, make sure you change the internal links to point straight to the final destination URL, to avoid diluting link quality and wasting search engines’ crawl budget with unnecessary redirects or redirect chains.
If you are discussing third-party sources that are relevant to your content (such as studies, images etc), only include an outbound link if the site has a high trust flow.
Note: The desired trust flow should be higher than 15.
Images help improve user experience by driving engagement and can also help improve rankings and drive traffic through image searches.
In order to improve SEO via images, ensure that every single image has a simple yet optimised alt-tag (alternative text), which includes keywords as Google cannot read image, and will, therefore, look at the alt-text of an image to understand it.
This will also enable text-reading software used by people with visual impairments to read the images.
- Image tags: these consist of the words that will appear when users are hovering over an image. Consequently, it is recommended that they are made as descriptive as possible, yet different to the alt-tags.
- Filename: this helps provide contextual information about the image, helping to relate it to the rest of the page’s content, rather than providing information about what the image is of.
- Videos: as with images, Google cannot understand the content of a video – this is why it is important to ensure that the video’s title and description tags are optimised to include keywords alongside relevant and descriptive information about what it is about, to enable search engines to understand its content and context.
How do you edit alt tags in WordPress?
When you upload an image to WordPress, you’ll see an alt text field to be filled with your alt tag.
You’ll have to change the name of the file you save on your computer prior to uploading it to WordPress to change the filename/ title. You’ll also find a field for the alternative text, which is where your desired alt tag should be inputted.
Call to action
When writing content, it is important to keep your end goal in mind. Whether this is informing and educating users about your services, or helping to encourage conversions, it should always be considered. Consequently, it is essential to ensure that calls to actions are prominent throughout the pages and notably above the fold.
These don’t necessarily have to be buttons invite people to “join now” on every page, but could simply be interlinking to your contact page, whitepapers or case studies.
This will also allow you to summarise the content of the page in the last paragraph, including keywords, and directly relating back to the problem/dilemma users have and emphasising how you can provide them with a solution.
If the main objective of your site is to get calls through to your sales team then make sure your phone number is displayed, and a call button added for the mobile version of your site.
4. Technical SEO for WordPress
What is a Sitemap?
A sitemap is a file containing a list of your site’s pages in the form of URLs, which are to be crawled and indexed. It helps Googlebots and other crawlers understand the hierarchy and organisation of your site and its content to guide them in crawling your site more efficiently and intelligently.
To find out more about XML sitemaps, check out this amazing sitemap.xml guide.
What is a Child Sitemap?
A child sitemap is a sitemap file which is linked to from an index file. Its format is the same as normal sitemaps. Index files can contain as much as 50,000 references to child sitemap, and sitemaps contain up to 50,000 URLs each – although it is not recommended to approach this limit. If you have many many URLs, then you should have multiple sitemaps!
Creating child sitemaps can be useful if you want to group certain URLs in different sections, for blogs or products. Looking at these individual child sitemaps in Search Console will highlight how many of these URLs are submitted and then indexed. If there is a large difference for certain sitemaps there may be issues to investigate.
How do I edit Sitemap.xml settings in WordPress?
Go to SEO > Sitemap XML:
Yoast separates the sitemap URLs based on their type; author, posts, pages etc.
The first thing is to check whether your sitemap is enabled. It should be!
Make sure you haven’t got sitemaps enabled via a different plugin which can cause conflicts, it’s better to use the sitemap generator associated with your SEO plugin. Unfortunately, it’s not just a case of turning it on, leaving it and submitting to Google.
As these plugins don’t understand your website, the sitemap will include every available file it can see. While this will include all pages and posts, it can also include links to URLs that you didn’t even know existed such as headings, theme files etc. It will also include pages that you may have created for PPC landing pages which you don’t want to be indexed by Google. Even though they may not be linked internally, being in the sitemap means Google will crawl and index them. These can also look like doorway pages and could be at risk of being penalised by the doorway pages manual action.
You want to make sure that the settings are updated so that only your main pages are visible in the sitemaps. As well as ensuring you don’t get strange or unneeded URLs being indexed, it is also good for Google as it doesn’t waste your crawl budget by crawling these unimportant pages.
To change these, you can go through the tabs in the Sitemap file and disable / noindex as needed. Below is a general guide of common sitemap settings you could change.
- User Sitemap:
- Author /User Sitemap – disable. (author pages are normally just lists of blogs so don’t need to be crawled)
- Post Types:
- Post – in sitemap (your blog posts!)
- Pages – in sitemap (your main pages – check this sitemap for any unlinked or strange pages that shouldn’t be crawled, either manually exclude or set the page to noindex (via Yoast on the actual page) if you don’t want it in the sitemap & indexed)
- Media – not in sitemap (attachments don’t need to be crawled)
- Look at any other elements that may be in these section, it will vary based on your theme, things like case studies should be included but not visual elements like sliders etc.
- Excluded Posts:
- Here you can manually add the ids of any individual pages or posts to exclude from your sitemap
- Categories – not in sitemap (keep if you have unique content in here)
- Tags – not in sitemap (keep if you have unique content in here)
- Like Post Types you may have other sitemap types in here, decide whether these are need.
To edit the sitemap with All in One SEO, got to All in One > Feature Manager and activate the Sitemap.xml Feature:
Post Types & Taxonomies:
These sections enable you to control which content is to be included in your Sitemap. All boxes will be ticked as a default, so check which post types and taxonomies exist on your site that you want indexed and crawled.
Include Date Archive Pages & Include Author Pages
Include Date Archive Pages & Include Author Pages will be unchecked as default to prevent any duplicate content issues. This is ultimately up to you whether you want these unchecked or not, but I would recommend leaving them unchecked as these pages are unlikely to add value to your site, and could create future issues.
Link From Virtual Robots.txt
This will add a link to the robots.txt file automatically created by WordPress, but if you have a static one, then remember to add a link to your sitemap manually.
Dynamically Generated Sitemap
This will enable you to have an automatically generated sitemap so that it is always up-to-date with your site and accounts for new pages and posts.
This section allows you to exclude certain items from your Sitemap if you do not want them crawled by search engines. I recommend excluding any low value/ quality pages such as category or tag pages for example.
Just enter the slug of each item/category separated by a comma.
Don’t forget: even if some pages or content isn’t included in your sitemap, it can and will still be indexed by Google, especially if internally linked to. If you want some content to not be index, then you need to update the noindex settings.
Pages to noindex
Noindex is a meta tag that will tell Google crawlers to not index your content/page. Use this tag if there is a page or section that is not useful to be found in search results. For WordPress websites this is normally mainly the Author pages as these pages contain the same content as the main blog listing pages. Category and Tag pages should also be considered noindexed if there is no unique content on there, i.e it’s just another listing page.
You can find some more information about noindex settings here.
If you are using the Yoast plugin:
To set groups of pages like author and category pages to noindex you can do this via the Titles and Metas section.
You can set individual pages to noindex and/or nofollow individually by clicking the parameters wheel on the Yoast box. Setting to noindex will also remove from it the sitemap files, so this is the perfect solution if you have pages which are just used for PPC.
If you are using the All in One SEO plugin:
Got to: All in One > General Settings to control default noindex settings. This setting can be overridden on specific posts, pages, custom posts, categories, tags and custom taxonomies.
If you don’t want search engines crawling specific pages on your site, these can be disallowed via the robots.txt file.
Again, this is an advanced feature and if done wrong can prevent search engine from crawling important pages, or even the entire site, as often forgotten about following a new site – previously a staging site – going live
If you have the Yoast SEO plugin, you can access your robots.txt file under SEO > Tools > File Editor.
This option doesn’t show up for all websites, depending on the set up. In that case you would have to access the robots file by using FTP.
If you are using the All in One SEO plugin, you will find your robots.txt file under All in One > File Editor:
How to set up 301 redirects in WordPress:
Easy to use, and gives you the ability to set them up individually or by bulk importing them (under Options > Import).
Bulk exporting is a very handy feature if you are migrating a site to WordPress and need to change the URL structure.
Just head to Tools > Redirection and then add the slug of the page you want to redirect and the slug of the one you want it redirected too:
Don’t forget: If you 301 redirect a page, make sure you update all internal links too.
You can use the screaming frog tool to find any old internal links.
These should be either 301 redirected to the “new version” of the page, or the page now relevant, or left to 404.
Indeed, having 404s will not hurt your SEO, as this is natural.
Yet, 404s will affect the user experience, and could increase your bounce rate is users hit a 404 page after clicking through from SERPS. Hence, you ideally want to redirect 404 pages to the most relevant page on your site.
However, if you stopped producing a product for which you used to have a page, then let it 404, making it clear to user that this product is now unavailable and suggesting alternative.
If you have updated the URL of a product, then please don’t forget to redirect the old one to the new one.
If you are using the Redirection plugin, then you’ll find a list of 404s under the 404s tab, giving you the option of setting up redirects.
If migrating a site then it is especially important that you pay attention to 301s. If these aren’t set up properly, you will lose your visibility, rankings, traffic, conversion, I’m sure the picture is pretty clear.
A site migration isn’t a small job and can go very wrong. I’d recommend ensuring you work with an SEO agency to help you. If you are still looking to go solo, have a look at this site migration SEO checklist, please.
Moving to Https
If your site is still not secured, then start thinking about it. Most of the search results on page 1 are now secured, and websites are being pushed to move to https.
Why move to https? Here are 5 reasons you should move to https.
If moving to https, then you’ll need to ensure you have a sitewide 301 redirect set up from the http version to the https, similarly to the non-www to www redirect.
Don’t forget to move all resources and media to https too to make sure your full site is secured and that you get that little green padlock.
Also make sure that all versions (so www, non-www, and pages currently with 301s) point straight to the FINAL version. You want to make sure you avoid unnecessary redirects as this will make you lose some authority through every redirect as well as waste your crawl budget.
So, for example, you do not want http://yoursite.co.uk redirecting to http://www.yoursite.co.uk redirecting to https://www.yoursite.co.uk.
But you want http://yoursite.co.uk redirecting straight to https://www.yoursite.co.uk.
Update Internal Links
Internal links should be updated during a migration. While WordPress will automatically update dynamic links such as navigation items, links added within content will not be changed. To help with this there is a plugin called Better Search Replace in which you can search and replace for any http to https links. Be sure to take back-ups before doing this, if the wrong link is put in and updated through the website it can get very hard to fix!
If you’re still not seeing the green padlock, check your pages on testing websites such as whynopadlock to see which resources are still causing issues.
SEO for WordPress Sites
Making sure you tick all of the above off will ensure you have a decently optimised WordPress site. Optimisation is an on-going process and should be worked on a rolling basis, reviewing and tweaking meta tags, heading tags, adding and refreshing on page content and blog articles, and running technical checks to identify any new or arising issues to be addressed.
Have a look at these technical SEO quick wins from my BrightonSEO talk, which you would mostly be able to execute quite easily for a WordPress site.