Last Updated: Strategy

On-Page SEO: The Complete Guide for 2024 [Interactive]

Author Vince Nero

Matching the intent of the user should always come first and foremost, but if you ever find yourself struggling to get a page to rank, on-page SEO is really what you need to pay attention to.

Luckily, most on-page SEO improvements can be made exactly as they sound – right on the page.

What is On-Page SEO?

On-page SEO is the act of following best practices that Google has laid out as directly affecting ranking factors, on the page itself. This differs from off-page SEO or link building, which can help a site rank better by building the overall authority of the site.

Whether or not these factors help you are not always clear. Some are direct ranking factors, and some are indirect. 

We’ve broken them down into these buckets to help clarify that based on whether or not Google has explicitly defined them as something that can improve your rankings.

We’ve broken them down into two types of recommendations, direct and indirect.

Direct effect on SEO

These recommendations can have an immediate effect on your page’s ranking.

Indirect effect on SEO

These recommendations have the ability to improve your page’s rank over time.

Please keep in mind that in every case listed below, there are exceptions to the rule. If you have any questions, please reach out and we are happy to help explain how these may affect your site.

Click to scroll back to top of the document


Titles, Tags, URLs

Making sure your post title, title tag and post URL are all optimized will have a huge impact on how users understand your page and how well your post will rank.

computer icon showing web site

H1 or Post Title

Keyword Near Front

The post title (not to be confused with the title tag) is one of the most important parts of your post for both the reader and Google. So, you’ll want to make sure you put the keyword near the front.

Unsurprisingly, best practices of on-page SEO are common sense UX issues that are often answered by simply asking yourself, “does this look good?”

Wrap in H1 Tags

In the code of your site, your post title should be wrapped in <H1> tags.

This makes it the largest text on the page, ensuring that the focus of your piece is obvious.

Although wrapping in H1 tags doesn’t impact SEO directly, the size of your title does matter. Google has said they don’t care if you have multiple H1 tags, but realistically, having multiple tags set to the same size won’t help the reader understand the focus of your post.

While it’s not as important for your post title to be as click-worthy as the title tag, if you can match them, you should.

More on the title tag next.

Title Tag

Keep it Aligned with Post Title

The title tag of your post is what will show up in the SERP (Search Engine Results Page). You’ll want to match this to post title best practices like keeping the keyword as close to the front as possible.

Keep Within 600 Pixel Limit

Don’t be afraid to match the post title, but know that Google has a pixel width limit to title tags. Use a tool like the one on Moz’s title tag post to check your length.

Make it Click-Worthy

The other thing to note is that you’re vying for attention in the SERP against all of the other search results, so you want to try to stand out and entice users to click.

How do you do that?

We’ve got a whole post about title tags that outlines our ideology on what drives clicks.

website showing enticing link
website showing enticing link

Here are some ways to achieve this:

  • Lean on your brand name. If you’re a well-known brand, using your brand name can help entice a click because it signals trust. (But remember to keep it within the pixel limit so that it doesn’t get cut off!)
  • Add freshness signals. Post recency is something we’ll cover later, but for timely topics, displaying the year prominently in the title tag can help clickthrough rate as well.
  • Provide an alternative. If all of the posts in the SERP are following one format, can you be the outlier? Can you provide a new take that will help you stand out? For example, for the keyword “move to San Diego” most brands focus on why you should move to San Diego. But the second ranking piece stands out by providing an alternate view with a post about why you shouldn’t move to San Diego. (Note that you don’t want to provide an alternate angle that’s so far away from the intent of the user that it won’t make sense to rank.)
  • Speed. Explain to users how quickly they’ll be able to achieve whatever it is you’re writing about. You’ll find click triggers like “in under a minute” or “in 4 simple steps” in “how-to” queries like “how to make money.”
  • Adding numbers or volume. Research from Buzzsumo found posts with the number 10 in the title receive the most shares, followed by 5, 15 and 7. This is a simple form of adding volume.
  • Complete guides. Users like to know that they’re learning everything they need to know. So, a more specific way of showing volume without using numbers is to use words like “Complete Guide” or “Ultimate Guide.” This way, you’re reassuring the user that they only need to click on your post—no one else’s.
  • Outdoing the competition. Another way to think about adding volume is by outdoing your competition by providing a larger number than what’s currently ranking. As content creators, you always want to try to make something better than what’s currently ranking. This will help you stand out. In a very basic form, this is the principle behind the “skyscraper technique” as popularized by Brian Dean. Keep in mind, though, that not all queries deserve a larger number. Sometimes going shorter than what’s currently ranking can also help your post stand out and even answer the query better. Ross covers this in his post about when the skyscraper technique can fail.
  • Lower Price. This doesn’t apply to every query out there, but in some markets where the price itself is key to the product (like mortgage rates), show off your low prices to entice users to click.
Venn diagram with Brand overlapped by Low Price, Freshness, Speed, and Volume

But wait, is clickthrough rate a ranking factor?!

This is a battle that rages within the SEO community. The crystal clear answer from Google is no, but maybe yes in some cases. The fact of the matter is that if your post is getting clicked on, it means traffic is going to your site, which should be your end goal no matter what.

Post URL

Keep URL as Short as Possible

The URL should be as short as possible while still containing the keyword, but still give the user (and Google) context as to where they are in your site.

Include the Keyword but Avoid Duplicating Keywords

The choice of URL is one of the first areas where users get in trouble due to over-optimization. This is a loose term but somewhat confirmed by Google where you can hurt your rankings by trying to do too much.

Using your main keyword multiple times in a URL is a blatant way to do this. For example, if you write a page to rank for “types-of-flowers,” you shouldn’t say:

Instead you should say:

Not every URL needs to match the title of the post and/or keyword exactly, but it should still contain the same keywords.

graphic of a website showing best practice for the URL

Use Subfolders to Avoid Over-Optimization

Use your site’s architecture to your advantage in giving context on a page.

For instance (following our flower example) if your page is about orchids and is part of a collection of flowers, you can use a URL structure like The user will immediately know they are going to a page about orchids.

Rand Fishkin has a nice Moz post about URL best practices which outlines that balancing act between readable URLs and non-readable URLs.

I know exactly what to expect!

I have an idea of what to expect

I don’t feel good about clicking this one!

Remove Stop-Words Like ‐and, ‐the

Our last minor note is that you don’t need to include stop-words like “the” or “and” as long as the intent of your piece stays the same.


Above the Fold

All of the content in the top third of the page (before a user scrolls) is known as “above the fold” content on a desktop. Optimize this section since this gets viewed first!

Header Image

The header or hero is the first image on your post, and may be the first image a user will see from your brand, so you want to make sure you start out on the right foot.

Keep Style Consistent with Your Branding

Make sure these images are consistent with the rest of your site from a design perspective. Try to use the same colors and styles.

Consider Adding Animated Elements to Make it Stand Out

One easy way to level up your headers and make them stand out is to add animations, just like our content marketing statistics post.

If you have to use stock images, choose unique, high-quality ones. While using stock photos from free stock photo sites like Pexels or Unsplash might sound like a great, low-cost option for your startup, you’ll have trouble distinguishing your post and brand from other startups who also use the same free imagery.

graphic showing a web site with an animated element

Does Google care about you using stock images?

No, they’ve come right out and said that they don’t prefer one over the other (although they did say that in the future they might consider it!).

However, there have been many studies that show users can easily distinguish stock photos from real photos. If a customer feels like you’re being fake from the start, they’ll quickly leave your site.

graphic showing a web site with an animated element

Minimize Image File Sizes

Whichever route you choose to go, you’ll want to keep the file size down. Large header images can easily slow page load speed, which, as we’ll see below, is a ranking factor.


Use Authors Who Are Credible for the Topic and List Author Name

Listing an author isn’t necessary on all pages. For blog posts or news articles where a name carries some level of trust, authors are a positive signal.

More importantly, there are some reports of sites recovering from the Google Medic update after building out author bios because they help illustrate a level of expertise.

(Note: An author name alone may not be enough if it is an unknown person. It is important to also show the user why the specific author is an expert. To do this, build out bio sections like we do at the bottom of our posts or link to an author bio page.)

This is a big part of Google’s big three ranking principles, known as E-A-T or Expertise, Authority and Trust. Marie Haynes does a great job at explaining E-A-T, but also why and how to employ author bios.

Link to or List Bio Where Possible

These bios can typically link to a bio page like Forbes does, or you can list the full bio on the bottom of the page like we do on Siege posts.

Post Date

Dates Can Help Show Freshness

We mentioned previously how putting the year in the title tag triggers people to click. The same is true with the post date. Not every blog post needs a date, but in some industries, such as news, it’s very important.

Part of Google’s algorithm includes a piece that explains Query Deserves Freshness, which essentially says that there are some industries where “fresh” or new content is important.

We have a video on the importance of keeping your content fresh. In a nutshell, you should use the SERP as a guide for how recent your post should be to rank. If all of your competitors produce fresh content, you should too.

In general, old, outdated content can easily bring down your site and rankings if no one reads those posts.

Aside from having the post date on your page, Google also displays the date in the SERP, so having an updated date is just as important—especially if everyone else’s dates are more recent than yours.

What about that study that showed that adding post dates led to a drop in rankings? Let’s dive into that next.

Make Sure Content is Up to Date

Well, if you’re going to display dates, you need to make sure that your content is actually up to date. Suddenly highlighting all of your content from 2013 to Google and your users isn’t going to do you any good.

graphic showing website highlighting the date an article is posted

Don’t Manipulate

One last note here is that, in the past, users have tried to manipulate these dates by updating them automatically. Google has said that this will hurt you in the long run. Essentially, Google will simply stop believing that your dates signal freshness.

They also said in a patent back in 2011 that when changing a date and updating content, you need to update a considerable amount in order for them to recognize your post as “fresh.”

While this was somewhat disproven by Moz back in 2015, it doesn’t do you any good to simply change the date on a post. What value does that provide to the user?

Breadcrumb / Category

Allows User to Click to Other Areas

Simply put, displaying categories can entice users to click through to more posts if they want to see more of what you’ve written about a particular topic.

Display So Google Can Understand Site Structure

There’s a slight difference between the category and breadcrumb, but essentially they serve the same purpose, which is to orient the user. It also helps explain to Google how your site is structured.

Breadcrumbs are typically used in e-commerce sites to designate things like browsing history (which page you clicked on before), product categorization, and site hierarchy (showing your place in the site structure).

Intro Copy

Intro Should Grab Attention

At this point in the piece, you should grab the user’s attention.

One of the worst things a user can do is get to your site and then leave immediately without clicking on anything. That tells Google that users think your site isn’t a great answer to their query.

Don’t worry—you don’t need to be Ernest Hemingway or Malcolm Gladwell to keep a user on your page.

Just keep them reading. We have an entire post of copywriting tips for SEO to help you get started.

Include the Main Keyword

One of the main things is to make sure you use your main keyword in the title paragraph. This helps ensure that both Google and the user see it earlier. Typically the higher information is on the page, the more importance Google will put on it.



Here’s where you need to put the meat of your post. Focus on matching the intent of the user while also doing a better job than what’s currently ranking.

Matching Search Intent

First thing to consider is that you match the search intent. Their “intent” can be inferred from the keyword, but also the results on the SERP.

Use the SERP as Your Guide

Use the SERP as a guide for what to include in your post and how to lay it out. If you see lots of ads and product pages ranking for a particular keyword, then the user is most likely looking to buy.

But if you see a SERP that lists “Top 11 Ways to do X” or “The Ultimate Guide to X,” a user most likely has a very different goal in mind.

Not matching the intent of your keyword is one of the top reasons a post won’t rank.

Match the Intent of the User

Another way of thinking about this is by determining the search intent. There are 3-4 main search intents (depending on who you ask).

Informational – The user wants information about something, like the capital of Texas, or how much it costs to own a boat.

Navigational – The user knows where they want to go and they search for the name of that particular site/store/shop and then will most likely click on the homepage of that site.

Transactional – These are users who want to buy something right now.

You can also roll commercial intent in there, where the user is thinking of buying something but wants more information on it first. This would be a keyword like “candle reviews” or “Samsung TV vs Vizio TV”.

But in essence, you want to figure out if your user wants to navigate, learn or buy. Then you can build your page to match that intent.

So, once you’ve matched the search intent, it’s time to make a better post.

Making a Better Post

Better Does Not Always Mean Longer

You should always think about how you can level up the information out there. This doesn’t always mean making a longer post. Think about the quality of your information, not the quantity.

As we mentioned before, sometimes you can make a newer, fresher post. Other times you can outdo your competitors by listing more results than they have.

Outdo the Competition

But, again, you don’t always need to make something longer just to outrank someone. In some cases you can upgrade the content type.

If your competitor used graphics, make yours animated. If they included a podcast, include a video.

It comes back to what your customers want and answering that query in the best, most unique way possible to serve the user.


Text on Page

The actual post content is where you need to focus on things like the keyword usage and keeping the user engaged.

Using Subheaders

Include Keywords and Related Keywords in H2

As you write your post, use your subheaders to include main and related keywords and topics around your main post topic.

Try to Anticipate Next Questions

Answer questions as users ask them. One easy way to determine these questions is by looking at Google’s People Also Ask box on the SERP.

Wherever relevant, you can include these without forcing them in. If users also ask these questions and you can provide answers without them having to leave your site, you will keep them on the page longer.

What if the questions that I’m seeing in People Also Ask don’t make sense or are repetitive?

If you’re confident that you’ve attacked these questions already, no need to address them more than once. You should be serving the user first, not Google.

Sometimes a question might not make sense to include in your post. That’s fine—don’t try to force a fit where there is none. Occasionally Google might also get these wrong. *GASP* In that case, just ignore.

Add Keywords Throughout

Add Keywords in the Post Where They Fit

In any post that’s centered around a keyword, you’ll want to make sure those keywords also appear throughout the post.

Is there an optimal number of times your keyword should appear in your post?

Unfortunately, there’s no magic number for Google. In longer posts, you should use them more often than in shorter posts.

Use Core Keywords and Semantically-related Keywords

On top of the main keyword, you also want to add semantically related keywords. These are keywords that have to do with your main keyword which will help strengthen the keyword signal to Google and explain what your post is about.

So, if you write a post about jeans, you should include terms like “denim” or “pants.”

How can you find these keywords?

There are tools, such as Clearscope, for this sort of analysis that look at all the posts in a SERP and identify the keywords that appear most frequently.

In addition to these tools, use the related keywords and People Also Ask boxes on Google.

These are keywords that users also search for in conjunction with your core keywords.

Fit them in naturally wherever you can. Chances are, if you’re researching a post as thoroughly as you should be, you’ll naturally hit all of these topics anyway.

What are LSI Keywords?

When adding semantically related keywords to a piece, people often refer to it as Latent Semantic Indexing or using LSI keywords in their pieces. However, the term LSI is a bit of a misnomer according to SEO By the Sea. While Google does like semantically related topics in posts, they aren’t exactly using LSI in their algorithms.

However you decide to look at it, you should include these similar topics in your piece. But you’ll want to make sure that you don’t overuse these keywords to the point where you’re “spamming” the user.

What constitutes spamming?

Google has some fairly obvious guidelines that they lay out in this post, using an example from a fake cigar selling site.

While these guidelines are helpful, you should be able to give it the eyeball test.

Your post (including the headers) should read as naturally as possible. If you’re forcing a keyword into a sentence where you wouldn’t normally put it, then that’s bad for the user experience.

Reading Comprehension Level

Understand Comprehension Levels

There are many reading level tests out there and some plugins like Yoast even grade your copy’s reading comprehension level. This can help you better cater to your audience.

One study of health-related websites online showed that anything above a 7th-grade reading level adds “compromised comprehension.”

Write Simply But Don’t Write Down to Users

Writing to your audience doesn’t mean dumbing it down, though. A quote from Ann Handley’s book Everybody Writes says, “Assume the reader knows nothing. But don’t assume the reader is stupid.”

In other words, speak simply and clearly, and say exactly what you need to say—nothing more.

graphic showing web site indicating a seventh grade reading level is best for general audiences
graphic showing web site indicating a seventh grade reading level is best for general audiences

Avoid Jargon

You should also avoid using jargon, buzzwords and anything else that might alienate readers and make them leave your page early.

So, put simply, you want to increase the time each user spends on your site so that they eventually become customers.


How much of this page have you actually read, not just scanned?

graphic of a website showing one long paraphraph

Use Frequent Paragraph Breaks

The average reader barely reads anything on the page. According to one study from Nielsen Norman Group, only 16% of users read every word on your post.

You can get around this by making your post more scannable. This means doing things like:

graphic of a website showing breaks between paragraphs

Use Bullet Points

  • Chunking content in smaller sections
  • Using smaller paragraphs
  • Using bullet points

This post analyzes the readability of many popular publishers like The Verge and The Outline, then compares their practices from a technical standpoint like font size and paragraph breaks.

There is also a helpful resource from that outlines a lot of the best practices in readability.

All of them essentially say the same thing: There are improvements and adjustments you can make in the design of your post and page that will help the user scan the page in a more organized, efficient manner.

This helps them digest the information and remember it, ultimately making their visit to your post more worthwhile.

graphic of a website showing text broken up by a bullet list
graphic showing website showing a good design layout where the information is easy to digest

Break into Subheaders

Breaking information into smaller sections helps the user understand it better but also makes it more scannable. This helps them digest the information and remember it.

graphic of a website showing text broken up by subheadings



Image use is such an important part of a post that it gets its own section. But it’s more than just choosing the right photos or designs, there are some important things on the back end that you’ll also need to consider.

Post Images

Post images are a great way to break up your content and avoid those walls of text. Make sure that your images are compressed so that they’re as small as possible, without sacrificing the quality of the image (more on this below).

Use Descriptive Alt Text

Alt text is also important with images. This not only helps Google understand what your post is about, making it a ranking factor, but it’s also key to accessibility.

(Just because it’s a ranking factor, you don’t want to stuff keywords into your alt tags. You can get penalized just as easily.)

Web accessibility, as set out by the Web Accessibility Initiative (WAI), aims to make your website’s information accessible to everyone on the web.

The easiest and most direct way that you can do this is by providing descriptive alt text.

To truly understand how alt text is used and to make sure you do it right, try using a screen reader. Google Docs has one built in. Macs also have one in their accessibility features called VoiceOver.

graphic showing a website with code fragment highlighting an image alternative text
graphic showing a website with code fragment highlighting an image alternative text

Compress Image Files

The file size of your images is also very important because it can negatively impact page load speed, which, as you’ll see, can also hurt ranking.

If you use WordPress, we recommend plugins like:

When deciding on the type of file to use for your post images, here’s a quick breakdown:

  • For photographs: .jpg
  • For complex graphics: .png
  • For simple graphics with only a few colors: 8-bit .png

Some non-technical image advice

We covered this with the header image section, but it’s important to reiterate that if you need to use stock photos, choose them wisely. It’s better to invest in top quality photography and/or graphic design whenever possible.

graphic of a website showing an image file should be compressed for better performance
graphic showing best practice for website images that should be compressed for best performance

Avoid Overused Stock Images

You’ll also want to consider the shareability of your images. Depending on the type of post and and if you create custom images (like photography or graphics), users may want to reuse, share and/or link to your images. So, it’s important to plan for this in the design.

To get the most out of your custom post images, you should:

  • Include a URL back to your site so that users can find your original post when linking
  • Add your logo

Quick note on infographics

If our goal is to drive links to a post, we look at these custom post images as “shareable assets.” Including assets like these can help make it easier to build links because it gives the person linking something to share on their website.

Here are some of the best infographics on the web that we gathered that help inspire our work. And although infographics can be overused, they are still very effective.

In fact, we did a video on how and why they still work.

graphic of a stock image website showing many search results for the term rose


Width & Size

Every piece of content on your site should be optimized for the reader.

Post Width

Even the width of a page can have an impact on how a user interacts with it. Generally, thinner is better.

Keep Width 700-800 Pixels Wide

There are varying theories about the ideal post width, but we gravitate towards 700–800px wide. According to Google, “Classic readability theory suggests that an ideal column should contain 70 to 80 characters per line (about 8 to 10 words in English).” So, you’ll want a line break about every 10 words.

graphic showing a website with paragraph widths of 700 to 750 pixels wide
graphic showing a website with paragraph widths of 700 to 750 pixels wide

Or Aim for 50-65 Characters

Others say 50–65 characters is the optimal line length. The point being that the longer the line, the harder it is for the user to track their place when jumping to the next line.

graphic showing a website with paragraph widths of 50 to 65 characters wide

Font Size

Use 18-22 px Font Size For Readability

According to studies, reading ability and comprehension increases at sizes 18–22 points.

If you’re curious, ours is 22px.

You can check yours by using the Inspect element in Google Chrome or using a plugin like WhatFont.

graphic showing a website with magnifying glass over text and code block with font size 20 pixels

Paragraph Breaks

Insert Line Breaks Every 4-5 Lines Max

With web pages chock full of advertisements, white space can feel like a breath of fresh air. When we write posts, we keep them to four or five lines at most. In short, large paragraphs get boring.


Because online users get bored reading large paragraphs.

There’s nothing worse than clicking on a post and getting hit with a wall of text. Not every paragraph needs to be uniform, but keeping them short helps guide the user down the page.

graphic showing a website with paragraphs spaced out for better readability

Vary Paragraph Size

You can also vary the size of a paragraph to help certain information stand out.

This stands out.

So does this.

graphic showing variable paragraph sizes, but spaced out for better readability

Page Speed

Pages Should Load in Under 3 Seconds

You may remember in 2010 that Google outright told us that page speed was a ranking factor. In 2018 they stressed the importance of page speed in mobile. In fact, in a post from the Think With Google blog, they say that the difference between bounce rate probability in pages that takes one second to load versus five seconds to load is 90%!

Use a site like Pingdom to understand how quickly your page loads and how it compares to the rest of the world. Google also has their own Pagespeed Insights tool.

There are various tactics that you can use to make sure your page loads quicker:

graphic showing a representative website loading in under 3 seconds
  • Minify code. Remove excessive code from your HTML, CSS or JavaScript using something like HTMLMinifier or CSSNano. Google lists some resources here.
  • Compress files.Keep the sizes of all of your files as small as possible, including HTML, CSS and JavaScript, using compression software that Google recommends.
  • Optimize your images. Images should be just as large as they need to be, no more and no less. Use .PNGs for vector graphics and .JPG for photography. Then make sure they’re compressed when you or your designer saves them.
  • Cut down on redirects. Multiple redirects can cause excessive HTTP requests, which will make your page slow to a halt.
  • Improve your server response time. To troubleshoot your server response, Google recommends identifying pain points by paying attention to the “Time To First Byte,” which “represents the time that it takes for a user’s browser to receive the first byte of page content.”
graphic showing how to speed up a website by minifying HTML, CSS, and JavaScript

Core Web Vitals

Google’s Core Web Vitals are a specific set of metrics that measure different elements of the user experience on your website.

While Google looks at a variety of metrics to gauge the usability of your site, these are what they deem most important.

You can check your Web Vital scores for each in Google Search Console under “Enhancements”. Google has a great overview of how to interpret the Core Vitals report.

Since Core Vitals will impact rankings (how much it will impact is up for debate), it’s important to understand what they are and how to fix them.

They are:

LCP – Largest Contentful Paint

Put simply, this is the time it takes for the biggest part of your page to load in your main view.

According to Google, LCP needs to occur within 2.5 seconds or less when the user first starts loading the page.

FID – First Input Delay

This is how quickly you can click things and have the browser react. To get a good score here, your pages need an FID of 100 milliseconds or less.

CLS – Cumulative Layout Shift

This looks at how much content moves around on the page while loading. The pages need to have a CLS of 0.1 or less.

While there aren’t any silver bullets for any of these issues, there are some best practices and fixes for common problems. Aside from the many tips in Page Speed section above, here are some other ways to troubleshoot your Core Vitals issues:

  • Set up lazy loading for your images – If your page has a lot of images, you might consider setting up a lazy loading plugin so that images load as the user scrolls to them.
  • Specify image width, height and aspect ratio – This simple fix for CLS will ensure that your image has a space on the page to load into, rather than having it shift the text around after it loads. 
  • Clean up CSS or render-blocking Javascript – A plugin like WP Rocket will help enhance the site loading time by optimizing CSS delivery and avoiding those blockers that can cause important elements to load slower than others.

Google’s Developer’s site has numerous tools and tips on improving your site’s Core Web Vitals.

Internal linking

One of the most important ranking factors is internal linking. This is the easiest way for Google to see and index your post. You want to internally link in two ways:

  • Linking to other internal posts
  • Linking from other internal posts
graphic showing a representative website

Aim for at Least 2-3 Internal Links per 1000 Words

There is no exact number of internal links you should have on the page, but the longer the post, the more links you should use. You should aim for linking out to at least two or three other posts or pages on your site.

How do you know which ones to link to?

The best way to think about it is to add a link whenever you want to provide your users with more context on a topic. You can find the most relevant posts that you’ve written on a topic by Googling your site + the keyword.

graphic showing a representative website with links highlighted
graphic of website indicating links to other pages on the same site

Link to Other Topically Relevant Posts

To find an internal page to link to for “anchor text” in this post, it’s best to search: anchor text

This post that Ross did about varying your anchor text for SEO would be the most relevant choice.

What Is Anchor Text?

Anchor text is the underlined text that you use when linking out to other pages (both internally and externally).

You always want to give context with your anchor text. The text that you chose to underline should help tell Google what that resource is about.

graphic showing a representative website with internal links highlighted

Two other best practices for your anchor text:

  • Vary the anchor text – Too much of the same anchor text can seem spammy to Google.
  • Surround your anchor text – Add words around your anchor text that give context to Google and help them understand where you are linking.

Link From Other Relevant Internal Posts

Similarly, you’ll want to find posts in which to link to your new post so that it becomes part of the site architecture.

You can do this in the same way that you found posts to link to internally. Find posts on your site where your new post would make logical sense to include.

But again, you should never force a link into a post.

Another easy place to add posts internally is to an HTML sitemap. If you have a link to the sitemap on your homepage (commonly found in footers) this will make your new post one click away from the homepage.

For instance, here’s an example HTML sitemap.

This click-depth makes it easier for Google to find/index and will hold more weight than a link that is deeper in your site.

graphic showing a representative website with multiple internal links highlighted
graphic showing a representative website with multiple internal links highlighted

Open in the Same Window

Our last pro-tip with internal linking is to make sure you set the links to open in the same window. This way you can keep users engaged with your site rather than risking them leaving to a new tab.

graphic showing a representative website with links highlighted

External linking

For the most part, you’ll want to follow the same principles for external linking that you do for internal linking. You’ll want to give the user context for the page they are about to visit (this also passes them SEO value, which is the ethical thing to do).

For example, here is how to link to Moz’s category page about on-page SEO, which houses a lot of great resources.

graphic showing a representative website with external links highlighted

Link to Relevant, Authoritative Sources

Linking out to authoritative pages has been shown to help rankings in some cases, but that doesn’t mean that linking out to tons of pages will magically boost you to page one. The links should be to authoritative sources in the field, but don’t add them just to add them.

How many is enough?

graphic showing website opening an external website
graphic of webpage indicating links to another website

Aim For at Least 2-3 External Links

One study from Cara Bowles of Northcutt found that five external links per page is average.

You’ll want to set them to open in a new window so that you don’t lose traffic.

graphic showing website with multiple external links highlighted and opening an external website

Call to Action

Direct the User to Do Something Next

Users need to be told what to do next. Adding a CTA or call-to-action in your post will help lead them to the next relevant task. Those tasks should be tied to the goal that you’ve set up for your page.

These goals might include:

  • Getting them to a conversion page
  • Directing them to a related blog post
  • Offering them a downloadable asset like a whitepaper in return for their information
  • Asking them to subscribe to your mailing list
  • Enticing them to share on social media by providing social share buttons
graphic showing website with a big button

Quick note on social share buttons

Making it easy to share your post is one of the best ways to increase viewership. While social sharing doesn’t directly impact rankings, getting the increased traffic and links that come from social sharing can indirectly help rank.

graphic showing website with a big button


The Golden Rule:
Build for the User

Creating a post that is optimized for on-page SEO best practices can seem like a daunting task. But at the end of the day, everything comes back to the user. If you are adding a feature that is good for SEO but will hurt the user experience, prioritize the user.

The goal is to create something great for the user. Don’t be afraid to experiment and push the boundaries. That is how great content truly gets made. If your post isn’t ranking, come back to this list and tweak accordingly.

graphic showing website with trophy

And remember, there are always exceptions to the rule. This is especially true with every recommendation listed above.

If you have any questions, or are unsure of any of the recommendations in this post, feel free to email or connect on social media.

We’ll also update this list as Google rolls out new algorithm changes. Happy optimizing!

graphic showing website with trophy

Get our free

On-page SEO Checklist

Download Now
Download the on-page SEO checklist

Secret recipes sold here.

Fresh out of the oven.