“Page has no outgoing links”: what it means and when to ignore it
An SEO audit says a page has no outgoing links. Find out whether it is a real dead end or a false alarm, check the rendered page, and fix it in the template, with Next.js and WordPress examples.
On this page
“Page has no outgoing links” means a crawler loaded the page and found no links in it that lead anywhere. Not to other pages on your site, not to other sites. It is a dead end. Sometimes that is a real problem and sometimes it is nothing, so the first job is to work out which. This guide shows how to tell, how to check what a crawler actually receives, and how to fix it once instead of page by page.
Is it a real problem? Triage first
Most reports of this issue fall into a few groups. Work out which group your page is in before changing anything.
| Page type | Real problem? | What to do |
|---|---|---|
| Normal page with a header, footer or menu | Yes | The menu is probably not in the response. See the next section. |
| Thank-you, confirmation or error page | Usually not | Add noindex, and a link home for the visitor. |
| Page behind a sign-in | No | Keep it out of search with noindex and robots.txt. |
| PDF, image or other file | No | Ignore. Files have no links by nature. |
What counts as a link, and what does not
A crawler follows an anchor with a real address in its href. Several things that look like links do not count: an anchor whose href is just #, one that runs javascript:void(0), a mailto: address, and a link to a spot on the same page. A page whose only links are these is flagged, even though it looks fully linked in a browser.
Check the rendered page, not the source
Many sites build their menu with JavaScript. “View source” shows the page before the script runs, and some crawlers read only that. To see what a crawler may see, run this in a terminal and count the anchors:
curl -s https://example.com/page | grep -o "<a [^>]*href" | wc -l
If that prints 0 but you can click links in your browser, the links only exist after JavaScript runs. Search engines that render JavaScript will usually find them, but many other crawlers will not. The safer fix is to render the navigation on the server so the links are in the first response.
Fix it once, in the template
A missing menu or footer affects every page that uses the template, so fix the layout, not the individual URLs. Three common causes:
- Click handlers instead of links. A button that calls
router.push()works for people but is not a link to a crawler. Use a real anchor. In Next.js that is<Link href="/pricing">, not<div onClick={...}>. - Menu loaded after the page. If the menu is fetched on the client, move it into the server-rendered layout.
- A blank theme template (WordPress and similar). Landing page and “blank” templates often remove the header and footer. Switch the template or add the menu back.
// Not a link to a crawler
<div onClick={() => router.push("/pricing")}>Pricing</div>
// A link
<Link href="/pricing">Pricing</Link>For pages you want kept out of search, use noindex, not robots.txt
If a page is a dead end on purpose, tell search engines not to index it with <meta name="robots" content="noindex">. Do not rely on Disallow in robots.txt alone to hide a page that is already known. A blocked page cannot be crawled, so the noindex on it is never seen. Use robots.txt to save crawling and noindex to remove from results. We use both for our signed-in app pages.
A real case from our own site
An Ahrefs crawl of auditmatic.app reported one page with no outgoing links: /ai. It was not a broken page. It is a signed-in app screen that a public docs page links to, so the crawler followed the link and received an empty shell, because the real content only loads after sign-in. The fix was not to add links. We marked every signed-in page as noindex with a response header, which works even for pages that render only in the browser, and added the app paths to robots.txt. The lesson: the finding was correct, but the right response was to keep the page out of search, not to decorate it.
How many pages is too many?
One thank-you page is nothing. If a large share of your indexable pages are flagged, the template is broken, and that is worth fixing this week. If it is one or two utility pages, set them to noindex and move on.
Check that the fix worked
Run the curl command above again and confirm the count is no longer zero, then audit the site again so the issue clears from the report. An AI agent can do the whole loop for you: see how to run an SEO audit with Claude Code. For the rest of the audit, work through the technical SEO audit checklist, and see how to fix a meta description that is too long for another common small finding, or title tags that are too long.
Frequently asked questions
Do pages with no outgoing links hurt SEO?
Not as a penalty. The harm is practical: a dead-end page gives visitors and crawlers nowhere to go next, so it adds nothing to how your site is explored.
Should I link to other websites?
Link out when it helps the reader, for example to a primary source. It is not a ranking trick, and an internal link satisfies this check.
Is this the same as an orphan page?
No. An orphan page has no links pointing to it. A dead-end page has no links going out of it. They need different fixes.
Do footer and menu links count?
Yes, if they are real anchors in the page's HTML. That is why one fix to the template can clear the issue on every page that uses it.
Run it on your own site
An audit lists every page with no outgoing links, along with the other findings on the site.