With over 3,597,691 downloads, WordPress is one of the most powerful CMS (content management systems) on the web.
Many people believe that WordPress is SEO-friendly right out of the box.. but unfortunately, this is far from the truth.
WordPress SEO is more than just installing a plugin and letting it fly. It requires some customization and works to get WordPress working seamlessly with the search engines.
In this WordPress SEO guide, I am going to cover every topic of SEO for WordPress-based websites… From the best plugins to using social signals.
WordPress On-Page SEO Optimization
Out of the box, WordPress has some decent default SEO options like SEO-friendly URLs, clean code (depending on the template), robots.txt, RSS feeds, and some other basic pieces. We are going to take a look at some on-page optimization techniques that make WordPress SEO-friendly.
Themes & SEO
The theme that you choose can be very important for how you rank in the search engines and the overall SEO-friendliness of WordPress. Most themes are created by 3rd party companies and designers so they don’t actually search engine friendly. It’s important to find a WordPress theme (if you are going that route) that is SEO-friendly and not bulked up with visual editors and unneeded plugins.
Make sure that the template you choose is coded with SEO in mind or you may have to change the template up a little bit to be more SEO-friendly.
Some template designers create hidden backlinks in their templates so be sure to do an external link check to see if your linking to somewhere you don’t want to be linking to.
Permalinks
Your permalink structure has a strong influence on your rankings and how your results look in the search engines. The permalink structure of your site is how your URLs are structured in the WordPress system.
By default, your permalink structure is as follows:
http://www.example.com/?p=123
This permalink structure uses the post id to return the post. The problem with this structure is that its not pretty, it doesn’t contain any keywords, and the URL is hard to remember (since they are numbers).
WordPress gives you 5 optional permalink settings plus a custom structure for advanced users.
- Plain – Default WordPress setting and not ideal for any website looking to gain SEO. This is a good setting for development because you can easily enter in post numbers in the URL for easy testing.
- Day and name – Good for new sites that are posting news stories and content multiple times per day. This structure allows differentiating between similar named posts on different days.
- Month and name – Another good structure to use for news sites but leaves out the day. A good structure for news sites publishing weekly.
- Numeric – This numerically based setting is similar to plain but a little more SEO-friendly because it contains the section (archive, category, single). This setting is not recommended for SEO.
- Post name – Post name is probably the most popular structure for WordPress websites. It provides clean, keyword-rich URLs without a deep folder structure. Post name is great for blogs with long or timeless content that is unique.
- Custom Structure – The custom structure allows you to use variables to create your own WordPress permalink structure.
Here are all the variables for custom permalink structures and their defined values:
- %post_id% – The id of the post
- %category% – the category of the post
- %postname% – The post slug of the post
- %year% – The year of the post
- %monthnum% – The month the article was published
- %day% – The day the post was published
- %hour% – The hour the post was published
- %minute% – The minute the post was published
- %second% – The second the post was published
- %author% – The author of the post
Choosing the right permalink structure has a decent impact on how your site will rank in Google, Bing, and other search engines.
FREE WORDPRESS SEO ANALYSIS
Want more traffic to your WordPress website? Take our free WordPress SEO Analysis and see how you can improve your traffic to get more sales online.
If you have a news site that will feature content daily with the chance of possible duplicate post slugs (ie, /samsung-galaxy-news/ could be used more than once) then you should choose ‘day and name, otherwise, you should use ‘post name’.
URL Parameters
URL Parameters are variables passed through the URL that affect the search engine optimization of WordPress. These variables can create duplicate content issues and confusion in the Google search index. Here are some examples of URL parameters you may see:
http://www.example.com/?utm_source=facebook&utm_medium=cpc
http://www.example.com/?replytocom=2
http://www.example.com/?source=blog
All of these URLs are seen the same by Google which can cause some problems. Google will not be able to figure out which URL is the correct URL you want to use. To stop Google from indexing each of these pages as a separate page simply download and install the Yoast SEO plugin. It has an option to remove these un-needed URL parameters.
Install the plugin (we will be referencing this plugin again later) and go to advanced settings.
In the Permalinks section, you will see a setting to remove ?replytocom variables as well as redirect ugly URLs to clean permalinks… Check both of these options.
Also, make sure to enable the prevention of cleaning analytics and Adwords campaign parameters so you can track your traffic campaigns.
If you have any other parameters that you would like to keep on your URLs, then enter them in the box at the bottom so that they don’t get stripped out of the URL.
The other option (which you should do as well) is enabling canonical URLs. This tells Google and other search engines the original URL of your page or post. Once you install the Yoast SEO plugin, canonical URLs should be enabled.
Archives & Taxonomies
WordPress comes default with a few different types of taxonomies that are indexable by search engines. Possible duplicate content issues can arise with the following taxonomies:
- Date Based
- Tag-Based
- Category Based
All of these archive pages can create a ton of duplicate content with WordPress so you must noindex/follow these taxonomies.
To do so, just head to the Yoast SEO Plugin and go to advanced settings. Once there, choose the other tab and you will see a switch to noindex archive subpages.
When disabled, Google and other search engines will not index your archive pages so that users don’t enter your site on an archive and instead find the main category or taxonomy page. It will also remove any duplicate content issues.
Google Webmaster Tools & Sitemaps
Google webmaster tools is a suite provided by Google that lets webmasters view and manage their websites on Google. In Google webmaster tools you can submit your sitemaps to Google, view your rankings (although it’s not very accurate), see crawl errors, and a ton of other great resources.
It’s important for WordPress SEO that you sign up with google webmaster tools to submit your website and XML sitemap. To do this we recommend using the Yoast SEO Plugin which creates and updates your XML sitemap for you automatically.
Simply enable XML sitemaps in SEO->XML Sitemaps using the Yoast SEO plugin. Once you do this a sitemap will be created in /your_blog_directory/sitemap_index.xml. You can hide or show different post types, users, posts, and taxonomies that you want to be included or hidden in your sitemap.
We recommended including posts, pages, categories, and tags (if you use them).
Once your XML sitemap is created, head over to google webmaster tools and add your sitemap.
Click Crawl->Sitemaps and you will see where you can add/test sitemap.
This will also show you any errors your sitemap has so keep reloading until it finishes pending to see if it has uploaded correctly. Google should now know all the WordPress pages that you want to be indexed in their search results.
Canonical URLs
Canonical URL tags are a somewhat new (in the last few years) tags that tells spiders and bots what the URL of a certain page is. This is useful for sites that have content or products that are found at multiple URLs. This can sometimes be flagged as duplicate content so the canonical URL helps not harm your rankings by telling the search engine its the same URL.
Code:
<link rel="canonical" href="https:///www.wpseoexperts.com">
In WordPress SEO, canonical URLs are very important because there is a good amount of duplicate content issues you can run into with WordPress. As mentioned before there are plenty of plugins to add canonical URLs to WordPress pages but we suggest Yoast SEO Plugin as it adds canonical URLs by default.
Robots.txt
The robots.txt file is kind of like an instruction guide for search engines that tells web robots (like Googlebot) what to include in their index and what not too. The robots.txt is a simple text file that placed in the root folder of your website.
The way Google uses the robot.txt file in WordPress has changed significantly over the years. You used to just block /wp-includes/ but this no longer works.
Bots now fetch everything on your website including CSS, javascript, and HTML. The problem with blocking all these directories is that Google may not be able to render it correctly (if you have blocked a certain piece). For this reason, we do not block anything in the robots.txt file. You may think that this is a big security issue…but it’s not.
If you block your /wp-includes/ folder you may be blocking important code that Google needs to render your page. You also don’t need to block /wp-admin/ anymore as WordPress now has default functionality to NOT index /wp-admin/ pages.
Google provides a free Robots.txt Tester tool to see how Google views and reads your Robots.txt file.
Meta Tags
Meta tags are HTML tags in the <head> section of your page. They tell search engines, bots, and browsers what your page is about. Here is a list of every single meta tag there is.
You don’t have to be an SEO pro to know that meta tags are very important when it comes to WordPress SEO. Meta tags are pieces of metadata used by search engines to summarize your website for search engine results, browsers and social media sites.
It’s important to know that the default WordPress installation DOES NOT include meta tags.
The most simple way to add meta tags to WordPress is to install a plugin that adds these features. The Yoast SEO plugin that we downloaded earlier has great support for meta tags. It allows you to add custom meta tags for the homepage, post types, taxonomies, archives, and more. They offer custom variables that you can add that make creating keyword-rich meta and title tags simple. Here is a full list of the Yoast SEO title and meta variables.
Image Alt Tags
Alt tags are HTML tags that tell search bots what your image is about. Using alt tags on all of your images will increase your rankings in both Google and Google Images.
Alt tags are really simple to use in WordPress and should be used for every image you upload and display.
To change the alt tags for your images in WordPress just head to the medium library, choose an image and you will see the fields on the right where you can add title, caption, alt text, and description. We recommend that you use both the title and alt text tags for all images. The text should explain the images in 4 words or less and should be keyword rich. Here is how image alt tags look:
<img src="images/wordpress_seo.png" alt="wordpress seo image" />
Website Speed
Having a fast website is a very important part of WordPress SEO. WordPress is pretty fast out-of-the-box but it can be made much faster so you never have to worry about visitors leaving due to latency.
To check your website speed, Pingdom provides the best tool to test website speed. It also tells you which resources are taking the most time to load and other websites’ load times.
Having the fastest website possible depends on a few different factors. One of them is having the right hosting. You should host your website on WordPress specific hosting servers that are built specifically for WordPress websites. Their servers have been configured to work the best with WordPress alone.
Apart from the server, website speed depends on a number of factors like how many posts, how many plugins, image sizes, how many external scripts you are running, etc. Most of these issues can be resolved by using caching.
W3 Total Cache is a plugin that speeds up your website by caching everything. When your website is cached, all the files are saved as static files so they can be retrieved faster by other users. This will decrease load times so your pages are 10x faster and your users are 10x happier!
Open Graph Protocol
The Open Graph protocol allows web pages to be easily readable by social media sites like Facebook, Google, and Twitter. Have you ever noticed that when you share a webpage on Facebook it doesn’t add an image or text from the web page? This is because that page didn’t have Open Graph tags.
There are a good amount of plugins to add open graph tags to WordPress. Open graph is great for WordPress search engine marketing because it allows your website to be social media optimized. This way your social media shares, likes, comments, etc will be named correctly, with the right image and correct descriptions. Here are some of the more important Open Graph Meta tags:
<meta property="og:title" content="Tyton SEO" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://www.tytonmedia.com/wp" />
<meta property="og:image" content="https://www.tytonmedia.com/images/seo_image.png" />
WordPress SSL (HTTPS)
Until recently, having a secure site did not really have any ranking factor. But within the last few years, Google has updated its algorithm to give secure sites a ranking boost. If you simply add an SSL 2048-bit key certificate to your website, you could potential outrank your competitors that do not have SSL.
Not only is having a secure site good for WordPress SEO, but it’s also good for user trust. Most people linking to a site will not do so unless they trust it. In order to be fully trusted with customer data and records, you must have a secure website. Do you buy stuff online when the website is not SSL secure? I would hope not, but if you do.. STOP!
To change your site to be HTTPS SSL secure you must first obtain an SSL certificate. Some hosting providers provide a free SSL certificate when you sign up for their hosting. You can also get a decent SSL certificate from Godaddy.
Once you have installed the SSL certificate on your domain, all you have to do is change your website url in the WordPress settings.
Simply change ‘HTTP’ to ‘HTTPS’ and now WordPress should redirect to the secure version at ‘https’.
If you change it and you are getting an error on the front end, that means either you did not install the SSL certificate correctly or there are references to non-secure items on your page (i.e. a link to http://www.somewhereelse.com).
WordPress SEO: Off Page
Once WordPress is primed and SEO-friendly, it’s time to focus on some off-page search engine optimization. This means creating good content regularly and distributing it to different channels. Off-page SEO is just as important as on-page if not more. Its now time to start marketing and ranking for certain keywords. The next steps are a process and should be repeated as many times as possible to generate high-quality backlinks and a better web presence with WordPress.
Keyword Research
To start the process, you must first find keywords that you are wanting to rank for. It’s very important to find keywords that have low competition so that its possible to rank for them. If you choose a keyword with a lot of competition, it could take years or more to rank for it. The key is to find keywords that get a decent amount of traffic but don’t have much competition in the search engines.
For example, with this post, we wanted to rank for the keyword ‘WordPress SEO’. We often use the Google Keyword Planner because it’s free but there are plenty of other great paid platforms to perform keyword research like SEMrush or Ahrefs.
In the Google Keyword Planner, the term WordPress SEO gets about 12,100 searches a month and has low competition. This is the perfect keyword that we want to rank for.
Once we find our main keyword, it’s time to find some similar keywords that we will be adding in our content. This will help us rank for these keywords as well. Doing a related keyword search for ‘WordPress seo’ brings up a good list of similar keywords to use.
We will add these keywords to this post so that we can rank for them as well since they are low competition.
People often worry about keyword density (the percentage of times a keyword is used in text) but the key is to write naturally so that your texts reads well but also contains your targeted keywords. Spamming your content with a ton of keywords isn’t going to get you very far.
Now that you have a list of keywords you will be using in your blog post or content its time to start writing…
Creating Content
‘Content is King’ is a phrase that has been spewed across the interweb for years…and for good reason. In a Google-first world, businesses must rely on getting customers through search. In order to do this, you must be constantly creating engaging and informative content that is likely to be shared and linked to around the web.
Long content is a new idea that we stand behind strongly. Back in the day, you could push out 500-600 word articles daily and see a huge increase in your search engine rankings. Today, with the number of businesses going online, it takes more to reach the 1st, 2nd and 3rd page of Google. Long content should be 2,500+ words, containing images, graphs and other informative content that generates backlinks and return visitors.
This graph from a wordstream blog post shows that the average content length of top ranked pages is about 2,500 words long. The truth is that people really enjoy largely informative articles. This type of content is also more likely to create backlinks due to the high amount of information, statistics, and graphs which create references.
Distribute Content
So that perfect blog post or page is finally done. You’ve spent 3-4 days writing up some really long, informative content with your target keywords added. Now its time to share the content with the world to start getting some eyes on it.
Sharing your content on social media sites can often create a viral buzz if your content is long, informative and engaging. Try sharing your article on sites like Facebook, Twitter, Instagram, Reddit, Stumbleupon, Digg, and Delicious.
Sometimes it’s helpful to run a small ad campaign on a social media site like Facebook to get even more eyes on your article or page. This can increase the chances of the article going viral and getting some exposure but can cost a little bit of money.
Here is a list of ways to distribute your content:
- Write a guest post about it
- Write a medium post about it
- Create web 2.0 websites and link to it
- Share it on social media
- Link to it in forum profiles
Repeat
Now simply do this process over and over again and you will see a huge increase in search engine traffic.
Wrapping Up
WordPress SEO includes both on-page and off-page optimization. Each one is just as important as the other and you need an equal amount of both to rank above your competitors. Though there are a ton of little pieces to make it come together, the most important tip is: create awesome and engaging content regularly.

Tyler Horvath is an SEO Expert with over 15 years of experience in search engine optimization, popular blog author and WordPress SEO expert.