Free SEO audit for new clients — claim yours
Home/Blog/SEO/Related Posts Modules: Internal Links That Actua…
SEO

Related Posts Modules: Internal Links That Actually Help

Related Posts Modules: Internal Links That Actually Help
Table of contents
  1. What a related posts block actually does for readers and for Google
  2. Automated, curated or hybrid: how your related links get picked
    1. How popular WordPress tools decide what is “related”
  3. The relevance rules I would set before switching anything on
  4. Where the block sits and how many links it should show
    1. Thumbnails, excerpts and anchor text
  5. Is your related posts module invisible to Google?
  6. Keeping thin, old and noindexed pages out of the block
  7. Measuring whether anyone clicks the related links
    1. Setting up a related_post_click event in Google Tag Manager
    2. A worked example of reading the numbers
  8. Related products on ecommerce pages: a different job
  9. Questions site owners ask about related posts widgets
    1. Do related posts links count as internal links for SEO?
    2. How many related posts should I show?
    3. Should I use a plugin or pick related posts by hand?
    4. Can a related posts block hurt my rankings?
    5. Does Google care where the related posts block sits on the page?
  10. Where to start with your related posts block this week
  11. Further reading on related posts seo
  12. Sources for this related posts guide

Most business owners treat the “Related posts” box at the bottom of their blog as a small design detail. You install a plugin, it shows three thumbnails, and you never look at it again. Many also believe it is an easy SEO win: more links, more pages found, better rankings.

The truth sits in the middle. A related posts module is one of the few internal linking tools that runs on every single article you publish, which makes it powerful. But that also means a bad setup repeats the same mistake hundreds of times. I have seen blocks that send every reader to a 2019 announcement post, a deleted page, or a thin tag archive, and nobody noticed for years.

In this guide, let me explain in plain words what these blocks actually do, how to choose the rules that pick the links, where to place them, how to stop them from promoting weak pages, and how to measure whether anyone clicks. I will finish with ecommerce “related products,” which follow slightly different rules.

A related posts module is an automated or hand-picked list of links to other articles on your site, usually shown after the main content. It does two jobs at once.

For readers, it answers the question “What should I read next?” Someone who just finished an article about roof leaks may want to know about gutter cleaning or insurance claims. If you show them that, they stay. If you don’t, they leave.

For Google, it creates internal links. Internal links help Google discover pages, understand how pages relate to each other, and see which pages you consider important. If you are new to this idea, our lesson on internal linking basics covers it in simple steps. Google’s own rule is short and clear:

“Every page you care about should have a link from at least one other page on your site.”

— Google Search Central, Link best practices for Google

A related posts block is a simple way to make sure that happens, especially for older articles that slowly lose links as your homepage and blog index fill up with new content. Sam Underwood describes this kind of sideways linking well in the Ahrefs guide on site navigation:

“Related navigation helps users move sideways across a site hierarchy”

— Ahrefs (Sam Underwood), Website Navigation Best Practices for SEO

In brief: your main menu and categories move people up and down your site. Related posts move them sideways, between pages at the same level. Both matter, and they work best together. If you want the wider picture of menus, footers and breadcrumbs, read our guide to website navigation for SEO.

There are three ways to fill a related posts block. Each one has real trade-offs, so let me lay them out side by side.

ApproachHow it worksStrengthsWeaknessesBest for
Fully automatedA plugin or script scores posts by shared tags, categories, words in the title and body, or reader behaviorNo ongoing work; new posts get linked from day oneCan pick weak, outdated or loosely related posts; hard to steerLarge blogs and publishers with hundreds of posts
Fully curatedAn editor chooses the related links for each post by handMost relevant links; you control which pages get supportTakes time; goes stale when you publish new postsSmall sites with fewer than 50 posts
HybridAutomation fills the block, and you override it on key pagesScales well, while your money pages get hand-picked linksNeeds a plugin or theme that supports manual overridesMost business blogs between 50 and 1,000 posts

The Ahrefs guide makes the same practical point I would make to any client:

“You can manually add these types of links. But ideally, you’d automate them to reduce the burden on site admins.”

— Ahrefs (Sam Underwood), Website Navigation Best Practices for SEO

I agree with that, with one addition. Automate the bulk, but hand-pick the links on the 20 or 30 pages that bring in most of your traffic or leads. Those pages carry most of your internal link value, so where they point matters most.

It helps to know what the common tools actually do, because their defaults shape thousands of links on your site.

  • Jetpack Related Posts looks at post content, categories and tags, and does the matching on WordPress.com servers, so it does not load your own server. It shows up to six posts, and its documentation says it stays hidden when it can’t find enough good matches: “Related Posts will not appear unless we think we can show at least 3 good results” (Jetpack support). Results are cached for up to 12 hours.
  • YARPP (Yet Another Related Posts Plugin) scores posts on titles, content, tags, categories and custom taxonomies, with a weight for each and a “match threshold” a post must reach. According to its WordPress.org listing, version 5.15.0 changed the default to stop comparing titles and bodies and lowered the default threshold from 4 to 1. The listing also shows it was last updated “2 years ago,” so check compatibility before you rely on it.
  • Theme-built blocks often just show the newest posts from the same category. That is not really “related.” It is “recent,” and it constantly shifts links toward your newest content.

That last point is the one I see most. If your theme shows “More from this category” sorted by date, your oldest articles slowly lose their related links as you publish. That is how good evergreen posts become orphan pages without anyone deleting a link.

The relevance rules I would set before switching anything on

Whatever tool you use, the quality of the block depends on the rules behind it. Here is how I would set them up, step by step.

  1. Clean up your categories first. If half your posts sit in “Uncategorized” or in a category called “News,” any tool that matches on categories will produce poor results. Aim for categories that each describe one clear topic.
  2. Prune your tags. Tags used on only one post add nothing to matching. Tags used on 200 posts make everything look related. Keep tags that describe real subtopics and are used on roughly 3 to 30 posts.
  3. Weight taxonomy above body text. Shared words in the body can create odd matches. Two posts that both mention “budget” may have nothing else in common. A shared, well-chosen category or tag is usually a stronger signal.
  4. Set a minimum match score. If your tool supports a threshold, start with the default and raise it until obvious mismatches disappear. Showing two strong links is better than four weak ones.
  5. Exclude whole groups of pages. Exclude announcements, job posts, event recaps, thin news items and anything with a noindex tag. Most tools let you exclude by category or tag.
  6. Add manual overrides on your key pages. For your top pages, choose the related links yourself, and point them at the commercial or high-value articles you want to support.
  7. Spot-check 20 random posts. Open them, read the block, and ask: “Would I recommend these three posts to a friend who just read this one?” If the answer is no on more than three or four, go back to step 1.

Step 7 is the one most people skip. It takes about half an hour, and it is the only way to see what readers actually see.

Placement changes who sees the block. Number of links changes how much attention each one gets. Here are the common placements and how I think about them.

PlacementWho sees itTypical link countMy view
Right after the article bodyReaders who finished or skimmed to the end3–5The default I recommend for most blogs
Inline, mid-article (“Read also:”)Most readers, including those who never finish1–2Useful for one strongly related post; easy to overdo
SidebarDesktop readers; often hidden or pushed down on mobile4–6Weak on mobile; fine as a second block on desktop
Below comments or in the footerVery few readersAnyLow value for readers; still a link for Google if it is in the HTML

There is no magic number of links. Google’s link guidance warns against crowding links together: “Don’t chain up links next to each other; it’s harder for your readers to distinguish between links” (Google Search Central). A related block with a clear title and a short, separate list for each link avoids that problem.

Also keep in mind that the related block is only one part of the total links on a page. If your menu, sidebar, footer and related block already add 150 links, adding six more changes little. If you want to know how many is too many, our guide on how many internal links per page goes into that question.

Thumbnails, excerpts and anchor text

Most blocks show a thumbnail and a title. Some add an excerpt. Here is what each does:

  • The title is your anchor text. Make sure the link wraps the post title, not a “Read more” button. Descriptive anchors tell readers and Google what the target page is about.
  • Thumbnails get attention. They make the block look clickable. If the image is also a link, give it an alt text or mark it as decorative and keep the title link next to it, so you don’t create empty or duplicate links.
  • Excerpts add repeated text. Long excerpts repeated across hundreds of pages create the same block of text on page after page. Keep them short or drop them. Our article on boilerplate content explains why repeated blocks deserve a light touch.

This is the technical point that catches many sites. Some related posts widgets load with JavaScript only after the reader scrolls near the bottom of the page. Some third-party “recommended content” widgets load inside an iframe from another domain. In both cases, the links may never appear in the version of the page Google processes.

Google is clear that its crawler does not act like a person scrolling:

“Google Search does not interact with your page.”

— Google Search Central, Fix lazy-loaded content

Google’s link guidance also says that, in general, Google can only crawl a link if it is an <a> element with an href attribute. A div with an onclick handler is not a crawlable link.

Here is how to check your own block in about five minutes:

  1. Open Google Search Console and paste one of your blog post URLs into the URL Inspection tool.
  2. Click Test live URL, then View tested page, and open the HTML tab.
  3. Search the HTML for the title of one of the related posts you can see on the live page.
  4. If you find it inside an <a href="..."> tag, Google can see the link. If you don’t find it, the block is invisible to Google.

If the block is invisible, ask your developer to render it on the server as plain HTML links. You can keep the visual design exactly the same.

Keeping thin, old and noindexed pages out of the block

A related posts module is a promotion machine. Whatever it links to gets links from many pages. So the most important question is: what is it promoting?

Here are the page types I exclude on almost every site:

  • Posts with a noindex tag. Linking to pages you have told Google not to index wastes the link.
  • Posts that redirect. If a post was merged into another, the block should link to the final URL, not a redirect.
  • Time-bound posts: event recaps, “we are hiring” posts, holiday hours, old promotions.
  • Thin posts under a few hundred words that you plan to merge or delete. If you have done a content audit, use its “prune” list as your exclude list.
  • Tag and author archive pages, unless they are real, useful hub pages.

Then do the opposite for your strongest pages. If a post brings in leads, sales or a lot of search traffic, make sure it appears in the related block of every closely matching article. That is a cheap way to strengthen it.

A crawler can help you find problems at scale. Run an internal link audit and look for related posts links that point to 3xx, 4xx or noindexed URLs. If the related block has a CSS class, many crawlers can extract links from just that block, which makes the check much faster.

Most sites never measure their related posts block. That is a pity, because the data tells you whether the block works for readers, not just for Google.

GA4’s enhanced measurement will not do it for you. Its “outbound clicks” event fires when someone clicks a link “that leads away from the current domain,” according to Google Analytics Help. Clicks on internal links, including related posts, are not part of it. You need a small custom event.

Setting up a related_post_click event in Google Tag Manager

  1. Make sure the related block has a stable CSS class or ID, for example .related-posts. Ask your developer to add one if needed.
  2. In Google Tag Manager, create a trigger of type Click – Just Links, set to fire on Some Link Clicks where Click Element matches CSS selector .related-posts a, .related-posts a *.
  3. Create a GA4 Event tag with the event name related_post_click. Add parameters such as link_url (Click URL) and link_text (Click Text).
  4. Preview the container, click a related link, and confirm the event fires once.
  5. Publish, then register link_url as a custom dimension in GA4 so you can see which targets get clicked.

A worked example of reading the numbers

Let me give you a hypothetical example. Say your blog gets 20,000 article pageviews a month. After you add the event, you see 300 related_post_click events in a month.

  • Click rate of the block: 300 ÷ 20,000 = 1.5% of pageviews.
  • You then move the block from below the comments to directly after the article, and cut it from six links to four.
  • The next month shows 640 clicks on 21,000 pageviews: 640 ÷ 21,000 = about 3.0%.

In this example, the change roughly doubled the share of readers who continued to another article. These numbers are made up for illustration. There is no reliable public benchmark for related posts click rates, so I suggest you compare your block against its own past performance, not against someone else’s number.

Also look at which links get clicked. If one target gets most of the clicks across many articles, that topic is in demand. It may deserve a fuller guide or a spot in your main navigation.

On an online store, the “related” block on a product page usually has a sales job first and an SEO job second. Shopify, for example, generates product recommendations automatically and lets you add your own related products on top of them through its Search & Discovery app, as described in the Shopify Help Center.

The Ahrefs guide lists the common ways sites build these links: shared taxonomy (same category), shared parent page, similar content and “frequently bought together.” Each one serves a different goal.

Block typeExampleMain goalSEO note
Similar productsOther waterproof hiking bootsHelp undecided shoppers compareSpreads links across products in the same category
Complementary productsBoot waterproofing spray, wool socksIncrease order valueLinks across categories; good for accessories that get few links
Frequently bought togetherBoots + insoles bundleIncrease order valueDriven by behavior; can be unstable and change often
Recently viewedProducts this visitor saw earlierBring shoppers back to a productPersonal to each visitor, so usually no fixed links for Google

A few ecommerce-specific rules I follow:

  • Don’t link to out-of-stock or discontinued items unless they are coming back soon. It frustrates shoppers and wastes links.
  • Use at least one block that is in the HTML. Personalized blocks that load per visitor are fine for sales, but they don’t give Google a stable set of links.
  • Think about depth. Products buried five clicks from the homepage can be lifted closer with cross-links from popular products. Our guide to click depth explains why that matters.

For the sales side of these blocks, our article on upselling and cross-selling in ecommerce covers the tactics. If you run a larger store, our ecommerce SEO service includes internal linking work like this.

Yes, as long as they are normal HTML links (an a tag with an href) that appear in the HTML Google renders. Google treats them like any other internal link. If the block only loads after a scroll or a click, Google may never see it, so check the rendered HTML in Search Console’s URL Inspection tool.

For most blogs, three to five is enough. Fewer links get more attention each, and a short list is easier to keep relevant. On product pages you can show more, because shoppers browse in a different way, but the same rule applies: only show items you would happily recommend.

For a small site with fewer than 50 posts, picking by hand is realistic and gives the best results. For larger sites, use automation for the bulk of pages and override it by hand on your top 20 to 30 pages by traffic or revenue.

It can waste value if it keeps pushing links to thin, outdated, redirected or noindexed pages. It can also add near-identical text to every page if it shows long excerpts. Keep the block short, link to pages you want to rank, and exclude weak pages.

Google has not given a rule on this. What we do know is that people click links they can see and that make sense in context. A block right after the article body usually works better for readers than one buried under comments or in the footer.

You don’t need a rebuild to get value from this. In one afternoon, you can do the most important checks:

  • Open 20 random articles and judge the related links as a reader would.
  • Run the URL Inspection test to confirm Google can see the links.
  • Exclude noindexed, redirected, thin and time-bound posts.
  • Hand-pick related links on your top 20 pages.
  • Add a click event so you can see if your changes help.

Related posts are just one part of a good internal linking plan. For the full strategy, read our guide to internal linking for SEO, and use our internal anchor text audit to check the words your links use.

If you would rather have us review your internal links and set this up for you, our SEO team can help. Just get a free quote and tell us a little about your site.

  1. Ahrefs: Website Navigation Best Practices for SEO
  2. Google Search Central: Link best practices for Google
  3. Google Search Central: Fix lazy-loaded content
  4. Google Search Central: SEO Starter Guide
  5. Jetpack: Related Posts support documentation
  6. WordPress.org: YARPP – Yet Another Related Posts Plugin
  7. Google Analytics Help: Enhanced measurement events
  8. Shopify Help Center: Product recommendations in Search & Discovery
Rohit Choudhary
Written byRohit ChoudharyCo-Founder, My SEO Experts

Rohit Choudhary is the co-founder of My SEO Experts and has more than 14 years of hands-on experience in SEO, paid advertising and digital marketing. Since starting out in 2011 he has helped hundreds of businesses grow through practical, data-driven search strategies, and he also serves as a consulting Digital Marketing Director for several US-based companies.

Keep reading

Related articles

Ready to grow your business online?

Get a free, no-obligation proposal tailored to your goals and budget.

CallFree Quote