# Navigation: the links that decide what gets crawled

The menu is not decoration. It is the set of links on every page of your site, so it decides what a crawler meets first and how far everything else sits from the home page. Five decisions make a small site easy to crawl, and one mistake makes a menu invisible.

Updated 2026-09-15 · Source: https://porteur.ai/guides/navigation-and-seo

## Why the menu is a crawl decision

A site is a graph of pages joined by internal links. The home page and everything linked from the navigation are crawled most often. Pages three clicks deep are crawled less and refreshed later. Pages nobody links at all are found only through the sitemap and rank worst.

Your menu appears on every page, so every link in it is a link from the whole site. That is why it is the strongest internal signal you control, and why putting forty things in it helps none of them.

> One question settles most menu arguments: which five pages should a crawler and a stranger reach from anywhere on the site.

## A menu has to be made of links

This is the mistake that makes a whole section invisible. A crawler follows anchors with an href. A div with a click handler is not a link, however it looks and behaves for a mouse.

```html
<!-- Invisible to a crawler -->
<div class="nav-item" onclick="router.push('/guides')">Guides</div>

<!-- A link -->
<a href="/guides">Guides</a>
```

- Every menu item is an anchor with a real path in the href attribute.
- Your framework's link component renders one. A styled button does not.
- A menu that only exists after JavaScript runs is a menu the AI crawlers never see, because they do not execute scripts.
- Keep the link text as the words people use: Pricing, Guides, Free tools. The text of a link is the description of the page it points at.

## How many links belong in a main menu

There is no ranking limit on links per page. There is an attention limit, and an equity one: every link in the menu shares the same strength, so ten items give each less than five.

| Site | Main menu | What sits below |
| --- | --- | --- |
| A new product, under twenty pages | Pricing, Docs, one content section, Sign in | Nothing. The footer carries legal and contact |
| A product with a library | Product, Pricing, Guides, Tools, Sign in | Section hubs link the pages inside them |
| A store | The main categories, up to about seven | Subcategories on the category page, not in the menu |

Everything that does not earn a place in the menu is reached from a hub page instead. A hub with an overview and the links to its section keeps those pages two clicks from the home page without crowding the header.

## Mega menus, when a site has outgrown a simple header

- They are fine for search as long as the links are anchors in the HTML, present whether or not the panel is open.
- Rendering the panel's links only on hover, from a script, hides them from crawlers. Hidden in CSS is fine; absent from the DOM is not.
- Group by what a visitor is looking for, not by your internal structure. A visitor does not know your team's names for things.
- Do not put your entire catalogue in there. A hundred sitewide links pass very little to each and turn every page into a directory.
- Give each group a heading that is itself a link to the section hub, so the group has a page behind it.

## Mobile navigation is the version Google indexes

Google indexes the mobile version of pages. If your phone menu shows a shorter list than the desktop header, the shorter list is the one that counts as your site's navigation.

- Keep the same links in both. A hamburger menu that hides them behind a tap is fine, as long as the anchors are in the HTML.
- Do not drop sections on mobile to save room. Drop them everywhere or keep them everywhere.
- Tap targets far enough apart, and a menu that closes without swallowing the back button.
- Check it with URL Inspection: Test live URL, then look at the rendered HTML for your menu's links.

## The footer, and what it is actually for

A footer that links a hundred pages passes little to each and adds nothing to the crawl. It is not a second sitemap. It is where the things a visitor looks for at the end of a page live.

- Legal: terms, privacy, the company details.
- Contact and support, as a real address rather than a form nobody answers.
- The section hubs, one link each, not every page inside them.
- The machine-readable doors if you publish them: the sitemap, llms.txt, an API or an MCP endpoint.
- Social profiles, which also serve as the sameAs list in your Organization markup.

## What earns a place in the menu of a small site

1. **List the jobs a visitor arrives with** Understand what this is, see whether it fits my case, know what it costs, start using it, get help. Five jobs, five candidates.
2. **Name the page that does each job best** One page per job. If two pages claim the same job, that is a merge waiting to happen, not two menu items.
3. **Check the traffic you already have** Search Console's pages report shows what people actually land on. A page taking a quarter of your clicks and reachable only from a blog post belongs in the menu.
4. **Put everything else behind a hub** A section hub with an overview and the links inside it. The hub is in the menu; its pages are one click further, which is close enough.
5. **Add the breadcrumb** It gives a second path up the hierarchy on every inner page, and with BreadcrumbList markup it replaces the URL line under your result.

A worked example. Yourproduct.com had nine header links, including three feature pages nobody visited. They moved to a product hub, the header dropped to five, and the guides section gained a place. Nothing was deleted, and every page stayed within two clicks of the home page.

## How to check your own navigation

- View source on a page and search for the menu's link text. If the hrefs are not in the HTML, that is the first fix.
- Crawl the site and look at the click depth column. Anything deeper than three clicks from the home page is relying on the sitemap alone.
- List the pages with no internal links pointing at them. Orphans are usually pages that were removed from a menu and never given another home.
- Count the sitewide links. If the number is in the hundreds, the footer has become a directory.
- Read the crawl stats report. Crawl spent on parameters, old redirects and dead ends is crawl not spent on the pages in your menu.

## Questions

### How many links should be in a navigation menu?

There is no ranking limit, only an attention limit. Five to seven items in the main menu works for most product sites, with section hubs carrying the pages below. Every extra menu item dilutes the strength the others get from being sitewide.

### Are mega menus bad for SEO?

No, as long as the links are real anchors present in the HTML whether or not the panel is open. They become a problem when they inject a hundred sitewide links, or when the links only exist after a script runs.

### Do footer links help SEO?

A few do: the section hubs, the legal pages, contact. A footer linking a hundred pages passes very little to each and does not replace contextual links inside your content.

### Does the order of menu items matter?

For visitors, yes: the first and last items get the most attention. For crawling, the order is far less important than whether the link exists in the HTML and how many links share the menu.

### Should the logo link to the home page?

Yes, it is the convention every visitor expects and it gives the home page a sitewide link. Keep an accessible name on it, because a logo with no text is a link with no anchor text.

### What about breadcrumbs, do I need them with a menu?

They do a different job. The menu says where the site's main sections are; the breadcrumb says where this page sits in them. On a site with sections it is worth adding, with BreadcrumbList markup so the trail can replace the URL in results.

## Read next

- [Internal link](https://porteur.ai/glossary/internal-link): An internal link is a link between two pages on the same site. Use them to show which pages matter, pass context with anchor text, and lift rankings.
- [Internal linking for a small site: which pages link to which](https://porteur.ai/guides/internal-linking-for-seo): Decide which pages rank. Build hubs, write clear anchors, fix orphans, and crawl your site to map links you control.
- [Click depth](https://porteur.ai/glossary/click-depth): Click depth is the clicks from home to a page. Keep key pages within three clicks. Learn how to measure it and cut depth without spammy links.
- [Breadcrumbs: the navigation, the markup, and what Google shows](https://porteur.ai/guides/breadcrumbs): Add breadcrumb navigation that helps visitors, improves internal linking and gives Google a clean trail to show in results, with JSON-LD examples.
- [Orphan pages: finding the pages nothing links to](https://porteur.ai/guides/orphan-pages): Find orphan pages on your site, why they happen, how to compare crawl, sitemap and Search Console, and what to do: link, merge, redirect or remove.
- [E-commerce site structure: categories, products, and the links between](https://porteur.ai/guides/ecommerce-site-structure): Design your ecommerce site structure so the right page ranks: pyramid, URLs, breadcrumbs, facets, pagination, and links that move buyers.
- [Internal link checker](https://porteur.ai/tools/internal-link-checker): Paste your home page and get up to sixty pages fetched and their links read: the orphans, the pages sitting deepest, the least and most linked, links per page.
- [Ahrefs vs Screaming Frog: an index against a crawler](https://porteur.ai/compare/ahrefs-vs-screaming-frog): One knows the web, the other knows your site. What each sees, which question each answers, and why a small site usually ends up with both.

Paste your URL and the free check crawls the site the way a search engine does: what your menu reaches, what sits too deep, and the pages nothing links to at all. Free check: https://porteur.ai/
