A Comprehensive On-Page SEO Checklist for 2024

If you’ve invested time and effort writing an epic piece of content, don’t forget about on-page SEO. It helps google to understand what your page is about and show it to as many people as possible in the search results.

Even better, many on-page improvements are super quick and easy to do.

Follow this checklist for perfect on-page SEO every time:

If you’re looking for a reusable interactive checklist to use time and time again, here are a few other formats

Let’s run through everything real quick.

Google says it’s best to use words that are relevant to your content in page URLs, so you don’t want random gobbledygook urls like domain.com/734/834753956756 if you can avoid it. It’s better to use something short and descriptive like domain.com/mens/shirts.

It only takes a few seconds to change this in most content management systems:

If you’re not sure what words or phrases to use, the main keyword you’re targeting is usually a good bet. That’s what we do on the Ahrefs blog 90% of the time.

For example, our target keyword for this post is “on page SEO checklist,” so that’s what the post’s URL is:

Few best practices to keep in mind:

Avoid repeating words. If your page is about mens shirts and it’s nested in the /mens/ subfolder, you don’t need to repeat the word “mens.” domain.com/mens/shirts/ is better than domain.com/mens/mens-shirts/
Avoid dates. If a searcher comes across domain.com/blog/2020/fashion-tips/ in 2024, they’re going to assume it’s out-of-date even if you updated the content yesterday. So domain.com/blog/fashion-tips/ would be better.
Avoid being too specific. If your URL is domain.com/blog/20-best-fashion-tips/, it’s going to look weird if you add more tips to your post later on. Using the less specific domain.com/blog/best-fashion-tips/ gives you more future freedom.

Google says that title tags are often the main piece of information searchers use to decide which result to click on. If yours is boring and dull, you’re probably not going to get as many clicks as you could—even if you rank.

It’s the same story for meta descriptions, which Google often uses for the descriptive snippet.

There’s no one-size-fits-all approach for title tags, but the ABC formula is a decent starting point for blog posts:

For your meta description, my best advice is to try to expand on your title tag to give searchers more detail and context.

If you’re struggling or just want a fast solution, give our free AI title tag generator and meta description generator a shot. Tell the tools what your page is about and your desired writing tone and they’ll generate a few options.

Remember to keep them both short and swee, too. If they’re too long, they’ll get cut-off in search. This looks odd and makes them less compelling. You can use a free tool like this one to check for truncation before publishing, or Ahrefs’ Site Audit to find all the issues on your site.

Google recommends using one H1 tag per page. It makes sense to use this for your page title as H1 is the highest level heading there is.

Most content management systems do this automatically, but you can double-check your title is indeed a H1 for free using Ahrefs SEO toolbar. Just click the Content tab:

If the copy you’d expect to be wrapped in a H1 tag isn’t, hit up your developer!

People want what you promised them in your title and meta description, so don’t kick things off with a load of fluff. Get straight to the point and give the reader what they came for in the first sentence.

There’s no one-size-fits-all way to do this. It all depends on what searchers are looking for.

For example, when people search for “toxic backlinks,” they’re overwhelmingly looking for a definition above all else. That’s why I made the very first paragraph of my article the definition:

But when people search for “best snow blower,” they just want a recommendation—so that’s what Wirecutter gives them in the first paragraph:


I think Wirecutter’s opening paragraph could be even better because there’s no point in that first sentence. If you’re searching for “best snow blower,” you already know the benefits of the product. You just want to know which one is best!

Google’s John Mueller said that the search giant uses headings to help better understand the content on a page. This is why you need to make sure they’re clear and descriptive.

It’s easy to miss the mark here. We’ve even been guilty of it ourselves.

For example, look at these two subheadings from our list of blogging tips:

Do you have any idea what those mean at first glance?

Me neither. And many of the other subheadings in our post were also unclear.

If you suspect the same might be true for your subheadings, try this: ask ChatGPT to rewrite them for clarity.

This is exactly what Sam did for our post, and it made them much clearer in seconds.

For example, “Create a ‘Do 100’ project” became “Start a ‘write 100 blog posts’ project”:

Make sure your subheadings have proper hierarchy, too. It helps Google to understand the structure and makes it easier to skim for readers.

Search intent is the reason behind the search. Unless your page aligns with intent and gives searchers what they’re looking for, your chances of ranking high are slim to none.

To show just how important this is, look at this graph:

This shows our ranking position for the keyword “backlink checker” over time. You can see that in late 2018, we suddenly went from struggling to rank higher than position #5 to consistently ranking #1.

How? By optimizing our page for search intent.

Here’s what the page looked like before:

Here’s what it looks like now:

Minor design tweaks aside, there’s one important difference: there’s now a free backlink checker embedded. Before it just asked visitors to start a trial of our SEO software.

By catering to what searchers actually wanted, we improved the page’s rankings and its estimated search traffic from ~18K to ~215K monthly visits. That’s a 12X improvement!

But how did we know what searchers wanted?

Back then, we had to do a manual analysis of the top search results. While you can still do that, it’s much easier just to click the “Identify intents” button in Keywords Explorer:

This uses the power of AI to analyze the top search results and tell you what searchers are looking for.

Broadly aligning your content with search intent isn’t enough. It should also cover the topic in full to tell searchers everything they want to know. This can help it rank for more keywords and bring more traffic as a result, too.

To find what searchers are looking for, look for common subtopics among top-ranking pages.

There are a few ways you can do this.

Manually check the top-ranking pages

Search for your target keyword in Google, open a few top-ranking pages, and eyeball them for commonalities.

For example, many top results for “best running shoes for flat feet” give a budget option:

Check the keyword rankings of top-ranking pages

Pages often rank for keywords related to the subtopics they cover. If you see many top pages ranking for these keywords, it’s probably an important subtopic to cover.

Here’s how to find these keywords:

Go to the Competitive Analysis tool in Ahrefs
Enter your page’s URL in the “This target doesn’t rank for” field. (If you haven’t published your page yet, enter the URL you plan to use.)
Enter the URLs of a few similar top-ranking pages in the “But these competitors do” fields
Look for keywords that represent subtopics

For example, the top three results for “best running shoes for flat feet” also rank in the top 10 for many keywords related to men and women’s shoes:

This tells you that the best picks for men and women is an important subtopic to include.

Find subtopics with the help of AI

It’s currently in beta, but the new AI Content Grader in Ahrefs finds “missing” subtopics. It does this by comparing the content of the three top-ranking pages for your target keyword to your content.

To use it, just enter your target keyword and your page’s URL. (If you haven’t published your page yet, enter the URL you plan to use).

For example, here’s one of its suggestions for the keyword “best running shoes for flat feet”:

Information gain is a measure of how unique your content is. Google describes a mechanism for scoring this in a patent granted in June 2022.

Two months later, in August 2022, Google launched the helpful content update, which they described as “part of a broader effort to ensure people see more original, helpful content written by people, for people, in search results.”

Are these two things related? Nobody knows. But what we do know is that Google cares about the originality of your content, and almost certainly has mechanisms in place for identifying it. 

This means that covering what other top-ranking pages cover isn’t enough for a well-optimized page. It also needs to bring something new and valuable to the table.

For example, my colleague Chris collected data on how folks deal with low-quality backlinks for his post on removing backlinks:

Ryan interviewed three B2B marketers for unique insights for his post on B2B content marketing:

And I worked with Patrick Stox to create an interactive workflow and template for my content audit guide:

None of these posts are completely unique. They contain plenty of information that you can probably find elsewhere—and that’s fine. What matters is that we’re bringing at least something new to the table.

Google’s algorithms are designed to surface content that demonstrates E-E-A-T: Experience, Expertise, Authority, and Trust.

If you’re an expert in your field or crafted your content from personal experience, your page already has E-E-A-T. But searchers aren’t going to know that without reading it, so you should try to showcase it as obviously as you can on the page. Let’s look at two ways to do this.

Flash your credentials

Healthline does this extremely well. The very first thing you see on their page about rheumatoid arthritis is that the content was reviewed by a rheumatologist:

Put your uniqueness front and center

If you’ve put time and effort into adding “information gain” to your content, don’t bury it. Make sure searchers see it right away so they know they can trust you.

For example, to curate our list of the best Facebook groups for SEOs, we asked the 12K+ members of our customer-only group to vote for their favorites. Instead of burying this fact deep in the post, we highlighted it in the very first paragraph.

For a page to earn backlinks (which are a strong ranking factor) and shares, people have to actually consume the content. This isn’t going to happen if the copy is hard to read.

You can use free tools like Hemingway and Grammarly to fix this.

For example, Hemingway gives my recent guide to toxic backlinks a reading grade level of 7:

Given that 54% of Americans lack literary proficiency (essentially reading below the equivalent of a sixth-grade level), this means we’re alienating at least 46% of readers. If we could bring the reading grade level down, more people would be able to read it.


This isn’t absolutely necessary for every topic. It depends on who your audience is. If they’re technical folks, don’t worry about it. But if you’re publishing content for the masses, accessibility matters.

Here are a few more tips to improve readability:

Use short sentences and paragraphs
Use bulleted lists
Use images

Featured snippets give searchers a short answer right in the search results.

But here’s the cool thing: Google pulls the snippet from one of the top-ranking pages. This means that if your page already ranks in the top 10 for keywords where Google shows a featured snippet, there might be an opportunity to steal it without much effort.

This is exactly what I managed to do a couple of months ago, which led to a ~38.9% jump in estimated search traffic to our page:

Here’s what happened:

In Ahrefs’ Site Explorer, I used the Organic Keywords report to find the page’s top 10 keyword rankings with featured snippets we didn’t own.

Right away, I noticed a trend: many of the keywords were people searching for the most searched thing in Google (singular) rather than a list of top searches (plural):

After searching for a few of these keywords in Google, I saw that the snippet was pretty much always pulled from this very short paragraph in a competing post:

So… I added a similar paragraph to our post (using our data instead):

This quick big of on-page SEO won our page 163 more featured snippets:

Images on your page can rank in Google Images and send you more traffic. There are three things you need to do to optimize them.

Filenames are descriptive

Google says that these give clues about the subject matter, so avoid random file names like IMG_5497.jpg in favor of something short and descriptive like brown-dog.jpg.

Alt text is present and descriptive

Google also says that image alt text helps them understand subject matter, so the same rules apply as filenames: keep them short and descriptive.

Most content management systems have a place to add alt text in the UI, so there’s no need to mess around with HTML:

Images are compressed

Compressed images are smaller and faster to load. Some platforms like Shopify claim to do this automatically, but the results aren’t always great. It’s generally better to employ the help of a plugin like TinyIMG or Shortpixel.

Internal links are links from one page on your site to another. They help Google understand what a page is about and boost its authority, which can lead to higher rankings.

For this reason, when you publish a new page, it pays to internally link from there to other relevant pages. This won’t help the new page’s rankings, but it might help the rankings of the pages you internally link to.

To find relevant opportuntities, use Ahrefs’ Site Audit:

Go to the Internal Link Opportunities tool
Enter the URL of your newly-published page in the search box
Choose “Source page” from the dropdown


Site Audit needs to have crawled your site since you published the new page, otherwise this won’t work.

Pay attention to these columns:

Source page → your newly-published page, where you will add the link
Keyword context → where on the page to add the link
Target page → where to link to

For example, here the report is suggesting that I link from my post on toxic backlinks to our bad links guide:

Citing valuable resources is helpful for readers. Even Google says so.

Does that mean it’s a “ranking factor?” No. But it does improve your content’s credibility with readers, and that can impact things that do matter like links and shares.

This is something we regularly do on the Ahrefs blog:

If you’re trying to boost the rankings of the page you’re optimizing, you’ll want to add internal links to it from other pages on your site.

To find relevant opportunities, use Ahrefs’ Site Audit:

Go to the Page Explorer tool
Enter your target keyword (or part of it) in the search box
Choose “Page text” from the dropdown

This will find pages on your site that mention your target keyword, which may be good places to add internal links.

For example, it tells us that our guide to removing backlinks mentions the word “toxic”:

If we search that page, this is the mention:

That looks like the perfect place to internally link to our guide to toxic backlinks.

Schema markup is code that helps search engines understand the information on a page. It also powers many rich snippets you see in Google, which can lead to more clicks.

If you’re not sure whether schema markup is worth prioritizing for your page, search for your main target keyword in Google and look at the top results. If all or many are rich results, it’s probably worth adding it.

If you use WordPress, you can easily add schema with a plugin like Yoast or RankMath. Alternatively, use a tool like Merkle’s Schema Markup Generator to generate the JSON-LD code yourself and add it manually.

Keep learning

Check out even more of our on-page SEO resources:

Source link

Stay up to date
Register now to get updates on promotions and coupons

Shopping cart