Often because nothing on your site points to them. A page that no other page links to is very hard for a search engine to find and even harder for it to judge as important. You wrote it, you published it, and then you left it standing on its own with no way in.
This is one of the most common problems we find when we audit a site. There is good content sitting three clicks from nowhere, getting no traffic, while the team assumes the topic just does not rank.
Internal linking is the cheapest fix in SEO. It costs nothing, needs no new content, and you control all of it.
Internal linking is the practice of linking from one page on your site to another. Google''s own link best practices documentation says plainly that Google uses links as a signal when determining the relevancy of pages, and to find new pages to crawl. So internal links do two jobs at once: discovery and meaning.
Discovery is the obvious one. Crawlers move through the web by following links, so a page with no incoming links has no natural route in. A sitemap helps, but a sitemap is a list of addresses, not a signal that any of them matter.
Meaning is the underrated one. When you link to a page and describe it in the surrounding sentence, you are telling Google what that page is about in your own words. Do that from several relevant pages and you have built a consistent picture of the topic rather than a single claim.
Google states that it can generally only crawl a link if it is an HTML anchor element with an href attribute. That is the whole requirement. A span styled to look like a link, an element with an onclick handler, or a framework-specific routing attribute may not be parsed as a link at all.
This trips up modern sites more than old ones. Google''s documentation lists examples it does not recommend, including anchor elements using javascript in the href and elements using routerLink instead of href. Those may look and behave like links to a person and be invisible as links to a crawler.
Google does say links inserted with JavaScript are crawlable, as long as the inserted markup is a proper anchor element with an href. So the issue is not JavaScript itself. The issue is producing something that only behaves like a link rather than being one.
If you are unsure, Google recommends checking the rendered HTML with the URL Inspection Tool in Search Console. That is the quickest way to see what Google actually got, and it is one of several checks we run through in our guide to using Google Search Console.
Google''s guidance is that good anchor text is descriptive, reasonably concise, and relevant to both the page it sits on and the page it points to. Their suggested test is simple: read the link text on its own, out of context, and see whether you can tell what the destination is about.
By that test, most anchor text on most sites fails. Google specifically calls out click here, read more, website, and article as too generic. They carry no information, so they teach Google nothing and they tell readers nothing either.
The opposite mistake is stuffing. Google warns against cramming every related keyword into the link text, and notes that keyword stuffing violates their spam policies. Their advice is to ask whether the reader needs those words to understand the next page. If it feels forced, it is.
Two smaller points from the same documentation are worth knowing. Google says the words before and after a link matter, so the whole sentence carries context. And it advises against chaining links next to each other, because readers cannot tell them apart and each link loses its surrounding text.
For most sites, no, and the industry oversells this. Google''s own crawl budget guide opens by saying that if your site does not have a large number of rapidly changing pages, or if your pages are crawled the same day they are published, you do not need to read it. That is Google telling most site owners to ignore the topic.
The guide defines who it is actually for: large sites with a million or more unique pages that change roughly weekly, medium or larger sites with ten thousand or more pages changing daily, and sites with a large share of URLs marked as discovered but currently not indexed in Search Console. If none of that describes you, crawl budget is not your problem.
We say this because crawl budget gets used as a scary reason to do things that do not help. If your marketing site has 60 pages, Google is not rationing its attention. Your pages are not ranking for reasons that have nothing to do with crawl capacity.
That third category is the one worth watching. A pile of discovered but not indexed URLs is a real signal, and weak internal linking is one plausible cause, because Google found the address but never got a reason to treat it as important.
There is no magic number, and anyone who gives you one is guessing. What matters is that every link is there because a reader might want it. A 1,500 word article naturally supports a handful. A page with 40 links crammed in exists to move link signals around, and it reads that way.
We aim for two or three contextual links in a typical article, placed where the reader is most likely to want more depth. That is a judgement about reading, not a quota. If a piece genuinely touches five related topics we cover elsewhere, five is fine.
What we avoid is the related posts block at the bottom. Those links carry no context, sit where attention is lowest, and are usually generated by category rather than relevance. A link inside a sentence that explains why you would click it is worth several of them.
Inside the body text, in the section where the topic comes up. A link in the middle of a relevant paragraph gets clicked because the reader is thinking about that exact thing. The same link in a sidebar or footer is background noise that people have trained themselves to ignore.
Position also affects the context signal. Google says the words around a link matter, so a link surrounded by a sentence explaining the topic gives more information than the same link floating in a list. Placement is not just about clicks.
Navigation and footer links still have a job. They give every page a route back to your important pages and establish site structure. They just are not doing the work that contextual links do, and one cannot substitute for the other.
An orphan page is a page with no internal links pointing to it. It may be in your sitemap and it may be published, but nothing on your site connects to it. These pages tend to underperform badly, and most sites have more of them than they expect.
The usual way to find them is to crawl your own site with a tool like Screaming Frog, Ahrefs, or Semrush, then compare the list of pages the crawler reached by following links against the full list in your sitemap or CMS. Anything in the second list but not the first is orphaned.
Blog posts are the biggest source. A post gets published, sits on the blog index for a week, then falls off page one of the listing and becomes unreachable except by search. On a Webflow site the CMS collection page keeps it addressable, but addressable is not the same as linked.
Fixing this is mechanical and worth doing. For each orphaned page, find two older pages where it is genuinely relevant and add a contextual link. We do a version of this every time we publish, which is how a set of related posts gradually becomes a connected topic rather than a pile, and it is the practical half of building topical authority.
They help indirectly, and we would be careful with anyone claiming a direct measured effect. AI systems still need to find and retrieve your pages, and crawlers still find pages by following links. A page nothing links to is a page that is harder for any crawler to reach, whether it feeds a search index or a language model.
There is a second reason we think it matters, and this one is about meaning rather than access. When several pages on your site link to one page and describe it consistently, you are repeating a clear association between a topic and a URL. That kind of consistent description is the same thing that helps machines connect entities to pages, which we go into in our piece on entity SEO.
What we would not do is restructure a whole site on the theory that internal links are an AI ranking factor. Treat them as what Google says they are, a crawl path and a relevance signal, and the AI benefit follows from the same work.
Find your orphan pages and link to each one from two relevant older pages. Then go through your existing links and rewrite every click here and read more into something that describes the destination. Those two passes take an afternoon and cover most of what internal linking can do for a normal site.
After that, make it a habit rather than a project. Every time you publish, add links to the new page from two older ones. Done consistently, that single rule keeps a site connected without anyone ever running an audit again.
If you want someone to crawl your site and tell you where the gaps are, we are happy to do that with you. Reach out at phoenix.studio and we will show you what we find.
Tell us where you want to go. We'll tell you how we'd get you there.