20-Step On-Page SEO Checklist (with FREE Automation Template)

Robbie headshot

Note: I just launched my premium training program, The SEO Playbook. You can learn more about the course and see what current students are saying here

Let’s face it:

Most on-page SEO checklists are completely useless.

Don’t believe me? Do a Google search for “on-page SEO checklist” and take a look at the results…

On-Page SEO Search Results

You get 3.6 million results!


Most of them offer nothing more than a bullet list of incredibly basic advice.

“Include your keyword in the title tag”.

“Make sure your site loads fast”.

And so on…

Don’t get me wrong, there’s nothing inherently wrong with this advice…

(Plot twist: we’ll be talking about site speed and meta tags later in this guide too!)

The problem is these checklists fail to address two BIG issues:

  1. Checking on-page SEO elements across hundreds of pages is insanely boring;
  2. It takes a crap load of time!

Luckily, there’s a way to solve this…


In this 20-step checklist, I’ll be focusing on the top on-page SEO ranking factors pulled from several reputable industry reports. We’ll look at supporting data, and provide action items for each checklist element.


I’m giving away a free Google Sheets template that automates most of the boring stuff for you.

Here’s a taster 🙂

On-page automation sheet GIF

This is a comprehensive on-page SEO checklist, so I’ve included links below if you want to jump to specific checkpoint:

NOTE: Thanks to Joshua Hardwick (from The SEO Project) for creating this template!

I’ll be walking you through template setup (and the whole optimization process) later in the guide but first, let’s talk a bit more about on-page optimization.

Is on-page SEO still important in 2019, and what key on-page ranking factors should you be optimizing ?

Let me begin by answering the first part of that question.


On-page SEO is definitely still important.

But here’s the problem:

It often gets overshadowed by other off-page factors like backlinks and domain authority,.

I mean, take a look at this image from Ahrefs’ on-page study:

Ahrefs: backlinks vs on-page ranking factors

Looking at this, you’d be forgiven for thinking the “on page factors” listed here aren’t important at all.

They look negligible next to those other factors, right?

I’m not disagreeing that “backlink factors” will probably always be more important than on-page factors…

But, here’s the thing:

Backlink factors take months/years (and a lot of cash) to build.

Meanwhile, a keyword can easily be added to a title tag in <60 seconds, and your internal and external link profiles optimized in minutes.


While this study shows “keyword in title” as 4-5 times less important as “referring domains”, it’s important to remember it takes less than 4-5 times the effort to change!

Before you start investing loads of time and money into content and link building campaigns, focus on the foundational elements.

On-page SEO falls in this bucket because it’s what search engines like Google use to understand the context of content, determine relevance for different search queries, and gauge user experience.

Get this part wrong and you’ll be fighting an uphill battle.

Anyway, here’s what the very same study found to be some key on-page ranking factors:

On-page SEO ranking factors

I’ll be tackling most of these on-page ranking factors in this guide but first, I want to tackle the two seemingly most important factors (according to the screenshot above), which are:

  1. Keyword in domain name;
  2. Age of the page

You have very little control over both of these things.

Your keyword is either in your domain name…or it isn’t.

Your page is well-aged…or it isn’t.

Don’t let this worry you; everyone else is in the same boat.

Focus on the factors you do have control over.


The majority of on-page SEO advice you see online centers on the strategic placement of exact match keywords within core page elements – title tag, headings, URL etc. 

While keyword placement is important, more complex factors such as intent and overall relevance of a page/post are now being weighted heavily by search engines.

Here is a simple example of this concept provided by the folks at Ahrefs:

Example of on-page SEO relevance

You’ll notice that the exact search term “guest posting” is only showing for one of the top ranking pages. 

Google sees articles about “guest blogging sites” and “guide to guest blogging” as relevant topics to that search query. 

The takeaway?

When you’re looking at on-site optimization don’t fall into the trap of ONLY focusing on exact match keywords. Look for partial match, synonyms and semantic keyword variations (more on this later). This will help boost keyword spread, and strengthen the overall topical relevance of your page.

Want to learn more? In this video, I’ll show you how to quickly find dozens of secondary keyword variations to help expand your organic footprint.

Introducing the automated on-page SEO template…

Before I walk you through exactly how the on-page SEO automation template works, here are a few things to note:

  • This template can be used for any website in any niche to scale keyword/ topic optimization at the page level;
  • It can be used to automate 10 core on-page ranking factors (seriously, just pull in the correct data and the spreadsheet will do the hard work for you!)
  • It supports up to 1000 web pages at a time!

Let me give you a quick tour (if you prefer video, jump here):

Step 1 of the on-page SEO checklist

This is the “START HERE” tab, which contains detailed instructions for each step of the process.

The next two tabs are all “data import” tabs — this is where you’ll import data from a few third-party tools (more on this later!)

Importing SEMRush keyword data into the on-page SEO template

Next, we have the Keyword mapping tab:

Keyword mapping in on-page template

This is where you’ll assign a target keyword/topic for each page on your website.

(this information is used by the spreadsheet to figure out how well-optimized each page is!)

And finally, the “DONE” tab:

On-page automation sheet GIF

This is where you’ll see the results of the automated on-page audit for EVERY page on your website.

No need to open any pages manually…

No need to “view source” and sift through the HTML for each page…

It’s all handled by the spreadsheet (trust me, this saves an insane amount of time!)

While the spreadsheet automates most of the top on-site SEO elements, there are still some factors that can’t be checked automatically (e.g. readability of content, internal/external link assessment and LSI evaluation).

I’ll cover these towards the end of the post.

But first, let’s get the spreadsheet set up…

20-step checklist to optimize the top on-page SEO elements (and automate the tedious stuff…)

First, you’re going to want to make a copy of the spreadsheet template on your Google Drive:

On-page seo template

To do this, click the link above (to get access to the spreadsheet) and go to “File > Make a Copy…”.

You should now have an editable copy of the template on your own Google Drive.

So, how does this template actually work?

Full instructions are provided in the spreadsheet itself:

On-Page SEO Template Instructions

Here’s the basic process:

  • Import all the pages on your website (this is done automatically; you just have to paste your sitemap URL into the spreadsheet);
  • Import the required data into the sheet;
  • Manually assign a target keyword to each page;
  • Check the “DONE” tab for SEO recommendations!


You’ll need SEMRush and URL Profiler to pull all the data into the template. You can get free access to both tools below:

Here’s a video showing how to set up the spreadsheet from start-to-finish:

All set up and ready-to-go?

Let’s go through the checklist step-by-step (starting with all the items the spreadsheet automates for you :))

#1. Instantly boost traffic by removing misplaced “noindex” tags

Checking meta robots tag

Any page with the “noindex” tag applied to it WILL NOT be indexed by search engines.

If you want a page to rank (for anything!), it MUST be indexed.

If the spreadsheet kicks back a “noindex” tag for a page you want indexed, you’ll need to remove it.

If the page shouldn’t be indexed, no worries, you can leave the “noindex” tag where it is.


It could be argued this is more of a technical item, but one of the biggest mistakes I see when performing SEO audits is people inadvertently restricting search engines from accessing key content.

This typically occurs in two places:

1. Setting a “disallow” directive in the robots.txt file

This can happen at the domain, page and sub-folder level:

Robots.txt screenshot

You can find your robots.txt file by simply appending that path to your domain:

robots.txt file example

Make sure your URL and/or subfolders are not being inadvertently blocked in the robots.txt folder. 

2. Setting a no-index tag at the page-level

If you want content to show up in Google’s index, this tag should not be in the HTML:

<meta name=”robots” content=”noindex” />

No index tag

You can correct page-level no-index tags in WordPress using a plugin like Yoast:

No index content in Yoast

Or remove the folder or page-level exclusion from your robots.txt file. 

Once the page exclusion is removed, re-submit it to the index using the Search Console URL Inspection Tool

#2. Make sure your site is secure (HTTPs)

Checking HTTPs status in on-page checklist

Without getting into the technical details, Hyper Text Transfer Protocol Secure (HTTPS) is the secure version of HTTP – protocol over which data is sent between a browser and your website).

The ‘S’ at the end of HTTPS stands for ‘Secure’ because all information exchange between the browser and your site is encrypted using an SSL certificate.

Google officially stated announced they use HTTPs as a ranking signal way back in 2014.

Since then, multiple studies have found a correlation between higher rankings and sites/pages using HTTPs:

Percent of URLs ranking with HTTPs status
Percent of HTTPs results ranking on page 1 in 2017
Percentage of HTTPs URLs ranking on page 1 in July 2016

And the data suggests this number could climb to 65% by the end of 2017.

A page that isn’t using HTTPs will be indicated by the phrase “NO” (and red cell highlighting) in the “HTTPs” column of the spreadsheet.

If you see this, it may be worth making the switch, because Chrome will soon start to label all non-HTTPs pages as “not secure”.

Chrome labeling non-HTTPs pages as non-secure

As you can imagine, this could have a BIG impact on the conversion rate of websites, especially in industries such as ecommerce where visitors are entering personal and transactional information. 

A study by GlobalSign found 84% of users would abandon a purchase if data was sent over an unsecure connection.


Lets Encrypt supplies free SSL certificates that are compatible with most web hosts.

You can also go with a quality hosting provider like WPX hosting. I use the company for all my site hosting, and recommend them to most of my clients.

They provide unlimited free Google-sponsored SSL certificates for all websites hosted on the platform:

WPX Hosting dashboard

Here’s a few things you should do during the HTTPs site migration:

  1. Register both domains http & https in Google Search Console, including your www and non-www versions.
  2. Prepare & test the Rewrite Rules that will 301 redirect the old http site to the new https version.
  3. Update the robots.txt directives with new https protocols.
  4. Upload & Verify new https XML sitemap within Search Console.
  5. Pick a preferred version of the site and ensure all other possible variations are properly 301 redirecting to it.

For example:

Canonical version:

Ensure each of the following redirect:


For a comprehensive HTTP to HTTPs migration checklist, check out this awesome post by Aleyda Solis.

#3. Ensure your site is mobile-friendly (responsive)

Checking to see if pages are mobile-friendly

Almost 60% of organic search visits in the United States now occur on a mobile device:

Graph showing percentage of organic visits from mobile devices


And that number is on the rise!

Google announced in March 2018 that it had begun switching to mobile-first indexing:

Google announces switch to mobile-first indexing

In a nutshell, Google now uses the mobile version of your website as the starting point for what it includes in the index, and a baseline for it determine rankings.

Image explaining mobile-first indexing


Lack of a “mobile-friendly” website can now negatively impact your rankings on both mobile and desktop devices.

In fact:

Google started penalizing mobile-unfriendly websites in 2015.


It’s super important your website is optimized for mobile devices. It should either utilise a responsive design or have an alternate mobile-friendly site.

I’d recommend correcting this problem ASAP if the spreadsheet kicks back an issue.

Robbie headshot


According to official Google statements, more than 50% of search queries globally now come from mobile devices. And, this number is only going to rise. 

Mobile search by industry

Several of my clients spanning a range of different industries, from property management to SaaS, have seen their mobile traffic share increase over 50% in 12 months:

Google Analytics screenshot showing mobile traffic increase

And for most of my smaller local search clients, mobile devices are the number one driver of organic traffic:

Mobile devices driving the most organic traffic

If the automation template kicks back a “mobile-unfriendly” warning make it a #1 priority to get it fixed.


There are numerous things that can trigger red flags for mobile user experience. If you get flagged in the on-page template, and you do have a dedicated mobile site or responsive theme, drop your domain into the Google Mobile Tester tool in Search Console:

Mobile testing tool screenshot

Sometimes the fix can be quick, simple and have an immediate impact on your mobile rankings and user experience. 

#4. Drop your keyword in H1-tags (and make sure they actually exist!)

Checking H1 tags in the automation template

It’s good practice for every web page to feature a H1 tag.

Why? Because H1 is your main heading tag (every page deserves a heading, right!?)

It’s also good practice to include your target keyword (or at least a variation of it) in your H1 tag.

Google looks at H1 tags for clues around page context.

If you add multiple H1 tags with different keywords it becomes harder for Google to definitively extract context from the page.

This is confirmed by almost every SEO study, including the recent Ahrefs study (where there’s a small correlation):

Pages with keyword in H1 tag ranking on page one of Google

Some people also believe having your keyword at the beginning of your H1 gives a slight boost (note: this has never been confirmed by any reputable study).

With this in mind, here are the four pieces of data the sheet shows:

  1. H1 exists or not — if it doesn’t exist, add one;
  2. Duplicate H1 (i.e. more than one H1 tag on the page) — this should always be corrected;
  3. H1 contains keyword — this tells you if the H1 contains the exact-match keyword; it’s not necessarily bad if it doesn’t, but it’s worth checking out;
  4. H1 starts with keyword — again, this isn’t a must-have so don’t force it; it may make sense in some instances, though.
Robbie headshot


A reminder to not fall into the exact match keyword trap here. Always think of your H1 tag as, well, a headline for your page/post. 

The most important thing is that it actually describes what the page is about.


Sometimes content management systems like WordPress will automatically use H1 tags to increase text size within random page sections. This can lead to multiple (or duplicate) H1 tags.

Check out your site code to ensure you’re using a single H1 tag on each post, and unintended text is not being automatically wrapped in heading tags.

A simple way to do this is right click on the page and select “view page source”:

View page source

Click CTRL + F and search for “h1”. Make sure you only have one H1 tag on each page. 

Finding H1 tag in source code

#5. Optimize your title tags for cross channel success

Title tag keyword optimization

Your title tag is the most important on-page SEO ranking factor when it comes to keyword placement.

It’s the boldest, most attention-grabbing element in a search result, and has a significant influence on your SERP click through rate.

WordStream conducted a study and found that “the more your pages beat the expected organic CTR for a given position, the more likely you are to appear in prominent organic positions”:

WordStream RankBrain study

Titles also get pulled in as anchor text when sharing on other sites and social media channels:

Title tag populating in social media posts

It’s also good practice to keep title tags between around 60-70 characters.

Any higher than 70 characters and they’ll most likely get truncated in the SERPS.

Truncated title tag

Any lower than 50 characters and you’re leaving precious SERP real estate on the table.

Keyword inclusion correlates quite heavily with Google rankings (according to Ahrefs), so you’ll probably want to include your keyword — or at least some variation of it — in the title tag.

Ahrefs study showing usage of keyword in the title tag

Again, there’s some debate about whether or not placing your keyword at the beginning of the title tag has any additional weight, so this is up to you.

Here’s the title tag-related information the sheet shows you for each page:

  1. Title tag exists (or not) — add the title tag to any pages without one present;
  2. Title tag too long — this will tell you if any title tags are over 70 characters in length (and thus, may be truncated); it’s usually worth shortening any title tags that are too long;
  3. Title tag too short — this will tell you if any title tags are under 50 characters in length;
  4. Title tag contains keyword — again, this is good practice but not 100% necessary (thanks to Google’s Hummingbird update);
  5. Title tag starts with keyword — not 100% necessary but works well for some pages; don’t force it at the beginning if it doesn’t make sense!
  6. Title tag contains “modifiers” — these are words like “best”, “2018”, etc; these won’t help rankings directly but they can help to increase CTR (which is a proven ranking factor) and map to intent at each stage of the funnel.

Here’s how to check (and edit) your title tag:

Open a webpage in your browser, right-click anywhere on the page and select “view page source”.

Your title tag is the text between the opening and closing title tags:

Optimizing title tag in the HTML

If you don’t see this on the page, you’ll need to add it.

With HTML pages, this can be done by manually editing the code.

If you’re using WordPress, you can use the Yoast plugin.

This adds an additional area on the backend (on the individual page/post areas) where you can change meta tags:

Optimizing Yoast title tag

Robbie headshot


Title tags help search engines understand what your page is about, and are the first impression people have of your page.

That said, there are several things to think about when crafting title tags:

Watch your length – refer to the length guidelines above.

Don’t keyword stuff – avoid title tags that are a list of keywords or repeated close variations. It hurts the user experience, and search engines are smart enough now to understand semantics.

Give every page a unique title – this might seem daunting when trying to scale across hundreds or thousands of pages, but CMS and code base templates make this much easier.

If you have a website with thousands of product pages pulling from a database of products and categories, you could have your development team create a template with the following structure:

[Product Category] – [Product Name] | Brand Name

Put important keywords/LSIs first – while the jury is out on whether or not front loading keyword placement in the title tag has a direct impact on rankings, studies show user likely only scan the first 2-3 words as they scroll down the SERP.

Therefore – you need to be writing titles that immediately capture the attention of the reader, and win the click.

Avoid title tag structures like Brand Name | Major Product Category – Minor Product Category – Name of Product.

This structure will front-load repetitive information that provides little added value to the reader. It hurts companies without an established brand even more.

Take advantage of your brand – if you have a reputable brand mention it in the title tag to help boost CTRs.

Always write for your customers
– I saved the biggest for last. Always remember the primary goal of the title tag is to accurately capture the topic of the page and attract clicks from visitors in your target audience.


Good example of a title tag


Bad title tag example

#6. Improve CTR’s with a well-crafted meta description

Checking meta descriptions in automation spreadsheet

Ahrefs found a very small correlation between the keyword being in a page’s meta description and higher rankings:

Graph showing keyword use in meta description across top ranking pages

I’d argue this correlation is negligible.


Why am I including this in the on-page checklist?

Because on-page SEO isn’t solely about doing the things that directly influence rankings; it’s also important to optimize for users.


If a meta description contains the exact keyword the user is searching-for, it gets highlighted in the search results:

Keyword bold in SERP snippet

This can lead to a higher CTRs, which is a ranking factor:

CTR ranking factor

For this reason, incorporating your primary keyword in your meta description is still worthwhile, in my opinion.

Here’s everything the sheet checks in regards to the meta description:

  1. Meta description exists (or not) — it’s worth adding a meta description for pages without them;
  2. Meta description too long — any descriptions over roughly 160 characters will be truncated in the SERPs; it’s worth shortening these;
  3. Meta description contains keyword — a nice touch, but don’t shoehorn it in if it doesn’t naturally fit;
Robbie headshot


Use Google Search Console to identify which meta descriptions need to be optimized.

Go to Performance >> Pages and click the CTR box:

Search Console report

This report will show the CTR for your top ranking pages.

If you find some of your pages are ranking highly, but have a low CTR, update the meta description to be more compelling and entice the click.

Here are some recommendations.

#7. Use an SEO-friendly URL structure

Analyzing URL structure in the on-page template

SEO-friendly URLs are a must for any website — this means clear, well-formatted, and highly-readable (also, no weird characters or session IDs!)

It’s also worth keeping your URLs relatively short, as there’s a correlation between short URLs and rankings:

Graph showing number of characters in the URL

Same goes for the number of subfolders in a URL:

And yep, you guessed it: utilizing your keyword in the URL is good practice too:

Graph showing usage of keyword in the URL across top ranking pages

Here are the checks the sheet runs for each page URL:

  1. SEO-friendly URL — this checks whether or not the URL contains any strange characters (e.g. ? * etc.);
  2. URL is short — checks if the URL is under 50 characters; this rule isn’t set in stone, but short URLs are generally better than long ones;
  3. URL contains subfolder — less subfolders (1-2) generally correlates with higher rankings;
  4. URL contains keyword — checks if the URL contains your target keyword; this is good practice (regardless of ranking correlations) as keywords in the URL are also highlighted in Google search results.
Robbie headshot


Here’s a quick hack for setting up keyword-friendly URLs in WordPress:

Go to Settings > Permalinks and change it to this:

Optimizing permalink structure in WordPress

Note: As I covered in the on-page section of this SEO case study, don’t force descriptive URL structures.

Here are a couple common scenarios people run into:

(1) Relaunch an existing asset and the URL doesn’t contain the keyword
In this case, keep the URL the same. The risk is far greater than reward when it comes to changing the URL structure just to force the keyword placement.

(2) Permalink structure doesn’t accommodate descriptive URLs
No problem. Just try to keep the URLs as short and descriptive as your CMS will allow. 

#8. Boost “dwell time” with copy hacks and multimedia

Template showing use of multimedia assets

There’s no evidence to suggest embedding videos on your page correlates with rankings.

However, we do know videos boost user engagement (e.g. time on site) and increase “dwell time”, which provides strong behavioral signals to the search engines, which does correlate with higher rankings:

Average time on site ranking correlation

Source: Stickyeyes Roadmap

The sheet offers a simple “YES/NO” column indicating if at least one video is present on the page.

Robbie headshot


You’ll notice I use a ton of multimedia assets, including video, in all my blog posts:

Using video in content

This has several benefits:

  • Higher perceived content value
  • Better user experience
  • Drive traffic to other channels/ assets (eg. YouTube videos)
  • Cross-pollinates your audience

All these factors increase the likelihood people will link to, and share your content.

If you want to learn how to use a wide range of copy and visual hacks to keep people on your site longer, check out this in-depth SEO copywriting tutorial.

#9. Optimize your images (and get more traffic from image search!)

Optimizing images for SEO

“Alt” tags describe images, and improve the overall accessibility of your website.

It’s what the browser displays to users with screen readers, or if there’s a problem rendering images.

Here’s what it looks like in your HTML:

<img src=”tiger-woods-us-open.jpg” alt=”Tiger Woods playing the 15th hole at the 2000 US Open”/>

It’s good practice to add “alt” tags to all images.

While there is a small correlation between images with keyword-rich alt tags and rankings:

Ahrefs graph showing use of keyword in alt tags


Google’s reliance on alt text keyword placement to accurately understand the contents of images is becoming smaller every day with advancements in machine learning.

Here is a result from Ahrefs’ recent image SEO tutorial where they uploaded a picture of cat into Google’s Cloud Vision API – their image identification tool:

Picture of cat being analyzed by machine learning tool

All metadata – alt text, file name, title – was stripped from the image and Google was still able to decipher (with almost 100% accuracy) the image contents.


I’m not saying you should forget about image optimization, but you do need to look at it through a different lense. The goal should be to help Google better understand image context, and improve user experience.

Here’s some advice right out of Google’s guidelines:

“Google uses alt text along with computer vision algorithms and the contents of the page to understand the subject matter of the image. […] When choosing alt text, focus on creating useful, information‐rich content that uses keywords appropriately and is in context of the content of the page. Avoid filling alt attributes with keywords (keyword stuffing) as it results in a negative user experience and may cause your site to be seen as spam.”

Matt Cutts sheds some additional light in this video:

The on-page SEO template won’t give you information regarding every single “alt” tag on the page, but it will tell you if there are images with missing alt tags.

These can then be investigated manually and fixed.

Robbie headshot


If you’re on WordPress use the native image upload feature to quickly optimize file names and alt text:

Image file name

It might seem negligible, but don’t skip out on any chances to help search engines better understand the content on your page.

#10. Remove “thin” content (or improve it!)

Think content report

Longer content generally ranks higher than shorter content.

Many studies confirm it, including this study of 1 million search results by Brian Dean:

Study of optimal content length across 1 million + pages

Search engines dislike “thin” content (i.e. short pages that provide little value to readers).

They even introduced a furry little panda penalty for it a few years ago 🙂

Here’s what the sheet will tell you in regards to content length:

  1. Does the page have thin content? (YES/NO) — this is determined by checking if a page has <500 words of content; it may be an issue if it does;
  2. Word count — it’ll also show the word count for the content on the page (this will include all words on the page, including comments etc.)
Robbie headshot


Search engines need “food”, aka content to determine the relevancy of a page/post for a given query. Not text = no food.

A classic example would be a category page with zero unique content, and dozens of links pointing to different internal product pages.

This provides little information for the search engine to understand the page. Not to mention a poor user experience.

Google has cracked down on thin content,and the results were catastrophic for sites like freewarefiles.com that have thousands of pages filled with tons of links and very little valuable content.

I mean, check this out…

Before Fred:

Before Fred Update

After Fred:

After Fred Update

Check the spreadsheet for any thin content warnings. Review the page and look for opportunities to improve, update and relaunch the content.

If it’s feasible, consider no-indexing the page if it has zero search volume.

Note: If you want to learn how to get more organic traffic from your existing content, check out my premium training course, The SEO Playbook. ​

And here are the on-page items that require manual checks….

The items in the previous section of this on-page SEO checklist could all be checked with automation template. In this next section, we’ll be looking at other important on-page optimizations that require a little manual legwork. 

#11. Link out to high-authority (relevant) websites

Outbound links to related pages help Google understand what your page is about. It also helps search engines understand that your page is a hub of quality information related to the topic.

Ahrefs recently found a correlation between sites linking to DR70+ websites and higher rankings:

Graph showing how external links to authority sites impact rankings

This means outbound links can have a positive or negative influence on rankings; it just depends who you link to.

It’s also important you’re linking to relevant pages.

While you can scrape outbound links with tools like Xenu or Screaming Frog, the quality and relevance of those pages will need to be checked manually.

Any irrelevant and/or low-quality links should be removed or nofollowed.

Robbie headshot


Including relevant, quality outbound links in your content is a quick on-page SEO win. But, I see very few sites leverage it effectively.


People don’t want to send traffic (or “link juice”) away from their site.

While this is understandable, it is not good practice. You should always be thinking about the user experience. So, instead of worrying about losing traffic, ask yourself:

Would this resource add value? Will it help the reader learn more?

If the answer is “yes”, and you are linking out to a relevant resource, do it!

But always remember:

The sites you link to reflect on you. Getting careless with the sites you link out to can devalue the other links (and content) hosted on a given page:

How bad external links hurt your pages

Use a tool like Ahrefs to get a quick top-level of all the domains your site/URL is linking out to.

Enter your domain into the Ahrefs Site Explorer and go to the Outgoing Links >> Linked Domains report:

Linked domains report in Ahrefs

You’ll be able to see:

  1. The domains your site/URL is linking to
  2. How many times you link to each domain
  3. Which pages you link to the domain from 

Filter the Domain Rating column in descending order to surface all the potential low quality sites your domain is linking out to. Click through to each one and determine if the external link needs to be removed.

Note: just because it has a low Domain Rating doesn’t mean it is a bad site to link to. It could be quality/relevant content that is just hosted on a new domain.

#12. Optimize for featured snippets (and rank in position #0)

Search engine optimization (SEO) is fast becoming answer engine optimization (AEO).

Searchers want answers to specific question as fast as possible. As a result, Google is starting to answer more questions directly within the SERP using featured snippets:

Ranking in a featured snippet

Ahrefs analyzed 2 million featured snippets and found that ~13% of all search results now return a featured snippet:

Percentage of queries returning a featured snippet

The same study found that featured snippets get 8.6% of the total clicks:

Even if you don’t rank in the #1 position, but manage to land a featured snippet placement, you can exponentially increase the amount of organic traffic to your content.

A single piece of content can potentially rank for thousands of featured snippets:

Article ranking for thousands of featured snippets in Ahrefs

There are a lot of different featured snippet types, and ways to optimize your content for them.

Rather than repeat myself here, I’ve put together a comprehensive step-by-step guide to landing featured snippet placements here.

In the guide, we’ll look at:

  • The 5 main types of featured snippets
  • 2 ways to find existing featured snippet opportunities on your site
  • 5 ways to win new featured snippet placements

#13. Audit broken links to improve user experience

Rankings and traffic aside:

Broken links lead to a bad user experience.

According to Ahrefs, Google appears to demote pages with broken links in the SERPs:

Broken links graph

Ahrefs found, on average, only 2% of pages in the top 10 results have broken links.

Robbie headshot


Limiting or eliminating all the broken links pointing to external pages can get tricky because you don’t have control over the external content you are linking out to, and won’t know when

that site has removed or relocated content.

Google’s web crawlers travel around the web via links collecting data about each page, so it’s a good idea to regularly audit your external link profile to ensure you aren’t sending visitors (or bots) down a dead end street.

How to check for outbound broken links:

If you have a small site, it’s possible to manually check each page for broken links using a free chrome extension like “Check My Links“.


You can use tools like Xenu, Ahrefs, Screaming Frog and Scrapebox to check for broken links at scale:

Broken link report in Ahrefs

Once you’ve identified all the broken outbound links on your site, the next step is to fix them.

Export the broken links

Evaluate using the following criteria:

1. If the content can stand alone without it, remove the link.
2. If the link is needed, do a Google search and find a relevant replacement. Switch out the link.

#14. Use internal links to create silos, boost relevance and channel traffic

Google’s Penguin update back in 2012 penalized sites with over-optimized anchor text.


Penguin only looks at anchor text ratios from links from external sites.

With internal linking, you can do two things to boost relevance and help improve rankings:

  1. Link to other pages/posts using anchored links;
  2. Create “silos” to increase relevance (example: you may have an “SEO tutorials” page which links out to all of your individual SEO tutorials — this would be your silo page)

Wikipedia does both of these things extremely well:

How Wikipedia uses internal links to create silos and boost relevancy

It’s also worth adding links from existing, relevant, high-ranking pages on your site to new posts when you initially publish them.

This will give your new page a nice boost (because of how inbound “link juice” flows between pages).

Here are a few ways to find internal link opportunities:

1) Google Analytics

Navigate to your Google Analytics > Behavior > Site Content > All Pages report:

Site pages report in Google Analytics

This report will surface the highest traffic pages on your site. Scan the list of posts/pages and add a relevant internal link to your new article from a high-traffic page. 

2) Ahrefs Best By Links report

Go to Ahrefs’ Best By Links report to identify which related topical pages have the most number of links pointing to them:

Ahrefs Best Links report

3) Google Search Operators

Perform a site:domain “keyword” search in Google to see which pages reference the target keyword.

I’m not telling you to page sculpt, but if you have some articles on the site that maybe don’t get a ton of traffic, but have a decent number of quality links pointing to them, it’s worth adding some internal links to strengthen the topical content silo and channel some authority into the new page/post.

Robbie headshot


Search engines favor websites that allow them to identify and understand content. By creating silos – tightly themed groups of content connected by internal links – you can make it easier for search engines for sites to understand what your page or site is all about.

“Siloing” content is a whole different topic on it’s own. Instead of tackling it in this post, here is a link to an article by Ryan Stewart over at Webris. It’s one of the clearest overviews I’ve read on the subject.

#15. Place keywords (and semantic terms) in your intro

Most of the time, you’ll mention target keywords throughout the content without even trying.


Always make a conscious effort to incorporate your target keyword in the post intro.

Here’s my list of tools for keyword research, for example:

Examples of using keyword in the first 100 words

Notice how I mentioned the target keyword (“tools for keyword research”) early in the post intro?

I also like to mention several synonyms and semantic terms throughout the intro and body copy.

This usually happens naturally, so don’t shoehorn these in to meet arbitrary “keyword density” quotas. It’s not 1998 🙂

Robbie headshot


A lot of people start posts with long winded intros that don’t mention the keyword or topic of the page until you’re a few hundred words into the page.

Don’t wait to tell the search engines what the page is about. Include your target topic or keyword in the intro.

I usually try to include some close variation in the first sentence or paragraph:

Keyword in intro

#16. Optimize for “Hummingbird” and “semantic search”

Keywords are the building blocks of any SEO campaign.


Due to Google’s Hummingbird update search is driven more by intent than exact match keyword placements. 

Google understands someone searching for “sparkling water” might get the results for “carbonated water”:

SEO copywriting tactic 9: Use LSI keywords


Google’s algorithm flagged ‘sparkling water’ and ‘carbonated water’ to be semantically similar and treats them as exactly the same thing.

It’s the same reason why pages rank for terms that aren’t mentioned on the page at all.

This article by Healthline or ranks #1 for the term “best way to lose belly fat”:

Healthline example 2

Yet, the article doesn’t mention the exact term once on the page. It has similar related terms and synonyms (e.g. “effective tips to lose belly fat” and “reduce belly fat”), and Google is smart enough to understand these terms are related and relevant to one another.

This is the same reason the article ranks for over 13,400 different keywords:

Article ranking for thousands of different keywords in Ahrefs

So, how can you optimize for this?

Incorporate related terms and synonyms into your content.

Keyword synonyms and variants

Create content using natural language and variations, instead of dumping the same keywords into your content over and over again.

LSIgraph.com is a great place to find such terms/synonyms if you’re struggling.

LSI Graph screenshot

Or you can use a tool like Ahrefs to click through and view all the keywords competing articles are ranking for.

Check out the video below for a more in-depth walk-through of how to find dozens of high-traffic secondary keyword targets:

Robbie headshot


​I recently came across this Moz article addressing one of the oldest SEO ranking factors very few people are talking about.

TF-IDF (Term Frequency-Inverse Document Frequency) – a way to figure out how important a word is in a document based on how frequently it appears in it.

While I recommend you read the full article, it basically highlights how a company was able to jump to #1 for the highly competitive search term “sales management” in just 3 months.

One of the key factors behind the ranking increase was reducing the number of exact match keywords, and replacing with semantic variations within key on-page elements – headings, body copy and internal anchors.

TF-IDF case study

The case study further supports the fact that you need to be looking beyond exact keyword match, and focus more on search intent and semantics when it comes to strategic on-site keyword placement.

You can find out more about using TF-IDF to measure content quality here

#17. Improve UX (and content readability)

I’m a big believer that UXO (user experience optimization) is the new SEO.

Google uses a set of different behavioral signals to assess user experience – CTR, time one site, dwell time, scroll depth, social signals and more.

It doesn’t matter how well you optimize traditional on-page SEO elements, Google will drop you like a stone if users don’t engage with your content.

Google even released an algorithm update back in 2014 targeting pages with top-heavy ads, because this doesn’t contribute to, well, a good user experience.

Outside of mobile design and site speed optimization, one of quickest ways to improve the UX on your site is by using a range of multimedia assets and solid content formatting.

For instance:

Don’t write like Wikipedia, unless you are Wikipedia:

Don't write like Wikipedia unless you are Wikipedia

Break up your text with shorter paragraphs, and use descriptive benefit-driven subheadings to keep readers scrolling down the page:

Use visual elements like quote boxes, images, interactive elements, videos and testimonial boxes to keep your readers engaged:

Robbie headshot


Humans now have a shorter attention span than a goldfish:

And only 16% of people will read every word in your article.

Engage your readers quick and think about how you can use visual assets, copywriting and content formatting to draw them further down the page:

The slippery slope of copywriting

#18. Speed kills – optimize your page load

Google found that 53% of users will abandon a page if it takes more than 3 seconds to load.

Site speed was incorporated as an official ranking factor way back in 2010.

And, In July this year Google announced it would start using mobile page speed as a ranking factor in mobile search results:

Google announcing impact of page speed on mobile rankings

This has been confirmed by many studies including Brian Deans “1 million search results” study:

Average page load speed across millions of domains

Not to mention a slow loading site is a massive conversion killer:

SOASTA found that a one second delay in page response can reduce your conversions by up to 27%:

SOASTA load speed study

Page/site speed can be increased by optimizing a number of website elements, including:

  • check

    Compressing images

  • check

    Minimizing CSS and Javascript files

  • check

    Reducing server response time

  • check

    Enabling browser caching

  • check

    Reducing redirects

  • check

    Reducing plugin count

  • check

    Setting up a CDN

This list is long.

Plug your URL into the Google’s Pagespeed Insights tool and it’ll give you a grade (out of 100) across both mobile and desktop devices. It will also tell you which elements are slowing the website down.

Google Pagespeed results

These should be fixed to improve page/site speed.

Website speed can also be improved on the whole by:

Robbie headshot


The Aberdeen Group found that every 1 second delay in page load speed results in a 7% reduced conversion rate!

The get an accurate view of all the major things slowing down your website, I recommend using several different free tools.

Here are the 3 I look at:

1. Google Pagespeed Insights (shown above)
2. Pingdom
3. GTMetrix

I’m a huge fan of the GTMetrix YSlow report. Simply enter in a domain and quickly pinpoint which issues are causing the slow load speed:

GTMetrix YSlow report

Using multiple tools like this will almost always surface issues you would not have come across relying on a single tool. Definitely worth the few extra minutes work.


Investing in a solid CDN or caching plugin will give you a nice speed increase. But, the best investment you can make will be in a premium hosting solution.

While cheap shared hosting plans on sites like Bluehost are great when starting out, as your site grows a service like WPX Hosting can be a game changer.

I cut my site load time by almost 30% after switching to WPX Hosting.

#19. Send stronger SERP signals with schema markup (i.e. Rich Snippets / Structured data)

Have you ever wondered how websites get“featured snippets” in the search results?

Featured SERP snippet

Or those fancy review ratings:

Schema reviews

And an event calendar for local businesses:

Schema example

Schema.org is the answer.

Here’s a definition of what Schema markup is:


“Schema.org (often called Schema) is a specific vocabulary of tags (or microdata) that you can add to your HTML to improve the way your page is represented in SERPs.”

Source: Moz

Schema tells the search engines what your data means, not just what it says.

For example, let’s say that you mentioned the movie “Avatar” on your page…

How does Google know you’re talking about the movie Avatar and not a generic Avatar?

Schema allows you to mark up this data and tell Google you’re talking specifically about the movie.

This allows Google to show your page for the correct search terms (and can help you get that “featured snippet” box!)

Schema markup can be tested using Google’s structured data testing tool:

Google structured data testing tool

This shows the kind of data markup you have on the page, along with any errors/issues.

If you’re trying to add schema markup and rich snippets to a WordPress website, check out this comprehensive guide.

Robbie headshot


Schema markup helps your website rank for all different content types, including:

  • Articles
  • Local businesses
  • Restaurants
  • TV episodes
  • Book review
  • Movies
  • Events
  • Products

There are hundreds of different markup types. But, only about 35-40% of all websites are using it.

The topic of schema markup is a post on it’s own. But, here is a helpful resource from the folks at Moz.

#20. Boost your social signals

Google has confirmed that social share counts aren’t used as a ranking factor.

So why is this important?

Simple. Google cares about “social engagement”.

I recommend reading the post I linked to above but to keep things simple, here’s the general idea:

Google doesn’t look at arbitrary share counts, but rather the percentage of people engaging with, and sharing a piece of content.

This is why I recommend everyone add social share buttons to their website.

(I mean, SEO aside, this will almost always lead to more traffic and eyeballs on your content, which is the aim of the game anyway!)

Sumo Share Buttons

There are plenty of good WordPress plugins for this, but I recommend Sumo (this is what I use on my website!)

I’d also recommend adding social markup to your pages. This tells social networks (e.g. Facebook and Twitter) how to display to website when people share it.

Here’s how one of my posts looks when shared on Facebook (after adding social markup):

This will help increase CTRs and social referral traffic.

Yoast is the easiest way to add social markup.

It adds a user-friendly optimization panel on the backend of the site so you can optimize things without touching a single line of code:

If you’re planning to do this manually, check out this guide to social markup.

Robbie headshot


In 2016, Cognitive SEO analyzed over 23 million social shares to see if there was a strong correlation between social signals and higher organic rankings. Some interesting insights emerged.

​The study showed a strong presence on social media correlates with higher rankings:

Social presence influences organic rankings


A higher level of social engagement also correlates with better rankings:

While social signals are still thought to have little to no direct weighting in the search algorithm, there is a clear correlation.

Social media is great for brand awareness, connecting with your audience, and getting more eyeballs on your content.

And the more people who see your content, the more likely someone will link to you (which is a MAJOR ranking factor).

Brightedge found that prominent social sharing buttons will increase sharing activity by up to 700%.


Which channels should you target? It will depend on your target audience. But, one safe bet is facebook:

Facebook activity impacts site rank

According to the study, sites ranking in the top 4 positions typically had more activity on facebook.

At the very minimum, set up the free Sumo Share app today on your site.

If you want to ramp it up a level, add share icons within individual post sections:

You DID It! — The On-Page Checklist is Complete! But Here are a Few Final Tips…

It’s all well and good running through a checklist and, obviously, the template I’ve shared in this post makes life a lot easier.

But, optimization can only be done well when you understand who you’re optimizing for and why.

Here are a few final recommendations I’d add for anyone working on their on-page SEO:

  • Always think about search intent (not just keywords) — this means researching what questions people are asking around the seed keyword and finding out which questions people genuinely want to see answered;
  • Don’t optimize multiple pages for the same keyword(s) — this is known as “keyword cannibalization” and dilutes the rank potential of each competing page. If you notice this, consider merging competing assets into the most authoritative one;
  • Track everything in Google Search Console and Analytics — this will show you if the changes have a positive or negative impact. I recommending adding an annotation to your Google Analytics report every time you make a change. This will help you more clearly map organic traffic and goal activity back to specific on-page SEO changes. 

    Finally, download the Google Sheets template below and start automating the most time-consuming parts of your on-page audit and optimization.

    As always, let me know if you have any questions/ thoughts in the comments below 🙂

The post 20-Step On-Page SEO Checklist (with FREE Automation Template) appeared first on Robbie Richards.