Nofollow Internal Links: When to Use Them and When to Remove Them

Nofollow Internal Links: When to Use Them and When to Remove Them

Last month I opened a crawl of a client’s 140 page store and found 612 nofollow internal links on it. Nobody on their team knew why they were there. A developer had added them in 2017 to “save link juice” for the money pages, and the tag had quietly copied itself into every template since. If you are wondering whether nofollow internal links help or hurt, my answer after auditing sites since 2019 is that they almost never help, and on most sites I remove nearly all of them.

There are a few exceptions, and they matter. So this post starts with the verdict table I use on audits, then explains where the habit came from, and then walks through the 20 minute check I run on every new client site.

Nofollow internal links: my verdict by link type

This is the table I paste into audit reports. It covers the places where I most often find nofollow internal links, meaning any tagged link that points to the same domain.

Internal link points toNofollow it?What I do instead
Category, product or service pagesNo, neverPlain followed link with descriptive anchor text
Blog posts and guidesNo, neverFollowed link from related posts
About, contact, privacy, termsNoLeave them followed. They are tiny PageRank sinks and they send trust signals
Login, cart, checkout, accountOptionalBlock in robots.txt or add noindex. Nofollow alone does not keep them out
Faceted filters and sort parametersSometimesCanonical tags plus robots.txt rules. Nofollow only as a backup hint
Internal search result pagesSometimesNoindex the results and disallow the search path
User generated links to your own pagesLeave as isMost comment systems add ugc or nofollow to everything. Not worth fighting

Seven rows, and only three of them are even a “sometimes”. That ratio matches what I see in the field. On the last 22 sites I audited, 9 had nofollow internal links somewhere, and in 8 of those 9 cases the tag was doing nothing useful.

Where the habit came from

Before 2009, a trick called PageRank sculpting was popular. The theory went like this. A page has a fixed amount of PageRank to pass. If it has ten links and you nofollow five of them, the other five each get a double share. So SEOs put nofollow on the links to their about page, contact page and privacy policy, hoping to push more authority to the pages that made money.

Then Matt Cutts, who ran Google’s webspam team at the time, explained that the math had changed. With ten links and five nofollowed, the five followed links still get one tenth each. The share that would have gone through the nofollowed links is not handed to the others. It just disappears.

Read that again, because it is the whole argument. A nofollow on an internal link does not save anything. It throws away the authority that link would have carried to another page on your own site, a page that would have passed part of it back through its own navigation. You are burning your own fuel.

That was over 15 years ago. I still find nofollow internal links in themes, in old plugins, and in the heads of developers who learned SEO from a 2008 forum thread.

What Google says about it today

Google’s own documentation on qualifying outbound links is blunt here. The nofollow value is meant for links you do not want your site associated with. For links inside your own site, the same page tells you to use a robots.txt disallow rule instead. In other words, the tag was designed for other people’s pages, not yours.

There is a second problem. Since the 2019 update to how nofollow works, the attribute is a hint and not a command. Google can choose to crawl through it anyway. So if your plan was to hide a staging folder or a thank-you page behind nofollow, that plan has had a hole in it for years. I covered the external side of that change in my post on whether nofollow links help SEO, and the same logic applies inside your own domain.

So nofollow internal links are weak at blocking and wasteful at sculpting. That leaves very little for them to do.

The store with 612 of them: what happened when I removed the tags

Back to the client from the intro. It is a furniture store on WooCommerce with about 140 indexable URLs. The theme’s mega menu had nofollow on every link to the four “boring” pages, and a related products widget had been customised to nofollow everything it showed. That widget alone accounted for more than 400 of the 612 tagged links.

The effect of all those nofollow internal links was easy to see in the crawl. Thirty one product pages had zero followed internal links pointing at them. They were in the sitemap, so Google knew they existed, but as far as link signals went they were orphans. Eleven of them were not indexed at all.

We did one thing in the first sprint. We stripped the attribute from the widget and the menu, and left cart, checkout and account links alone. No new content, no new backlinks that month.

  • Within five weeks, 9 of the 11 missing product pages were indexed.
  • Average position for the product page group moved from 38 to 27 in Search Console.
  • Clicks to those pages went from roughly 40 a month to a little over 100.

Those are small numbers and one site. I am not going to pretend this is a study. But it cost two hours of developer time, and I have seen the same direction of result on three other sites since 2022. Fixing internal links is the cheapest ranking work I know, which is why it sits near the top of my on-page SEO checklist.

How I find nofollow internal links in 20 minutes

You do not need a paid tool for a site under 500 URLs. Here is the exact routine.

  1. Crawl the site with Screaming Frog. The free version handles 500 URLs. Let it finish, then open the Links tab at the bottom and pick the filter called “Internal Nofollow Outlinks”. That single report lists every page carrying a tagged internal link.
  2. Export and sort by destination. Use Bulk Export, then Links, then All Inlinks, and filter the sheet to rows where Follow is false and the destination is your own domain. Sort by destination URL. Patterns jump out fast. One widget or one menu usually explains most rows.
  3. Check the page level meta tag too. A robots meta tag with “nofollow” in the head makes every link on that page nofollow, internal ones included. I find this on old landing pages copied from PPC templates. Screaming Frog shows it under the Directives tab.
  4. Spot check in the browser. Right click a suspicious link, choose Inspect, and read the rel attribute. This confirms whether the tag comes from the theme, a plugin, or the content editor.
  5. Group every hit into three buckets. Remove, replace with a better control, or keep. The verdict table above does most of the sorting for you.
  6. Fix at the source. Editing 400 links by hand is pointless if the widget adds them back tomorrow. Change the template or the plugin setting, clear the cache, and crawl again to confirm the count dropped.

On WordPress the usual sources of nofollow internal links are related post widgets, mega menu plugins with a “nofollow” checkbox per item, affiliate link managers that tag every link they touch, and page builders where someone ticked the box once and then duplicated the block forty times.

What to use instead of a nofollow

Most people who add nofollow internal links are trying to solve a real problem. They have just picked the wrong tool. Match the goal to the control.

Goal: keep a page out of the index

Use a noindex robots meta tag on that page. It is a directive, Google obeys it, and the links on the page can still pass signals. Good for thank-you pages, internal search results and thin tag archives.

Goal: stop Google wasting crawl on junk URLs

Use robots.txt disallow rules for the path or the parameter. This is the fix for cart, checkout, account areas and endless filter combinations. On a store with 40,000 filter URLs, this matters far more than any link attribute. One warning: do not combine disallow and noindex on the same URL, because Google cannot read a noindex tag on a page it is not allowed to fetch.

Goal: merge duplicate versions of a page

Use a canonical tag that points to the main version. Sorting options, tracking parameters and print views all belong here.

Goal: send more authority to money pages

Add links, do not subtract them. Link to the priority page from your strongest pages, put it in the main navigation if it deserves the spot, and trim footer menus that list 60 URLs nobody clicks. I laid out the full process in my internal linking strategy for small websites. Sculpting by addition works. Sculpting by nofollow stopped working in 2009.

When I leave nofollow internal links alone

I said “almost never”, so here are the exceptions from real audits.

  • Huge faceted catalogues. On a 300,000 URL marketplace I worked on in 2024, filter links carried nofollow as a second layer behind robots.txt rules. Removing it would have done nothing good, so it stayed.
  • Login and account links. Harmless either way. The pages behind them are blocked or gated already. I do not bill a client for developer time to change something with zero upside.
  • Comment and forum links. If a user drops a link to one of your own pages in a comment, the system tags it ugc or nofollow like every other comment link. Writing custom code to exempt your own domain is not worth the risk of opening a spam hole.
  • Internal redirect links for affiliates. Links to paths like /go/brand/ that redirect to a merchant should stay nofollow or sponsored, and the /go/ folder should be disallowed. Technically internal, commercially external.

Notice what is missing from that list. With nofollow internal links there is no case where a normal content page, product page or company page is better off with the tag on links pointing to it.

Five rules I give every client

  1. Every page you want ranked needs at least three followed internal links from relevant pages.
  2. Never use nofollow to control indexing. Use noindex or robots.txt.
  3. Never use it to “save” authority. The math does not work that way.
  4. Audit after every theme change, plugin install or site migration. That is when stray tags sneak in.
  5. Keep nofollow, sponsored and ugc for links that leave your site, which is what they were built for.

If you would rather hand the whole thing over, internal link cleanup is part of the first month in my link building services, because there is no point paying for new backlinks while your own site leaks the authority they bring.

Questions people ask me about nofollow internal links

Do nofollow internal links hurt SEO?

They can. Each tagged link drops the authority it would have passed to another page on your site, and pages that only receive nofollow internal links behave like orphans. A handful on login or cart links does no harm. Hundreds across menus and widgets usually do.

Should I nofollow links to my privacy policy and terms pages?

No. This is the classic PageRank sculpting move and it stopped working in 2009. The authority is not redirected to your other links, it is simply lost. Leave those links followed.

Does nofollow stop Google from crawling or indexing an internal page?

Not reliably. Since 2019 Google treats the attribute as a hint, and the page can still be found through sitemaps, other links or external sites. Use a noindex tag to keep a page out of the index and robots.txt to block crawling.

How do I find nofollow internal links on my site?

Crawl the site with Screaming Frog, open the Links tab and apply the Internal Nofollow Outlinks filter. The free version covers 500 URLs. Also check the Directives tab for pages that carry a nofollow robots meta tag, since that affects every link on the page.

Is it safe to remove them all at once?

For normal content, product and company pages, yes. I remove them in one release and recrawl to confirm. The only ones I review one by one are links to filters, internal search, affiliate redirects and account areas, where another control such as robots.txt should be in place first.