Internal links are how visitors and Google move through a site and how ranking value spreads from strong pages (like the home page) to the rest. This guide covers orphan pages and all internal-link checks.
| Where | Check name | Flagged when |
|---|---|---|
| Site crawl | Orphan pages (notice) | A crawled page (other than the start page) has no internal links pointing to it from the other crawled pages |
| Audit, Links | Internal links | The page has fewer than 5 internal links |
| Audit, Links | Same link used more than 3 times | One URL is linked more than 3 times on the page |
| Audit, Links | nofollow tag | Links on the page carry rel="nofollow" |
| Audit, Technical & security | Meta nofollow | The page has <meta name="robots" content="nofollow"> |
| Audit, Links | Link have discernible text | A link has no text, for example an icon-only link without a label |
Find the affected pages in the app
- Site crawl › open the crawl › Issues › Orphan pages lists the URLs (the first 20; Export for all).
- Site crawl › Pages: click a page to open its details. Internal links in shows how many internal links point to it (0 or 1 = needs more links).
- Click depth in the details (and the Depth column) shows how many clicks the page is from the start page; important pages should be at depth 1 to 3. The details panel also has Run page audit.
- Site crawl › Links: chip Internal, search a URL to see which pages link to it (Found on) and with which Anchor text. The Nofollow column shows nofollowed links.
- Audit report › Links (open the report from Audits) shows the number of internal and external links on the audited page.
- Compare the crawl with the XML sitemap: pages in the sitemap that the crawl never reached have no crawlable links. See Fix: Crawl finds few pages.
Orphan pages
How we detect it
After the crawl, the app counts the internal links from other crawled pages that point to each page. A page that returns 200 with zero counted links (other than the start page) is an Orphan page (notice).
Why it matters
Pages with no internal links are hard for Google to find and look unimportant, so they rank poorly or don’t get indexed. Internal links also pass ranking value.
Common causes
- If the page was created and never added to a menu or linked from content → it was forgotten.
- If it was removed from the menu during a redesign → the link went, the page stayed.
- If it is an old, duplicate or test page → it should probably not exist.
- If it is an ads landing page → it is unlinked on purpose.
Fix: basic
- The page should rank → add links (steps 4–6).
- Old, duplicate or test page → 301 redirect it to the closest live page, or delete it and let it return 404/410 (how to add redirects); remove it from the sitemap.
- Ads-only landing page → set it to noindex (how to set noindex); it doesn’t need internal links.
- Add 2 or 3 contextual links from related pages, with descriptive anchor text (“emergency boiler repair”, not “click here”).
- Add the page to a hub: a services overview, a locations page, a category or a “Related articles” block.
- Put important pages (services, locations, top categories) in the main menu or footer.
Fix: expert
A contextual link in body text:
<p>Most leaks we fix come from worn valves. If water is coming through the ceiling,
see our <a href="/emergency-plumber-leeds/">emergency plumbing service</a> or read
<a href="/blog/how-to-turn-off-your-water/">how to turn off your water supply</a>.</p>
Links must be real <a href="…"> elements. Links made with onclick or buttons are not followed by Google or by the crawler.
Platform steps
WordPress
- Menu: Appearance › Menus (or Appearance › Editor › Navigation) › add the page › Save Menu.
- In content: open a related post, select text, press Ctrl+K, search for the page › Update.
- Suggestions: Yoast SEO Premium shows internal linking suggestions in the editor sidebar; Rank Math has Link Suggestions (enable under Rank Math SEO › General Settings › Links).
- Related posts: add a Query Loop block filtered by category, or use the theme’s related posts option in the Customizer.
Shopify
- Menu: Shopify admin › Online Store › Navigation › Main menu or Footer menu › Add menu item › Save menu.
- Products: add orphan products to a collection (Products › product › Collections field), which links them automatically.
- Blog articles: add links in the article body, or a “Related products” section in the theme editor.
Webflow
- Add the page to the navbar or footer component, or add a Collection List of related items to the CMS template. Publish.
Wix
- In the Wix Editor (open the site from the Wix dashboard): Site Menu › Manage Menu › + Add Menu Item, or add text links on related pages. For blog posts, turn on Related Posts in Blog settings.
Squarespace
- In your Squarespace account, open the site and add the page to Main Navigation or Footer Navigation in the Pages panel, or link it from a text block.
Verify the fix
- Open the source pages and check the new links work.
- Site crawl › open the crawl › Crawl again, then Compare: Orphan pages should move to Fixed issues, and Internal links in goes up for those pages.
- Optional: in Search Console, Links › Internal links shows Google’s count (updates over weeks).
Automation
Assisted: link opportunities can be found automatically from page topics; inserting links needs WordPress admin (post content), the Shopify Admin API or a CMS API, with a human check of anchors.
Internal links
How we detect it
The audit counts internal links on the audited page. Fewer than 5 fails (“Only N internal links”). The value shows “N internal, N external”.
Why it matters
Internal links spread ranking strength across the site and keep visitors moving to the next step.
Common causes
- If the page is a landing page with no menu → navigation was removed.
- If the content has no links → links were never added in the body.
- If the menu is built with JavaScript or buttons → links aren’t real
<a href>elements.
Fix: basic
- Add a short “Related services” or “You may also need” list with 3 to 5 links at the end.
- Link the first mention of each related topic in the body.
- Link to the parent page (for example from “Boiler repair Leeds” to “Plumbing services”).
- Use descriptive anchors; avoid “click here” and “read more”.
Fix: expert
Use the HTML example under Orphan pages. Check that menu items are <a href> elements: Ctrl+U and search the menu label.
Platform steps
All platforms
- Add links in the page editor as described under Orphan pages › Platform steps.
Verify the fix
- Open the report in Audits and click Run again. Internal links should show 5 or more.
Automation
Assisted: same access as Orphan pages.
Same link used more than 3 times
How we detect it
The classic audit scanner counts how often each URL is linked on the page. More than 3 times shows Same link used more than 3 times.
Why it matters
Repeating the same link clutters the page and weakens the anchor text signal. It is a minor issue.
Common causes
- If the page has cards → image, title and “Read more” each link to the same page.
- If body text repeats the link → every mention of a topic was linked.
Fix: basic
- Link only the first mention in body text.
- On cards, wrap image and title in one link instead of separate links.
- Keep menu and footer links; they’re expected.
Fix: expert
One link around a whole card:
<a class="card" href="/services/boiler-repair/">
<img src="/img/boiler.webp" alt="Engineer repairing a combi boiler" width="400" height="300">
<h3>Boiler repair</h3>
</a>
Platform steps
WordPress (Elementor / block themes)
- In card or post widgets, turn off separate links on the image or the “Read more” button where the title already links.
Verify the fix
- Open the report in Audits and click Run again; the line should no longer appear.
Automation
Manual: needs theme or layout changes.
nofollow tag
How we detect it
The classic audit scanner lists links on the page that carry rel="nofollow". In the crawl, Site crawl › Links shows a Nofollow column.
Why it matters
A nofollow tells Google not to pass ranking value through the link. On internal links that only hurts your own pages.
Common causes
- If internal links are nofollow → a plugin or theme option added it, or links were copied from an old site.
- If external links are nofollow → often correct (paid, affiliate, user comments).
Fix: basic
- Find them: Site crawl › open the crawl › Links, chip Internal, look at Nofollow; on one page, Ctrl+U and search
nofollow. - Remove nofollow from internal links (see Platform steps).
- Keep nofollow,
rel="sponsored"orrel="ugc"only for paid, affiliate and user-generated links.
Fix: expert
<!-- before -->
<a href="/services/" rel="nofollow">Our services</a>
<!-- after -->
<a href="/services/">Our services</a>
Platform steps
WordPress
- Block editor: select the link › link settings › untick Mark as nofollow (Rank Math/Yoast option) › Update.
- Elementor: link options (gear) › untick Add nofollow › Update.
Shopify / hand-coded
- Remove
rel="nofollow"from the link in the page ortheme.liquid.
Verify the fix
- Crawl again in Site crawl: the Nofollow column shows no internal links.
Automation
Automatable: internal nofollow can be removed in bulk via WordPress admin (post content) or theme files.
Meta nofollow
How we detect it
The classic audit reads the page’s robots meta tag (the no_follow statistic) and shows Meta nofollow under Technical & security.
Why it matters
A page-level nofollow tells Google not to follow any link on the page, so nothing on it passes value.
Common causes
- If every page has it → WordPress Discourage search engines is on (adds noindex, nofollow), or a staging setting was copied to live.
- If one page has it → the SEO plugin’s advanced setting was changed on that page.
Fix: basic
- Ctrl+U and search
name="robots". - Change it to follow (see Platform steps; background: Google’s robots meta tag docs).
Fix: expert
<!-- remove or change -->
<meta name="robots" content="nofollow">
<!-- to -->
<meta name="robots" content="index, follow">
Also check the server doesn’t send an X-Robots-Tag: nofollow header:
curl -sI https://example.com/page/ | grep -i x-robots-tag
Platform steps
WordPress
- Yoast: edit page › Yoast SEO › Advanced › Should search engines follow links on this content? › Yes › Update.
- Rank Math: edit page › Advanced › Robots Meta › untick No Follow › Update.
- Settings › Reading › untick Discourage search engines from indexing this site › Save Changes.
Shopify / hand-coded
- Delete or change the tag in
layout/theme.liquidor the page template › Save.
Verify the fix
- Ctrl+U shows
index, followor no robots tag; curl shows noX-Robots-Tag: nofollow. - Open the report in Audits and click Run again. Meta nofollow should pass.
Automation
Automatable: via WordPress admin via plugin (robots meta) or theme files; header changes need server SSH.
Link have discernible text
How we detect it
The classic audit scanner checks each link for text. Icon-only links without a label fail: “Some links do not have a discernible text”. In ”+” audits, Lighthouse may show Links do not have a discernible name or Links are not crawlable.
Why it matters
Links without text can’t be understood by screen readers or by Google, so they pass no context.
Common causes
- If they are social icons, a search icon or an arrow → icon-only links.
- If they are linked images → the image has no alt text.
- If they are
<a href="#"></a>→ empty links left by the theme.
Fix: basic
- Give icon links a label: in page builders, fill the ARIA label or Link label field on icon and button widgets.
- Give linked images a meaningful alt text (it becomes the link text; see Fix: images › alt text).
- Delete empty links.
Fix: expert
<!-- before -->
<a href="https://www.facebook.com/smithplumbing"><svg>…</svg></a>
<!-- after: aria-label -->
<a href="https://www.facebook.com/smithplumbing" aria-label="Smith Plumbing on Facebook"><svg aria-hidden="true">…</svg></a>
<!-- or: visually hidden text -->
<a href="/search/"><svg aria-hidden="true">…</svg><span class="sr-only">Search</span></a>
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
Platform steps
WordPress (Elementor)
- Social Icons widget › each item › Link options › set the label; Icon widget › Advanced › Attributes
aria-label|Facebook.
Shopify
- Social icons in most themes already include hidden text; if not, add
aria-labelinsnippets/social-icons.liquid.
Verify the fix
- Open the report in Audits and click Run again; the line should pass.
Automation
Assisted: labels can be generated from link targets; inserting them needs theme or builder access.
Common questions
If a page is in the XML sitemap, is it still an orphan?
Yes. A sitemap helps Google find a URL, but internal links tell Google the page matters and pass ranking value to it. Link to every page you want to rank from at least one relevant page.
How many internal links should a page have?
The audit's Internal links check passes at 5 or more. Most content pages should link to 3 to 5 closely related pages from the body text, on top of the menu and footer.
Should internal links ever be nofollow?
Almost never. Use nofollow for paid, sponsored or untrusted external links. Internal nofollow doesn't save crawl budget and stops value flowing to your own pages.
Why are there orphan pages the crawler found anyway?
The crawler counts how many links from other crawled pages point to each page. A page can be reached and still have no counted internal links. Treat the list as pages that need links.
Related articles
- Fix: Broken internal links (4xx) and broken resources
- Fix: Crawl finds few pages — redirects, robots.txt, login walls and JavaScript links
- Fix: content — word count, keyword placement and readability
- Crawl a whole website
Still need help?
Ask in the chat inside the app, or send us a message on the contact page. You can also browse all help topics.