On-Page SEO: An Actionable Guide

Joshua Hardwick
Head of Content @ Ahrefs (or, in plain English, I'm the guy responsible for ensuring that every blog post we publish is EPIC).
Article stats
  • Linking websites 685
  • Tweets 621
Data from Content Explorer

Shows how many different websites are linking to this piece of content. As a general rule, the more websites link to you, the higher you rank in Google.

Shows estimated monthly search traffic to this article according to Ahrefs data. The actual search traffic (as reported in Google Analytics) is usually 3-5 times bigger.

The number of times this article was shared on Twitter.

    Do you want to know how to optimize your web pages perfectly? You’re in the right place.

    You’ve got a keyword in mind for which you want to rank.

    You may even already have a GREAT piece of content.

    Now how do you ‘optimize’ that page so that Google not only understands what the heck it’s about but also realises that it deserves a place on the first page of the search results?

    It’s easier than you might think. What follows is some practical advice for doing just that.

    But first, let’s make sure we fully understand what on-page SEO is all about.


    What is On-Page SEO?

    On-page SEO (also called on-site SEO) is the practice of optimizing individual web pages to rank higher in search engines and get more organic traffic. It revolves heavily around optimizing pages for search intent, but also involves creating and optimizing HTML tags like titles and meta descriptions.

    In other words, on-page SEO is not just about strategically placing keywords on your page. That advice is massively outdated.

    In 2020, Google is smart enough to understand synonyms and semantically‐related keywords (more on those later!), meaning that you no longer have to obsess about the strategic placement of exact-match keywords on your web pages.

    Don’t believe us? Take a look at the top results for “best apple computer.”

    SERP Overview for “best apple computer” via Ahrefs’ Keywords Explorer

    Out of the top 10 results, only ONE has the word “computer” in the title tag or URL.

    The rest of the pages talk about things like:

    • Best MacBooks;
    • Mac buying guide;
    • Which Mac should you buy?

    Google understands that when you search for “best apple computer,” what you’re really looking for is information geared towards purchasing a new Mac.

    Ready to stop optimizing your web pages like it’s 1999?

    Follow these 8 on-page SEO tips.

    1. Get in the game by optimizing for ‘search intent’

    You can’t win the game if you’re not even a player.

    Let me explain:

    I’d love to be a professional basketball player.

    Unluckily for me, however, I’m 5’3” (160cm).

    Now, I’m all for the “if you want something, go get it!” mindset…

    … but I can’t help but feel that no matter how much I practice and ‘optimize’ my skills, LeBron is always going to have an ever so slight edge over me at 6’8”. I mean, I’ve just about got the hairline down, but that’s about it for similarities.

    lebron hairline

    Here’s my point:

    Me + basketball = an unlikely match. I don’t have what most coaches are looking for. So I’ll probably never even be picked for the team, let alone have a chance to win the game.

    How does that relate to SEO?

    Think of Google as the coach picking players (web pages) for its team (top rankings for a particular search query). If your content isn’t player material—i.e., happens to be what searchers are looking for—you won’t even be in the game, let alone have the chance to win (rank #1).

    So how do you figure out what searchers want?

    Well, it’s not rocket science.

    For example, it’s pretty obvious that someone who types “buy protein powder” into Google wants to see product pages like this…

    ecommerce product page

    … or product category pages like this:

    ecommerce category page

    But there’s no reason to rely on guesses here.

    Google’s entire business model relies on them serving the most appropriate result in the top spot. You can use that fact to your advantage by checking your gut instinct against what currently ranks for your target keyword.

    Let’s do that for “buy protein powder.”

    Top‐ranking pages in Google “buy protein powder,” via the SERP Overview in Ahrefs’ Keywords Explorer

    Gut instinct = confirmed.

    Product and category pages are EXACTLY what Google returns, showing that this is what searchers want to see.


    Not an Ahrefs user? Analyze search intent by checking the search results directly in Google.

    This “trick” is especially useful for less obvious queries where “search intent” isn’t so clear.

    Case in point: “how to promote your website.”

    It’s clear right off the bat that this is an informational query, but what exactly do searchers want to see? Do they want a step‐by‐step walkthrough? Do they want a list of various promotional tactics? Or do they want something entirely different?

    Let’s check the top‐ranking pages.

    how to promote your website serp

    You can see that Google overwhelmingly favors lists of website promotion tactics.

    If you wanted to rank for this keyword/topic, that’s exactly what you should create. Google is literally telling you what searcher wants to see.

    Actionable takeaway: Look at the current top-ranking pages to better understand search intent, then act on it. That’s the only way you stand a chance at winning the game. Stop trying to shoehorn pages where they don’t belong. 

    2. Make sure your page loads FAST

    Have you ever clicked a result in Google and had the page take AGES to load?

    If you’re anything like me, then you probably do the same thing every single time this happens: hit the back button and choose a different result.

    Google knows that people do this, because slow‐loading pages are annoying, right?

    That’s why page speed is a ranking factor as of 2010.

    Having said that, when we conducted our large-scale on-page SEO study back in 2016, we found that there is a very small correlation between page load time and rankings.

    03 page speed

    There are two things that I’d say about that:

    Firstly, that study was conducted a couple of years ago. Things change all the time. Google also recently began rolling out their mobile‐first index, and they have confirmed that mobile page speed will be a ranking factor going forward.

    Secondly, even if we forget about search engines, it’s clear that slow‐loading pages are bad for user experience. People will be quick to hit the back button on pages that take too long to load, meaning that they will never see or visit your page… even if you rank #1.

    To improve page speed, start by checking your web page in Google’s PageSpeed Insights tool. That will analyze your page and give some optimization suggestions.


    You can only check page speed for one page at a time using Google Pagespeed Insights.

    That makes the whole process laborious and time‐consuming.

    To speed things up, consider using a professional site auditing tool like Ahrefs’ Site Audit (also known as SEO Analyzer.) Such tools will scan all of your pages at once and highlight the pages with issues.

    site audit ahrefs slow

    Learn more about using Ahrefs’ Site Audit in this video:


    Here are two tips for improving page speed on a page‐by‐page basis.

    1. Reduce image sizes. Use a plugin like Shortpixel in WordPress (free up to 100 images/month) to optimize and compress images automatically, on the fly.
    2. Minimize useless HTML. Every character of HTML has to load. If you’re using WordPress, aim to use the text editor rather than the visual editor. This will minimize the amount of useless HTML that ends up on your pages. Learn more WordPress SEO.

    You should also work to improve your site speed as a whole.

    Still, try not to get obsessive over page speed. Chances are that once you reach a certain point, working tirelessly to shave off extra milliseconds here and there will have little to no noticeable effect on rankings.

    Google states that 53% of users will abandon a page if it takes more than 3 seconds to load. So we would suggest aiming for 2 seconds or under as a general rule.

    Actionable takeaway: Make sure your pages load as fast as possible by reducing image sizes and eliminating unnecessary HTML

    3. Strategically place your target keyword in the title, meta description, and H1 tags

    I know what you’re thinking:

    You just said that this DOESN’T matter in 2018! Why are you now recommending this?
    Skeptical (and possibly slightly annoyed) reader
    Skeptical (and possibly slightly annoyed) reader 

    Here’s the thing:

    I didn’t say that the strategic placement of keywords is a bad idea. It’s just not the be and end all of on-page SEO. Nor is it as important as it used to be.

    But it still makes sense to include your target keyword here… if it makes sense to do so.

    We always do this with posts published on the Ahrefs blog.

    free seo tools


    It probably goes without saying, but the keywords meta tag isn’t something you need to use at all. Google doesn’t take it into account. You should leave this tag blank.

    Here are two important reasons why we do this:

    Firstly, when we studied 2M keywords in 2016, we found that there was still a small correlation between rankings and the strategic placement of exact-match keywords.

    Secondly, and more importantly, it helps demonstrate to searchers that the page is the most relevant result for the users search query.

    For example, let’s say you want to buy some new wine glasses so you search in Google for “wine glasses.” Which of the following two results would you be most likely to click?

    Buy Glassware | SITENAME
    Looking for some new glassware? We’ve got all the glassware you need. We live and breathe glassware. #glassware. Seriously, buy some glassware from us? Please?

    Wine Glasses | Glassware | SITENAME
    Shop our versatile range of wine glasses. Red, white and rosé — we get ‘em all. Free shipping.

    For me, it’s the latter. That’s the one with the keyword in the title, and it’s the one that looks to be the best match for the search query.

    Sometimes, however, exact-match keywords can look pretty damn spammy and unnatural when forced into your content. That would be the case if you were targeting the query “keyword tool free.” Having that exact phrase in your content would look weird.

    So it would make a lot more sense to write something like this:

    keyword tool free

    That brings us to an important point:

    You don’t have to shoehorn exact keywords into your content. You can use synonyms, stop words, etc. Google is smart enough to figure things out. Just make sure your content is on point.

    How do we know this?

    Because virtually no page ranks for just one keyword in Google. Most top‐ranking pages also rank for ~1,000 other keywords. Here are just a handful of the 1,200+ keywords for which our guide to search engine submission ranks:

    submit to search engines keywords

    Do you know how many of those keywords are in our content? ZERO.

    Actionable takeaway: Place your target keyword in your title tag, meta description, H1, and wherever else it makes sense to do so. Don’t fret if it’s not an exact match. Google will understand.

    4. Use short descriptive URLs

    Take a look at this URL:


    Can you tell me what that page is about just by looking at the URL? I doubt it. 

    Now take a look at this one:


    It doesn’t take a genius to work out that it’s a blog post about losing weight. That’s because this is an example of a descriptive URL—it tells you what to expect from the page.

    There are a few reasons why this is good practice for on-page SEO.

    Firstly, as we discussed in the previous point, searchers are most likely to click the search result that best matches their search query. Descriptive URLs help cement your page as that result.

    Secondly, descriptive URLs tend to include the keyword(s) you’re targeting.

    important note

    Correlation ≠ causation.

    A possible reason for this correlation is that people often use the URL of a page as anchor text when they link to it.

    06 anchor text in URL

    But what if your current URL structure doesn’t allow you to create descriptive URLs like this? Should you set about restructuring your entire site?

    Here’s what Google’s John Mueller said about that:

    I believe that is a very small ranking factor. So it is not something I’d really try to force. And it is not something I’d say it is even worth your effort to restructure your site just so you can get keywords in your URL.

    In other words, do it if you can. Don’t fret about it too much if you can’t.

    You should also keep your URLs as short and sweet as possible, as we found a clear correlation between the number of characters in a URL and rankings.

    12 characters in URL

    They also get truncated in the search results if you go too long…

    truncated url serps

    … which reduces clarity.

    Actionable takeaway: Aim for short and sweet URLs that are as descriptive as possible. Bonus points if you can include your target keyword in there (without it looking weird).

    5. Use descriptive alt tags for images (and optimize your image file names)

    Here’s a surprising fact:

    8.1 million (3.3%) Americans have a vision impairment. These people might rely on a screen magnifier or a screen reader, or might have a form of color blindness.

    Translation: Roughly 1 in 30 search engine users have a visual impairment and may be using a screen reader and as a result.

    How does this relate to alt tags?

    Alt tags should be used to describe your images. That’s because this text will show on the screen should your image fail to load, or if your visitor is using a screen reader.

    Here’s the HTML syntax for alt tags:

    <img src=”/cute-cat.png” alt=”A picture of a super cute cat.”/>

    You should aim to describe your images as accurately as possible, both in the alt text and the image file name. If that results in the inclusion of your target keyword(s), even better. Just don’t force them.

    In 2016, we studied the results for 2M keywords and found that 50% of pages in the top 10 don’t have their alt tags filled in. There was also a very slight correlation between the use of keywords in alt tags and rankings.

    10 alt tag

    But that was only a study of regular search results.

    For Google Image Search, the results, as well as the correlation, would most likely be very different. That’s another good reason to use alt tags, as explained by John Mueller in this tweet:

    Do you want even more proof that alt tags and image SEO are important?

    Google Search Console reports that the images on our blog have had over 2 MILLION impressions in Google Images over the past three months. That translated into 1,570 clicks to our website from Google Images—not a huge amount, but every little bit helps.

    search console google images

    You’ve probably also seen the “image pack” results in the regular web SERPs.

    Here’s one for “bad links” with an image from ahrefs.com ranking in pole position:

    Image pack results for “bad links”

    This images comes from our in‐depth post about bad links and penalties and has the following alt tag and filename:

    Filename: bad-links.png
    Alt text: bad links

    That isn’t the only one of our images that ranks in the “image pack” results either. We show up for 992 other terms according to Ahrefs’ Site Explorer.

    Organic Keywords report filtered for image pack rankings only, via Ahrefs Site Explorer

    Actionable takeaway: Use descriptive alt tags and filenames for all your images. It’s not much effort, and it’s totally worth doing. 

    6. Use Schema markup (where appropriate) to increase CTR

    Schema markup helps search engines to better understand what your page is about.

    If you’ve ever seen Google search results with star ratings, reviews or images, then you’ve witnessed firsthand the effect of Schema markup.

    Here’s the same result with and without Schema markup to illustrate:

    Google search result with Schema markup

    Google search result without Schema markup

    It doesn’t take a genius to work out why such markup has been proven to increase the ‘clickability’ of web pages in the SERPs. People tend to be drawn to visuals, so anything that helps your page stand out should have a positive effect.

    But you can do way more than that with Schema…

    You can go as far as marking up specific mentions of objects, places, things and more. That means if you have a web page selling a book, not only could you use Schema markup to specify that it’s an ecommerce product page. But you can also specify the books title, price, ISBN, etc.

    schema book

    Is Schema markup a direct ranking factor? Not exactly.

    Here’s what John Mueller said when questioned about it on Twitter:

    Does that mean you should add Schema markup to every single one of your web pages?

    Of course not. Many pages won’t benefit much from Schema markup. Just add it to the web pages that will benefit from it the most.

    Not sure which web pages these are? Take a look at the top-ranking pages for the primary keyword you’re targeting. If many of those pages have Schema markup, then it will likely make sense for you to add it to your page too.

    Learn more about schema markup here.

    Actionable takeaway: Add Schema markup to increase SERP CTR and to help search engines better understand the content on your web pages. 

    7. Increase ‘topical relevance’ to make things easy for Google

    Pop quiz.

    I’m going to list out a few words. They’re all cooking ingredients and apparatus that you would need to cook a simple food item that you’re probably all familiar with.

    See if you can figure out what that food item is, based on the list below.

    • Eggs
    • Frying pan
    • Butter
    • Salt
    • Pepper
    • Spatula
    • Cheese

    Did you get it? (Click here to reveal the answer.)

    If you’re wondering why that’s relevant to on-page SEO, it’s because of something called ‘phrase‐based indexing’ and ‘co‐occurrence.’

    I’ll spare the technical mumbo‐jumbo, but it’s basically the idea that Google can better identify the topical relevancy of content through the co‐occurrence of words and phrases.

    For example, say you have a page with the title tag “TASTY omelet recipe!”

    Google can probably guess what that page is about based solely on this. But that guess will turn to certainty if they see that your page also mentions all of the things mentioned above.

    I mean, it’s unlikely that such a page can be anything but an omelet recipe.

    Now here’s the thing:

    You probably couldn’t write an omelet recipe without mentioning all those words, so there’s no actionable takeaway from that specific example.

    But let’s say you’re working with a client that sells beer brewing equipment.

    You may not have enough knowledge yourself to know that the co‐occurrence of words like “all grain,” “grainfather,” “attenuation,” “flocculation,” etc. on the same page will increase topical relevance.

    That’s where it pays to do some digging and research the kind of things that the top‐ranking results mention. You can do this with Ahrefs’ Content Gap tool.

    Simply paste a few of the top-ranking pages into Content Gap like so…

    content gap all grain

    IMPORTANT: Leave the bottom field blank. Use the “Prefix” mode for all URLs.

    … then hit “Show keywords.”

    You should see something like this:

    all grain brewing content gap results

    Notice that these words and phrases aren’t synonyms but rather topically‐related terms.


    You can also do a TF-IDF analysis if you want to get super technical.

    Actionable takeaway: Include semantically‐related words and phrases to increase the “relevancy” of your page and help Google understand that your page is the best result for your target keyword.

    8. Keep your content simple and readable

    Tis important to writeth for thy audience.
    William SEOspeare
    William SEOspeare

    Imagine if I were to write this entire article in Shakespearean language.

    Chances are most of you would hit the back button faster than you can say “Othello!”

    You’re not alone. Most Americans read at a 7th or 8th‐grade level, meaning that Shakespearean language probably isn’t the easiest thing to understand.

    But I know what you’re thinking: how does this relate to on-page SEO?

    It’s believed that Google looks at user signals (dwell time, time on page, etc.) to influence rankings. So if your copy is complicated and difficult to understand, your visitors will be heading straight for the back button. That ain’t good for those user signals.

    Here are a few tips for keeping your copy nice and simple:

    • Avoid “big” words. Don’t say “proximity” when you could say “near.”
    • Use short sentences and paragraphs: This is a sentence. As is this. And this. See what I mean?
    • Keep things informal: Write how you speak. This isn’t an essay.

    You can use tools like Hemingway to help you with that.

    Actionable takeaway: Keep It Simple, Stupid (KISS)

    Why no mention of ‘LSI keywords’ and synonyms?

    Many on-page SEO guides say to “sprinkle synonyms and LSI keywords” throughout your content. This is poor advice.

    Let me explain why, starting with synonyms.

    Synonyms: a word or phrase that means exactly or nearly the same as another word or phrase in the same language, for example shut is a synonym of close.

    What’s wrong with sprinkling these words throughout your content? Nothing.

    It’s the advice that you somehow make a conscious effort to do this that I have a problem with. Any halfway decent writer will use synonyms naturally as they write.

    For example, here’s an excerpt for a top-ranking page about cars with the best MPG performances. Highlighted are all instances of the word ‘vehicle’—a synonym for ‘cars.’

    vehicles synonym

    Do you think the author made a conscious effort to “sprinkle synonyms” here? I doubt it. 

    Now, what about “LSI keywords?”

    LSI keywords: words closely related to another word. 

    Sticking with the cars example, some “LSI keywords” might be autonomous, engine, fuel, diesel, petrol, Ferrari, etc.


    LSI keywords are a bit of a non-thing. I won’t go into too much detail about that here, but I recommend reading these two articles by Bill Slawski if you want to learn more.

    Here, we run into the same issue once again—if you’re a decent writer, these words will appear naturally. No extra effort needed. And if they don’t, that’s fine. No need to force them in.

    So, to clarify, the reasons I believe you shouldn’t bother ‘optimizing’ for this stuff are two‐fold:

    1. You don’t really need to: If you wrote a cracking piece of content in the first place, then it’ll already be pretty “well‐optimized.”
    2. You shouldn’t waste time on such things: I know some SEOs love experimenting. But most of us just want to know how to rank in the simplest possible way. In other words, for every Nick Eubanks reading this article (hello, Nick!), there are probably a thousand of you just looking for practical advice. That’s who this article is for.

    Final Thoughts

    On-page SEO is about more than shoehorning a few keywords into meta tags.

    It’s about fulfilling search intent and giving searchers what they want. That’s the most important step. If you don’t pull that off, no amount of “optimization” will help you rank.

    But, of course, it’s still important that you keep the “big G” happy.

    Does that involve including keywords in your meta tags? Yes, partially. However, it’s not always totally necessary, and its only part of the puzzle—a small one, at that.

    Did we miss any cool on-page SEO tips in this guide? Let us know in the comments.

    • Linking websites 685
    • Tweets 621
    Data from Content Explorer