Internal Linking and Anchor Text
Links are how pages are discovered and how importance flows through a site. The text inside them is how a crawler learns what the destination is about.
- Concept
- Anchor text
- Vary it naturally
- Internal linking structure
- Keep everything within about three clicks of the home page
- Link related pages to each other
- Group related content into hubs
- Breadcrumbs
- Find and fix orphan pages
- External links
- The rel values that matter
- Redirects and broken links
- Important rules
- Common mistakes
- Best practices
- Practice
-
HTML Basics
- What is HTML: The Structure Layer of Every Web Page
- HTML Document Structure: DOCTYPE, html, head and body
- Elements, Tags and Attributes: The Vocabulary of HTML
- HTML Comments: Notes That Ship With Your Code
- Block Level and Inline Elements
- Writing and Running Your First HTML Page
- How a Browser Turns Markup Into a Page
- Text and Formatting
- Links and Navigation
- Images and Media
- Lists
- Tables
-
Forms
- Form Structure: form, action and method
- Input Types: Text, Email, Number, Date and the Rest
- Labels: The Most Important Element in a Form
- Checkboxes, Radio Buttons and Grouping
- select, option, optgroup and datalist
- textarea, File Uploads and Hidden Fields
- Buttons: submit, reset and button
- Built In Form Validation
- GET or POST: What Happens When a Form Is Submitted
- Semantic HTML
- HTML5 Features
- Head and Metadata
- HTML with CSS
- HTML with JavaScript
- Accessibility
-
HTML SEO
- How Google Works: Crawling, Indexing and Ranking
- SEO Friendly HTML Structure
- Titles and Descriptions That Earn Clicks
- Headings and Content Structure for Search
- Internal Linking and Anchor Text
- robots.txt and XML Sitemaps
- Canonical URLs and Duplicate Content
- Structured Data and JSON-LD
- Image SEO
- Core Web Vitals and Mobile Friendliness
- DevTools and Debugging
- Editor Productivity
- HTML Best Practices
- HTML Projects
- Advanced Projects
- Practice and Exams
Concept
Links do three things for search:
- Discovery. A crawler finds new pages by following links.
- Importance. Pages linked to more often, and from more important pages, are treated as more important.
- Description. The text inside a link tells a crawler what the destination page is about.
Internal links are the ones you control completely, which makes them the most reliably improvable part of SEO.
Anchor text
The clickable text is a description of the destination, written by you, on a page you control.
<!-- describes nothing -->
<p>For fee information, <a href="/courses/design/fees">click here</a>.</p>
<!-- describes the destination -->
<p>See the <a href="/courses/design/fees">design course fee structure</a>.</p>| Poor | Better |
|---|---|
| Click here | Design course fee structure |
| Read more | Read more about hostel admission |
| This page | The 2026 academic calendar |
| https://example.edu/courses/design | Our design course |
| Learn more | How the studio year works |
Vary it naturally
Linking to the same page from thirty pages with byte identical anchor text looks manipulative. Vary the phrasing the way normal writing would:
<a href="/courses/design">design course</a>
<a href="/courses/design">three year design programme</a>
<a href="/courses/design">studying design at Riverside</a>Internal linking structure
Keep everything within about three clicks of the home page
Pages buried deeper are crawled less often and treated as less important. If something matters, it should be reachable quickly.
Link related pages to each other
<p>
The studio year is described in detail on the
<a href="/courses/design/studio">studio teaching page</a>, and the
<a href="/courses/design/fees">fee structure</a> lists the material costs
it involves.
</p>Links inside body text carry more weight than links in a navigation block that appears on every page, and they are more useful to a reader.
Group related content into hubs
/courses hub page linking to every course
/courses/design links back to the hub and across to siblings
/courses/data
/courses/civilA hub page linking down, and every child linking back up and across, is the clearest structure a crawler can encounter.
Breadcrumbs
<nav aria-label="Breadcrumb">
<ol>
<li><a href="/">Home</a></li>
<li><a href="/courses">Courses</a></li>
<li><a href="/courses/design" aria-current="page">Design</a></li>
</ol>
</nav>Breadcrumbs make hierarchy explicit, add internal links with meaningful anchor text, and can be shown in the search result itself when marked up with structured data.
Find and fix orphan pages
A page with no internal links pointing at it is only discoverable through the sitemap, and is treated as unimportant. Every page should be linked from at least one other.
External links
Linking out to good sources is not a leak of value. It is a normal part of writing something trustworthy, and pages that cite sources tend to be treated as more credible.
<p>
The figures come from the
<a href="https://example.org/transport/2026" target="_blank" rel="noopener noreferrer">
District Transport Review (opens in a new tab)
</a>.
</p>The rel values that matter
| Value | Use for |
|---|---|
nofollow | Links you do not vouch for |
sponsored | Paid and advertising links |
ugc | Links in comments and user submitted content |
noopener noreferrer | Anything opening in a new tab |
Marking paid links as sponsored is not optional. Undisclosed paid links are a policy violation and can result in a manual penalty.
Redirects and broken links
When a URL changes, redirect the old one permanently:
301 Moved Permanently the URL has changed for good - passes signals
302 Found a temporary move
404 Not Found the page does not exist
410 Gone it existed and was deliberately removedTwo habits worth keeping:
- Update the internal links too. A redirect works, but a chain of redirects wastes crawl budget and adds latency. Point links at the final URL.
- Do not redirect everything to the home page. A visitor looking for a specific page gets a home page and no explanation. Redirect to the closest equivalent, or serve a helpful 404.
<main>
<h1>That page is not here</h1>
<p>It may have moved. Try one of these:</p>
<ul>
<li><a href="/courses">All courses</a></li>
<li><a href="/admission">Admission information</a></li>
</ul>
<form action="/search" method="get">
<label for="q">Search the site</label>
<input type="search" id="q" name="q">
<button type="submit">Search</button>
</form>
</main>Important rules
- Only
a hrefcounts as a link. - Anchor text describes the destination, not the action.
- A page with no inbound internal links is effectively unimportant.
- Body text links carry more weight than sitewide navigation links.
- Paid links must be marked
sponsored. - Changed URLs need permanent redirects.
Common mistakes
- Click here and read more throughout a site.
- Orphan pages reachable only from a sitemap.
- Important pages five or six clicks from the home page.
- Redirecting removed pages to the home page.
- Leaving internal links pointing at redirected URLs.
- Undisclosed paid links.
- Navigation built from clickable
divelements.
Best practices
- Write anchor text that describes the destination in three to six words.
- Link related pages from within body text, not only from navigation.
- Build hub pages and link children back to them.
- Add breadcrumbs on deep pages.
- Run a link checker regularly.
- Update internal links when URLs change rather than relying on redirects.
- Give the 404 page real navigation and a search box.
Practice
- List every link on one page and check whether each describes its destination.
- Find a page on your site with no internal links pointing at it, and add two.
- Count the clicks from the home page to your most important page.
- Rewrite five read more links as descriptive anchor text.