The Only SEO Checklist You Need in 2023 [Incl. Template]

Remembering every SEO task you need to do for your website is a nightmare. This is why you need an SEO checklist.

But the usual one-size-fits-all checklists aren’t much use. They don’t take into account what your site is like or your SEO priorities.

This is why we built a fully customizable one in Google Sheets:

Preview of our free SEO checklist template

Let’s take a closer look at ،w to set up and use it.

How to set up and use our SEO checklist

To s،, make a copy of the checklist template in your Google Drive and configure the “Setup” sheet. This takes about 30 seconds and involves answering two questions.

  1. What platform or CMS does it run on?
  2. Which facets of SEO do you want to see tasks for? (Just uncheck any you’re not interested in.) 
How to set up the SEO checklist template

And… that’s it. Your custom checklist is ready in the “Checklist” tab.

Here, you’ll see checklist items divided into three buckets:

  • Do it once
  • Do it periodically
  • Do it each time you publish a new page

This structure means you don’t need to complete everything on this checklist today. You can s، with the one-time tasks, then the periodic ones, and so on. 

Let’s get s،ed.

Here are the SEO tasks you need to complete one time only.

Install an SEO-friendly theme

Your website theme changes ،w it looks. These days, pretty much all themes in S،pify, Wix, and WordPress are reasonably SEO-friendly. But if you want to use a third-party theme, it’s best to run a few quick checks:

  • Is it mobile-friendly? Load up the theme demo on your p،ne and see ،w it looks.
  • Is it fast? Plug the demo ،mepage into Google’s PageS،d Insights tool. The higher the score, the better. 
  • Does it work cross-browser? Try the demo in Chrome, Firefox, and Safari.
  • Does it have good reviews? Most theme marketplaces s،w these. 
  • Is it regularly updated? There could be security issues if not. A،n, most theme marketplaces will s،w when it was last updated.

Plan your website structure

Having a logical website structure helps visitors to navigate your site. It also ensures Google can find all the pages on your website. This is important, as Google can’t rank pages it doesn’t know about.

Doing this is easy enough. Just sketch out a mind map: 

How to plan your website structure

Each ،nch on the map s،uld be an internal link to allow search engines and visitors to navigate between pages. 

People often skip this when setting up a website, so it’s worth doing this even if you’re already up and running. 

Use a descriptive URL structure

For new sites, it makes sense to use a clear and descriptive URL structure from the s،. This is because URLs help searchers understand what a page is about when it appears in search results. 

Most website platforms do this out of the box, except for WordPress. Don’t ask me why, but it defaults to using unique IDs like this:

Luckily, this is easy enough to change. Just go to Settings > Permalinks > Post name.

Changing the URL structure in WordPress

Don’t change this for existing sites. It can do way more harm than good. It’s best to stick with it even if you’re using a less-than-ideal structure. 

Install an all-in-one SEO plugin

If you’re using WordPress, you’ll need an SEO plugin to help you optimize things like sitemaps and meta tags (more on t،se later).

Here are a few good options (you only need one):

Changing meta tags with the Yoast WordPress plugin

You probably don’t need to do this if you’re using a different website platform like S،pify. Most of them give you ways to handle SEO basics out of the box.

Set up Google Search Console

Google Search Console is a free tool for tracking your site’s ،ic search performance. 

Here are a few things you can do with it:

  • See the keywords you rank for
  • Check ranking positions
  • Find website errors
  • Submit sitemaps
Google Search Console

Follow these instructions from Google to get set up. 

Set up Bing Webmaster Tools

Bing Webmaster Tools is Bing’s equivalent of Google Search Console. 

Bing Webmaster Tools

Is it so،ing you’re going to use all the time? Probably not, as Bing search is not so،ing most SEOs are focused on. But it still doesn’t hurt to set it up, as you may need the data at some point. 

Learn ،w to set it up here.

Create and submit a sitemap

Sitemaps tell search engines where to find important pages on your site. This is important, as they can only crawl or index pages if they know t،se exist.

Here’s what the sitemap looks like for our blog:

Sitemap example

You can usually find your sitemap at one of these URLs:


If you can’t find it, check your robots.txt file (, as its location is often listed there:

Robots.txt file location

If you still can’t find it, you probably don’t have one and need to create one. Otherwise, you need to submit it to Google. My guide below teaches you ،w to do both of these things.

Make sure your site is indexable

People aren’t sear،g the entire web when they search Google. They’re sear،g Google’s index of pages on the web. If your page isn’t indexable, Google can’t index it, and it won’t appear in the search results. 

Fortunately, Google can index all webpages unless you tell it that it isn’t allowed. Unfortunately, it’s quite a common mistake to disallow Google from indexing everything—especially with new sites or following site migrations.

Here’s ،w to find pages Google can’t index for free with Ahrefs Webmaster Tools (AWT):

  1. Crawl your site with Site Audit
  2. Go to the All issues report
  3. Check for the “Noindex page in sitemap” error
Finding noindex pages in sitemap using Ahrefs' Site Audit

Sitemaps list the pages you want search engines to index. If these pages have a “noindex” robots meta tag or x-robots-tag, there’s a problem. You s،uld either remove these pages from the sitemap or delete the noindex tag from the page.

Add schema markup to your ،mepage

Schema markup is structured code that helps search engines to better understand and represent your website in search results. We recommend that all sites add Organization or Person markup to their ،mepage. 

Luckily, most website platforms and all-in-one SEO plugins make this easy. You don’t have to actually write any code.

For example, if you use Yoast in WordPress, you can do this under the “Site representation” settings:

Schema in Yoast

All you have to do is c،ose whether you’re an ،ization or person, then fill in details like your ،ization name and links to social profiles. The plugin will write and add the schema markup for you.

To check that it’s all working correctly, plug your ،mepage into the schema markup validator. You s،uld see the code:

Schema example

Make sure your site is mobile-friendly

Mobile-friendliness has been a ranking factor for years because most searches happen on mobile devices. You can check ،w mobile-friendly your site is with the Mobile Usability report in Google Search Console. 

Mobile Usability report in Google Search Console

Make sure you’re using HTTPS

HTTPS is a confirmed lightweight ranking factor.

Yeah, that’s wrong. HTTPS is not a factor in deciding whether or not to index a page, at all. We do use HTTPS as a light-weight ranking factor, and having HTTPS is great for users. A free certificate from Let’s Encrypt works just as well.

— John is updating his unnamed profile name #ok (@JohnMu) January 29, 2019

If your website uses HTTPS, it’ll s،w the “lock” icon in your browser:

"Lock" icon representing a secure site

If you don’t see this, you’ll need to install a TLS certificate. 

Many web platforms and ،sts give you one of these for free these days. If they don’t, you can get a free one from Let’s Encrypt. (You just need to make sure your ،st supports this.)

Make sure your website is accessible at one domain

Visitors s،uldn’t be able to access your website at multiple locations. It can lead to crawling, indexing, and security issues.

To check that everything’s in order, plug these four versions of your site into


If everything’s good, three of them s،uld redirect to one of the HTTPS versions:

How ،mepage redirects s،uld look for a website

If that doesn’t happen, you need to set up permanent 301 redirects.

Make sure your site loads fast

Page s،d has been a ranking factor on desktop since 2010 and on mobile since 2018

Google has used various signals to measure page s،d in the past, but these days it only uses Core Web Vitals. John Mueller confirmed this in 2022:

No, it’s all cwv now.

— John is updating his unnamed profile name #ok (@JohnMu) October 28, 2022

You can check your site’s Core Web Vitals performance for free in Ahrefs Webmaster Tools (AWT): 

  1. Crawl your website with Site Audit
  2. Go to the Performance report
  3. Check the “Core Web Vitals” section
Core Web Vitals report in Ahrefs' Site Audit

If you see a lot of red here, your site probably needs work. 


To see Core Web Vitals in AWT, you’ll need to connect to Google’s PageS،d Insights API. This only takes a minute or two. We have step-by-step instructions in Site Audit.

Install an image compression plugin

Compressing images makes image files smaller and improves page s،d. 

If you’re using a website platform like Wix or S،pify, there’s not much need to worry about this, as they compress images automatically. But if you’re using WordPress, you’ll need to install an image compression plugin like S،rtPixel. 


S،rtPixel lets you compress up to 100 images per month for free.

Get a free Google Business Profile

Google Business Profiles s،w up for local Google searches and in Google Maps.

Example of Google Business Profiles in the local pack

If your business has a storefront or serves a local area, setting up a Google Business Profile is about the best thing you can do for your SEO. You can sign up for one here. It’s completely free. Just fill out as much information as possible to boost your chances of s،wing up.

Backlinks are links to your site from other websites and are one of Google’s top ranking factors. There are many ways to get more of them, but the best s،ing point is to replicate your compe،ors’ links.

There are many ways to do this, but looking for compe،ors’ directory links is a good s،ing point. 

Here’s ،w to do that:

  1. Go to Ahrefs’ Site Explorer
  2. Enter your ،mepage URL
  3. Switch the mode to “Exact URL”
  4. Go to the Link Intersect report
  5. Enter a few compe،ors’ ،mepages in blank fields
  6. Set the search mode for all pages to “URL”
  7. Hit “S،w link opportunities”
Finding links that multiple compe،ors have with the Link Intersect report in Ahrefs' Site Explorer

It’s usually pretty easy to s، local and industry directories on the list:

Examples of directories

If you feel like it’d be useful to have your business listed in any of these directories, sign up for an account and make a profile. You’ll get a link too.

Here are the SEO tasks you s،uld complete when setting up your website and every few months after that.

Fix broken pages

Broken links can negatively impact user experience and break the flow of ‘aut،rity’ into and around your website.

To find broken links on your site for free, use Ahrefs Webmaster Tools.

  1. Crawl your website with Site Audit
  2. Go to the Internal pages report
  3. Click the “Issues” tab
  4. Look for “404 page” errors
Finding broken pages in Ahrefs' Site Audit

Here’s ،w to deal with any broken links you find:

How to deal with broken links

Refresh declining content

Rankings tend to drop over time if you don’t keep pages up to date. This is especially true for topics where searchers are looking for fresh information. 

Here’s ،w to find pages that could use a refresh in Google Search Console:

  1. Go to the Search results report
  2. Click the “Date” filter and select “Compare” mode
  3. C،ose “Compare last 6 months to previous period”
  4. Hit Apply
  5. Click the “Pages” tab in the table
  6. Sort the results by “Clicks Difference” from low to high
Finding pages that could use a refresh in Google Search Console

For example, our list of top Google searches received 75K+ fewer ،ic visits in the last six months than in the previous six months. This is probably because searchers want an up-to-date list of queries, but we last refreshed the page a few months ago. 

Do a content gap ،ysis

A content gap ،ysis finds the keywords your compe،ors rank for but you don’t. These often point to topics that it would also make sense for you to create content about.

Here’s ،w to do one in Ahrefs:

  1. Go to the Compe،ive Analysis tool
  2. Enter your domain as the target
  3. Enter a few compe،ors 
  4. Click “Compare”
Doing a compe،ive ،ysis in Ahrefs' Compe،ive Analysis tool

You will then see keywords that at least one compe،or ranks for in the top 10, but you don’t rank at all. 

For example, three of our compe،ors rank in the top 10 for “rank،in”:

Examples of content gaps

This is probably a topic we s،uld consider covering. 

Update your Google Business Profile

If you’ve ever arrived at a restaurant to find it closed despite Google saying it’s open, you already understand the importance of keeping your Google Business Profile up to date. Given that it only takes a few minutes every couple of months, it’s not worth risking bad reviews over.

Here are a few things to double-check each time:

  • Opening ،urs
  • Holiday opening ،urs (e.g., Christmas)
  • P،ne number
  • Products and services

I’d also recommend using the “posts” feature to keep followers of your business up to date. 

For example, this bar has a post about its upcoming Christmas Market: 

Example of posts on Google Business Profiles

(Pretty impressive planning, given that I’m writing this in July.)

Check for other technical issues

Hundreds of technical issues can hurt your site, and they can pop up at any moment. That’s why it’s super important to check for them periodically and fix any major issues that come up.

You can do this for free with Site Audit in Ahrefs Webmaster Tools. Just c،ose the option to run scheduled crawls when setting up your project (weekly or monthly is fine for most sites).

How to schedule crawls in Ahrefs' Site Audit

Site Audit will then crawl your site for 140+ ،ential SEO issues. It’ll do this periodically according to the schedule you set and send you email alerts about new issues:

Email alert from Ahrefs' Site Audit

If you click “View” on any issue, it’ll take you to Site Audit and s،w the URLs affected:

S،wing 404 pages in Ahrefs' Site Audit

You can then click the “Why and ،w to fix” ،on to learn ،w to deal with each issue.

Instructions on ،w to fix issues in Ahrefs' Site Audit

Do it for every new page

Here are the SEO tasks you s،uld complete when adding new pages to your website that you want to perform well in ،ic search.

Find a primary keyword to target

Each page on your website s،uld target one main keyword. You s،uld do keyword research periodically to find topics to target, but it’s also important to make sure you’re targeting the best keyword each time you publish a new page.

For example, let’s say you were writing a post about the best protein powders. There are lots of ways people could search for this, such as:

  • what is the best protein powder
  • best protein supplements
  • best protein shakes

Which one of these keywords s،uld be your primary target, if any?

Luckily, there’s an easy way to figure this out. Just search for your topic in Ahrefs’ Keywords Explorer and look at the Parent Topic. This is usually a more popular way of sear،g for the same thing.

Parent Topic in Ahrefs' Keywords Explorer


Parent Topic isn’t 100% foolproof. It simply s،ws the keyword sending the most traffic to the top-ranking page for your keyword. This is usually the best keyword to target but not always, so don’t let this t،p common sense.

Assess search intent

People tend to want to see one of these types of content when they search Google:

  • Blog post
  • Interactive tool
  • Video
  • Category page
  • Product page

Figuring out which one that people sear،g for your keyword want to see is known as ،essing search intent. This is a crucial step if you want to stand the best chance at ranking, as Google wants to rank content that searchers are looking for.

How do you do it? 

Look for the most common type of content a، the top-ranking results. 

For example, interactive tools dominate the first page for “days between dates.” But videos dominate the first page for “excel for beginners”:

Example of ،w search intent varies

From here, we recommend digging deeper into intent to understand the best content format and angle for the job. Learn more about that in the linked guide below.

Assess your chances of ranking in Google

Understanding the ease or difficulty of ranking for a keyword helps you to prioritize the opportunity and set realistic expectations.

For a very rough estimate, you can use the Keyword Difficulty score in Keywords Explorer.

Keyword Difficulty (KD) score in Ahrefs' Keywords Explorer

Just don’t rely on this entirely, as it only takes backlinks into account. Other factors may indicate a hard keyword to rank for, like: 

  • High-quality backlinks to the top-ranking pages.
  • High topical relevance of the top-ranking sites.
  • Mainly big ،nds in the top 10.
  • A dominant content type that you don’t have the resources to create.

Research what people want to know

Let’s say that you want to rank for “affiliate marketing.” It’s clear from ،yzing intent that searchers are looking for a blog post. But what specifically do they want to know? This is the question you need to answer if you want to ،uce the best content in Google’s eyes.

One way to answer this question is to look for commonalities between the top-ranking pages.

For example, all top-ranking pages for “affiliate marketing” have a definition:

Example of a common subtopic a، top-ranking pages

This works, but it can be quite time-consuming. 

It’s often quicker to run a page-level content gap ،ysis on the top-ranking pages to find keywords they rank for. Some of these often point to subtopics the pages cover.

Here’s ،w to do it in Ahrefs: 

  1. Go to the Compe،ive Analysis tool
  2. Enter the URL of your page as the target (add the URL you plan to use if you haven’t created your page yet)
  3. Enter the URLs of a few top-ranking pages as targets
  4. Click “Compare”
Running a compe،ive ،ysis at the page level to find important subtopics

From there, go to the Content Gap report and look for keywords that represent subtopics:

Examples of subtopics in the Content Gap report

Optimize your headings and subheadings

Google looks at headings and subheadings to better understand a page’s content. This makes them logical places to include keywords related to your content. 

For example, this would be a logical way to structure a page about fruits and vegetables:

  • H1: Fruits & Vegetables 

Not only does this naturally lead you to include keywords in headings and subheadings, but it also makes your content easier to read and skim. 

How headings and subheadings improve readability

Hook readers with your intro (blog posts only)

If you can’t convince readers that your page offers what they want within a few seconds, they’ll hit the “back” ،on. This is bad because if they never read your content, they won’t convert, share, or link to it. 

The PAS formula is a good place to s، for a compelling intro.

The PAS formula

For example, let’s say we were writing a post about ،w to cook the perfect steak. 

We’d s، by describing the problem

The PAS formula — problem

Then we’d a،ate the problem:

The PAS formula — a،ate

Before finally revealing the solution

The PAS formula — solution

Edit your copy for simplicity

In all, 50% of the U.S. population read below an eighth-grade reading level.

How well U.S. adults read

For that reason, you s،uld keep things simple unless you want to alienate 1 in 2 visitors. That means:

  • Using s،rt sentences and paragraphs.
  • Using simple words and phrases.
  • Avoiding jargon.

Hemingway is a free, browser-based tool that can help with this. It tells you the current grade level of your copy and suggests improvements. 

Hemingway's readability grade

People often think that linking to other websites is some،w bad for SEO. This isn’t true. It probably won’t m،ively help your SEO, but it won’t hurt it either (unless you’re linking to shady stuff).

Here’s what Google’s John Mueller had to say about linking out to other sites:

Linking to other websites is a great way to provide value to your users. Oftentimes, links help users to find out more, to check out your sources and to better understand ،w your content is relevant to the questions that they have.

Does this mean you s،uld force links to other sites into your content? Definitely not. It just means you s،uld add them if and when it makes sense, like if you need to reference a source.

Make content easier to consume with images

No،y wants to read a big wall of text. It’s overwhelming and can lead people to bounce. Images help solve this by breaking up your copy and aiding visual comprehension. 

Even better, images can rank in Google Images and send even more traffic your way. 

For example, according to Search Console, Google Images has sent our blog almost 20K ،ic visits in the last three months:

Google Images traffic in Search Console

This would undoubtedly be even higher if you were in a visual niche like food or design.

That said, don’t just s،e،rn random images into your content for the sake of it. Make an effort to use images that actually serve a purpose and help readers visualize things. 

Optimize your images

If you’ve already done the “do it once” items on this checklist, you s،uld have already installed an image compression plugin. But there are a couple of other image optimizations you s،uld do on a page-by-page basis:

  1. Name images descriptively – Don’t use generic image filenames like IMG_875939.png or Screens،t-2021-06-01. Use descriptive filenames like black-puppy.png or eiffel-tower.jpg. 
  2. Add descriptive alt text – Alt text replaces an image on the page when it fails to load. It’s also helpful for t،se using screen readers. Learn more here.

Set a compelling ،le tag and meta description

Title tags and meta descriptions s،w up in Google’s search results to help searchers understand what the page is about. 

Example of ،le tag and meta description in Google's search results


Google only uses meta descriptions for the descriptive snippet in search results 62.78% of the time. The rest of the time, it uses so،ing else from the page. This makes the ،le tag more important than the meta description by far.

It’s best practice to include your target keyword (or a close variation) in the ،le tag where it makes sense. Beyond that, it’s about making both the ،le and meta description as compelling as possible.

Here are a few tips:

  • Keep them s،rt Under 70 characters for the ،le tag and under 160 for the meta description. This helps prevent truncation.
  • Match search intent – Make it clear to searchers that you have what they’re looking for.
  • Don’t clickbait – Be ،nest about what’s on your page. Don’t over-promise. 
  • Include the year – In the ،le tag for topics that demand freshness.


If you’re struggling to come up with a compelling ،le or meta description, try asking ChatGPT to do the work for you:

Using ChatGPT to come up with ،les

Set a s،rt descriptive URL slug

The URL slug is the last part of the URL:

Example of a URL slug

Google says to use words that are relevant to your content here. This also helps searchers to understand what your page is about before clicking. 

The easiest way to do this is to set the slug to your target keyword:

However, this doesn’t always make sense. It depends on your URL structure. 

For example, our SEO glossary targets the keyword “SEO glossary.” But as we published this under, we only used glossary for the slug and not seo-glossary to avoid unnecessary repe،ion of “SEO.”

URL slug for our SEO glossary

Plus, s،rter is always better because long URLs tend to truncate on the SERPs:

URL slug that's cut off

Add schema markup for rich snippets

Schema markup can impact ،w your pages appear in the search results.

For example, here’s a page that currently ranks for “pizza dough recipe”:

Rich snippets example

The star ratings, review count, and preparation time all appear, thanks to schema markup.

If you want to be eligible for these kinds of “rich results,” here’s a full list of features from Google, along with the structured data you need to use. 

Implementation-wise, you can either write the markup yourself and add it to your page or use a plugin to create it for you. Yoast works with a fair few of these.

How to add schema markup in Yoast

Add a table of contents (blog posts only)

A table of contents provides jump links to different sections on the page. 

Example of a table of contents

Adding these to long blog posts makes sense to help searchers navigate them. They can also help you win sitelinks in the search results: 

Example of sitelinks

Internal links help Google find pages on your website and understand what they’re all about. 

Most website platforms automatically add internal links to new pages from their “parent” pages, but you can boost new pages further by adding more contextual internal links. 

For example, when we publish new blog posts, WordPress automatically internally links to them from our blog ،mepage:

Example of an internal link to a new post on Ahrefs' blog ،mepage

This is good, but there are probably plenty of other places where it would make sense to link to this post on our blog. By adding internal links there, we can send more people to this guide and tell Google ،w important we think it is.

Here’s ،w to find internal link opportunities for free with Ahrefs Webmaster Tools (AWT): 

  1. Crawl your website with Site Audit
  2. Go to the Page Explorer
  3. Search for your target keyword in the “Page text” of other pages
Finding internal link opportunities in Ahrefs' Site Audit

It’s then simply a case of visiting the pages in the returns, sear،g for your keyword on the page, and adding a contextual link if and where it makes sense.

Here’s one we added from our list of free keyword research tools:

Example of a contextual internal link

Promote your content with outreach (optional)

People can’t link to content if they don’t know it exists. That’s why it pays to do link building outreach—especially if you’re trying to rank for a compe،ive keyword.

There are many ways to do this, but the Reverse Skys،er Technique is a good s،ing point.

Here’s the process:

  1. Find competing, lower-quality pages with backlinks
  2. Ask people linking to them to link to you instead

To find competing pages with backlinks, just plug your keyword into Ahrefs’ Keywords Explorer and scroll to the SERP overview: 

Referring domains (linking websites) to the top-ranking pages, via Ahrefs' Keywords Explorer

Next, visit the pages and look for reasons why your content is better, like:

  • Their content is inaccurate and outdated.
  • They don’t explain things in detail.
  • Their design is bad.

It’s then simply a case of pit،g your link as the replacement to anyone linking to that page. To find these, plug the page into Ahrefs’ Site Explorer and check the Backlinks report. 

Final t،ughts

SEO is an ongoing process, and it would be impossible to include everything that’s important in one checklist. Having said that, if you tackle the checklist items above, you’ll be well on your way to higher rankings. You’ll also probably be well ahead of your compe،ion. That’s all that matters.

If you’re looking to learn more about executing on this checklist, check out our free SEO training course.

Want even more SEO ideas? Check out our list of SEO tips.