Internal linking means pointing pages on your own website to each other from within the body text, for example linking from a service page to a relevant blog post, or from a how-to article back to your pricing page. Google uses these links to discover new pages in the first place and to figure out which pages cover related topics. For a small contracting business with a modest site, a handful of well placed links per page is enough, Google doesn’t set a fixed minimum or maximum.

Googlebot mostly finds new pages through links, either from other sites or from within the same site. Google’s own documentation on link structure and crawling states that every important page should be linked from at least one other page on the site. A new service page that isn’t referenced anywhere in the menu, in body text, or in a blog post stays harder for Google to find, even if it’s listed in the sitemap, as covered in How to Create a Sitemap and Submit It to Google Search Console. Beyond simple discovery, Google also reads a kind of weighting from internal links: pages linked from many other relevant pages on the same site tend to be treated as more important than pages reachable only through a single footer link.

Anchor text is the visible, clickable text of a link. Per Google’s own documentation, it uses that text to judge what the destination page is about, independent of what’s actually on that page. A link reading “managed website service” sends a clearer signal than the same link reading “click here” or “learn more.” For a contracting business, that means an article about page speed linking to the managed website service page should use anchor text that names the destination, something like “ongoing website maintenance,” instead of a vague verb. Google’s documentation also warns against repeating the exact same anchor text on every single page or stuffing keywords into link text that don’t belong there naturally. Two or three sensible variants pointing to the same target page is usually plenty.

Not every clickable piece of text on a site actually counts as a link to Google. Per Google’s own documentation on crawlable links, Googlebot reliably recognizes only real HTML links, an <a> element with an href attribute pointing to a URL. A button that navigates to another page through a JavaScript click handler, with no href in the underlying markup, often isn’t picked up as a link at all and contributes nothing to internal linking. The same goes for plain text that looks like an address, something like “more at mr-site.com/pricing,” but isn’t actually marked up as a clickable link. Anyone managing content through a website builder or a custom built frontend should spot check the underlying markup on important internal references and confirm there’s a real <a href="..."> in place, rather than trusting how it looks on screen.

A second, often overlooked issue involves the rel="nofollow" attribute. Google’s own documentation reserves that attribute for links to sources a site doesn’t fully trust, things like user generated comments or sponsored content, not for links within the same site. An SEO plugin or a carelessly copied default setting that applies nofollow to every link on the page ends up stripping internal links of exactly the signal they’re supposed to provide. It’s worth a quick check of the linking settings in whatever platform is in use if internal links don’t seem to be having the expected effect in Search Console despite a clean structure.

A site organized around topics is far easier to link sensibly than a pile of unrelated pages. In SEO practice, a simple pattern has proven useful: a service page or a central guide article acts as the anchor point, and several related blog posts link back to it and to each other. A contractor focused on local visibility, for instance, can link a piece like Local SEO for Contractors to more specific articles on backlinks, business profile setup, or review platforms, while those articles link back to the broader piece in turn. The result is a small, deliberate web of connections instead of links scattered randomly across the whole site.

The most common mistakes on small business sites

The most common mistake is the orphan page: a service page or an older blog post that the sitemap still lists but that no other page links to anymore, often a leftover from a redesign or a menu restructure. Google tends to find these pages less often and treats them as less important, simply because nothing else on the site points to them.

The second mistake is generic anchor text used sitewide. “Click here” or “learn more” tells neither visitors nor Google what waits on the other end, wasting exactly the signal a descriptive link would provide.

The third mistake is a click path that’s too deep. If an important service page sits four or five clicks away from the homepage, both visitors and Googlebot tend to lose momentum before getting there. Most small business sites work best with a flat structure, where every key service page is reachable directly from the main menu and from at least one relevant blog post.

The fourth mistake involves older blog posts that never get updated or relinked. As covered in How Often to Update Your Website Content for SEO, pages like these lose relevance over time. A fresh article on a related topic is the easiest opportunity to link back to older pieces and give them renewed attention inside the internal link network.

A simple linking structure to copy

Page typeLinks toTypical anchor text
HomepageCore service pages, pricing pageName of the service, e.g. “website subscription”
Service pageRelated blog posts, contact pageThe specific question the post answers
Blog postParent service page, 1-2 related postsService name or the neighboring post’s topic
Contact pageNo outbound links neededNot applicable

This basic structure covers most small business sites without needing dedicated SEO software to manage. The key is making sure new blog posts link to at least one existing page from the moment they’re published, instead of sitting as an isolated, unlinked entry in the content folder.

A breadcrumb trail at the top of a subpage, something like “Home / Blog / Internal Linking,” adds a consistent, repeated internal link back to the parent pages. For a contracting business with only a handful of page types, the extra setup usually isn’t worth it, breadcrumbs start paying off once the blog itself splits into several categories, like legal, visibility, and technical topics, and visitors need an easy way to move between them.

Self-audit checklist

  1. Every core service page is reachable from the main menu and from at least one blog post.
  2. No anchor text reads “click here” or “learn more” throughout the site.
  3. New posts link to at least one existing, topically related page as soon as they go live.
  4. Older posts on the same topic get added as related links when a new post publishes.
  5. Spot check a dozen older URLs: does the address still show up in at least one body of text, or only in the sitemap?

Next step

Internal linking stays manageable with little effort as long as new content consistently connects to existing pages, cleaning it up after the fact on a site that’s grown to a hundred pages is a much bigger job. Mr.Site manages several hundred business websites and reviews link structure, anchor text, and orphan pages on an ongoing basis as part of its managed website service, so new service pages don’t end up sitting isolated in the content folder.