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:
Let’s take a closer look at how to set up and use it (no Google Analytics account needed).
To start, 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.
- What platform or CMS does it run on?
- Which facets of SEO do you want to see tasks for? (Just uncheck any you’re not interested in.)
And… that’s it. Your custom SEO 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 SEO checklist today. You can start with the one-time tasks, then the periodic ones, and so on.
Let’s get started.
Here are the SEO tasks you need to complete one time only.
Install an SEO-friendly theme
Your website theme changes how it looks. These days, pretty much all themes in Shopify, 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 phone and see how it looks.
- Is it fast? Plug the demo homepage into Google’s PageSpeed 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 show these.
- Is it regularly updated? There could be security issues if not. Again, most theme marketplaces will show 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:
Each branch on the map should 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 start. 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: website.com/?p=123.
Luckily, this is easy enough to change. Just go to Settings > Permalinks > Post name.
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 those later).
Here are a few good options (you only need one):
You probably don’t need to do this if you’re using a different website platform like Shopify. Most of them give you ways to handle SEO basics out of the box.
Set up Google Search Console
Google Search Console, much like Google Analytics, is a free tool for tracking your site’s organic 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
Follow these instructions from Google to set up a Google Search Console account.
Set up Bing Webmaster Tools
Bing Webmaster Tools is Bing’s equivalent of Google Search Console.
Is it something you’re going to use all the time? Probably not, as Bing search is not something 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 how 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 those exist.
Here’s what the sitemap looks like for our blog:
You can usually find your sitemap at one of these URLs:
If you can’t find it, check your robots.txt file (domain.com/robots.txt), as its location is often listed there:
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 how to do both of these things.
Make sure your site is indexable
People aren’t searching the entire web when they search Google. They’re searching 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 how to find pages Google can’t index for free with Ahrefs Webmaster Tools (AWT):
- Crawl your site with Site Audit
- Go to the All issues report
- Check for the “Noindex page in sitemap” error
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 should either remove these pages from the sitemap or delete the noindex tag from the page.
Add schema markup to your homepage
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 homepage.
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:
All you have to do is choose whether you’re an organization or person, then fill in details like your organization 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 homepage into the schema markup validator. You should see the code:
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 how mobile-friendly your site is with the Mobile Usability report in Google Search Console.
Make sure you’re using HTTPS
HTTPS is a confirmed lightweight ranking factor.
If your website uses HTTPS, it’ll show the “lock” icon in your browser:
If you don’t see this, you’ll need to install a TLS certificate.
Many web platforms and hosts 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 host supports this.)
Make sure your website is accessible at one domain
Visitors shouldn’t be able to access your website at multiple locations. It can cause issues for search engine crawlers, as well as indexing, and security issues.
To check that everything’s in order, plug these four versions of your site into httpstatus.io:
If everything’s good, three of them should redirect to one of the HTTPS versions:
If that doesn’t happen, you need to set up permanent 301 redirects.
Make sure your site loads fast
Google has used various signals to measure page speed in the past, but these days it only uses Core Web Vitals. John Mueller confirmed this in 2022:
You can check your site’s Core Web Vitals performance for free in Ahrefs Webmaster Tools (AWT):
- Crawl your website with Site Audit
- Go to the Performance report
- Check the “Core Web Vitals” section
If you see a lot of red here, your site probably needs work.
Install an image compression plugin
Compressing images makes image files smaller and improves page speed.
If you’re using a website platform like Wix or Shopify, 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 ShortPixel.
Get a free Google Business Profile
Google Business Profiles show up for local Google searches and in Google Maps.
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 showing up.
Replicate your competitors’ backlinks
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 (link building), but the best starting point is to replicate your competitors’ links.
There are many ways to do this, but looking for competitors’ directory links is a good starting point.
Here’s how to do that:
- Go to Ahrefs’ Site Explorer
- Enter your homepage URL
- Switch the mode to “Exact URL”
- Go to the Link Intersect report
- Enter a few competitors’ homepages in blank fields
- Set the search mode for all pages to “URL”
- Hit “Show link opportunities”
It’s usually pretty easy to spot local and industry directories on the list:
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 should 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 ‘authority’ into and around your website.
To find broken links on your site for free, use Ahrefs Webmaster Tools.
- Crawl your website with Site Audit
- Go to the Internal pages report
- Click the “Issues” tab
- Look for “404 page” errors
Here’s how to deal with every broken link you find:
Refresh declining content
Search engine 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 how to find pages that could use a refresh in Google Search Console:
- Go to the Search results report
- Click the “Date” filter and select “Compare” mode
- Choose “Compare last 6 months to previous period”
- Hit Apply
- Click the “Pages” tab in the table
- Sort the results by “Clicks Difference” from low to high
For example, our list of top Google searches received 75K+ fewer organic 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 analysis
A content gap analysis finds the keywords your competitors 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 how to do one in Ahrefs:
- Go to the Competitive Analysis tool
- Enter your domain as the target
- Enter a few competitors
- Click “Compare”
You will then see keywords that at least one competitor ranks for in the top 10, but you don’t rank at all.
For example, three of our competitors rank in the top 10 for “rankbrain”:
This is probably a topic we should 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 hours
- Holiday opening hours (e.g., Christmas)
- Phone 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:
(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.
Site Audit will then crawl your site for 140+ potential SEO issues. It’ll do this periodically according to the schedule you set and send you email alerts about new issues:
If you click “View” on any issue, it’ll take you to Site Audit and show the URLs affected:
You can then click the “Why and how to fix” button to learn how to deal with each issue.
Here are the SEO tasks you should complete when adding new pages to your website that you want to perform well in organic search.
Find a primary keyword to target
Each page on your website should target one main keyword. You should 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 should 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 searching for the same thing.
Assess search intent
People tend to want to see one of these types of content when they search Google (or another search engine):
- Blog post
- Interactive tool
- Category page
- Product page
Figuring out which one that people searching for your keyword want to see is known as assessing 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 among 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”:
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.
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 brands 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 analyzing 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 produce 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:
This works, but it can be quite time-consuming.
It’s often quicker to run a page-level content gap analysis on the top-ranking pages to find keywords they rank for. Some of these often point to subtopics the pages cover.
Here’s how to do it in Ahrefs:
- Go to the Competitive Analysis tool
- Enter the URL of your page as the target (add the URL you plan to use if you haven’t created your page yet)
- Enter the URLs of a few top-ranking pages as targets
- Click “Compare”
From there, go to the Content Gap report and look for keywords that represent subtopics:
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 target keywords related to your content.
For example, this would be a logical way to structure a page about fruits and vegetables:
- H1: Fruits & Vegetables
- H2: Fruits
- H3: Apple
- H3: Orange
- H2: Vegetables
- H3: Carrot
- H2: Fruits
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.
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” button. 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 start for a compelling intro.
For example, let’s say we were writing a post about how to cook the perfect steak.
We’d start by describing the problem:
Then we’d agitate the problem:
Before finally revealing the solution:
Edit your copy for simplicity
In all, 50% of the U.S. population read below an eighth-grade reading level.
For that reason, you should keep things simple unless you want to alienate 1 in 2 visitors. That means:
- Using short 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.
People often think that linking to other websites is somehow bad for SEO. This isn’t true. It probably won’t massively 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 how your content is relevant to the questions that they have.
Does this mean you should force links to other sites into your content? Definitely not. It just means you should add them if and when it makes sense, like if you need to reference a source.
Make content easier to consume with images
Nobody 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 organic visits in the last three months:
This would undoubtedly be even higher if you were in a visual niche like food or design.
That said, don’t just shoehorn 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 SEO checklist, you should have already installed an image compression plugin. But there are a couple of other image optimizations you should do on a page-by-page basis:
- Name images descriptively – Don’t use generic image filenames like IMG_875939.png or Screenshot-2021-06-01. Use descriptive filenames like black-puppy.png or eiffel-tower.jpg.
- Add descriptive alt text – Alt text replaces an image on the page when it fails to load. It’s also helpful for those using screen readers. Learn more here.
Set a compelling title tag and meta description
Title tags and meta descriptions show up in Google’s search results to help searchers understand what the page is about.
It’s best practice to include your target keyword (or a close variation) in the title tag where it makes sense. Beyond that, it’s about making both the title and meta description as compelling as possible.
Here are a few tips:
- Keep them short – Under 70 characters for the title 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 honest about what’s on your page. Don’t over-promise.
- Include the year – In the title tag for topics that demand freshness.
If you’re struggling to come up with a compelling title or meta description, try asking ChatGPT to do the work for you:
Set a short descriptive URL slug
The URL slug is the last part of the URL:
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 ahrefs.com/seo, we only used glossary for the slug and not seo-glossary to avoid unnecessary repetition of “SEO.”
Plus, shorter is always better because long URLs tend to truncate on the SERPs:
Add schema markup for rich snippets
Schema markup can impact how your pages appear in the search results.
For example, here’s a page that currently ranks for “pizza dough recipe”:
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.
Add a table of contents (blog posts only)
A table of contents provides jump links to different sections on the page.
Adding these to long blog posts makes sense to help searchers navigate them. They can also help you win sitelinks in the search results:
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 homepage:
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 how important we think it is.
Here’s how to find internal link opportunities for free with Ahrefs Webmaster Tools (AWT):
- Crawl your website with Site Audit
- Go to the Page Explorer
- Search for your target keyword in the “Page text” of other pages
It’s then simply a case of visiting the pages in the returns, searching 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:
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 competitive keyword.
There are many ways to do this, but the Reverse Skyscraper Technique is a good starting point.
Here’s the process:
- Find competing, lower-quality pages with backlinks
- 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:
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 pitching 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.
SEO is an ongoing process, and it would be impossible to include everything that’s important in one ultimate SEO 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 competition. That’s all that matters.
If you’re looking to learn more about executing on the SEO checklist, check out our free SEO training course.
Want even more SEO ideas? Check out our list of SEO tips.
Or if you want SEO tools, check out our list of free SEO tools.