Hướng dẫn về Mega Menu SEO

Cách xây dựng một mega menu đó vẫn giữ crawlable và không dilute của bạn topical structure — đó real-href requirement, đó JS-flyout chế độ lỗi, hidden-until-hover nội dung, link-budget hướng dẫn, mobile parity, và một good-so với-bad markup ví dụ.

Xuất bản lần đầu: 3 thg 7, 2026 · Cập nhật lần cuối: 8 thg 8, 2026 · Advanced
Ngôn ngữ

MỘT mega menu là chỉ liên kết nội bộ wearing một bigger UI, so điều này lives hoặc dies by đó giống nhau rules: mỗi link phải được một real <a href>. Đó single hầu hết phổ biến failure là một JS nhấp/hover flyout đó không bao giờ renders real anchors — điều này looks linked để một người dùng nhưng silently orphans đó các trang. Nội dung hidden until hover không tự động discounted cho đang hidden, miễn là đây là trong đó ban đầu HTML và không fetched chỉ on interaction — Google says đây là taken vào account, though giống hệt xếp hạng weight để luôn-visible nội dung không được ghi lại. có không hard link-count ceiling; đó real lever là organization — group by category với descriptive anchor text. Và của bạn mobile hamburger/accordion cần đó giống nhau crawlable links (và của nó own keyboard-tested disclosure), không một trimmed-xuống version.

Tóm tắt — mega menu là liên kết nội bộ wearing bigger UI, so mỗi rule từ liên kết nội bộ ghi-lên áp dụng unchanged — starting với <a href> requirement. #1 thực-world thất bại là JS nhấp/hover flyout whose links không phải thực anchors: nó looks linked để người dùng nhưng Google có thể’t crawl nó, silently orphaning các trang nếu menu là của họ chỉ liên kết nội bộ. Verify với View Nguồn, không Inspect. nội dung hidden cho đến khi hover không phải tự động discounted cho là hidden miễn là nó trong ban đầu HTML và không fetched chỉ on interaction — CSS-hidden là fine; AJAX-on-hover là risk. Google nói nó takes đó nội dung vào account, though nó hasn’t được ghi lại giống hệt xếp hạng weight để luôn-visible nội dung. Không hard link-count ceiling tồn tại ( 100-link rule là myth), nhưng organization là thực lever: group by category với scannable các cột và descriptive anchor text so bạn không pancake của bạn topical structure. Mobile hamburger/accordion cần giống nhau crawlable links, không trimmed version. Dữ liệu có cấu trúc không phải substitute cho thực links.

Evidence for this claim Google reliably crawls standard anchor elements with resolvable href URLs; script-only navigation may not be parsed as links. Scope: Current Google crawlable-link requirements. Confidence: high · Verified: Google Search Central: Make links crawlable Evidence for this claim Under mobile-first indexing, Google recommends equivalent primary content and links on mobile and desktop versions. Scope: Current mobile-first indexing parity guidance. Confidence: high · Verified: Google Search Central: Mobile-first indexing best practices

Bắt đầu ở đây: mega menu là chỉ liên kết nội bộ

I muốn để set expectations trước getting vào đó specifics. Có không có gì magical hoặc tách biệt về “mega menu SEO.” (bản dịch) «mega menu SEO.» MỘT mega menu là một navigation component được xây dựng hoàn toàn từ liên kết nội bộ, và mỗi rule đó governs liên kết nội bộ generally — đó crawlable-link requirement, descriptive anchor text, đó fact đó có không magic link-count limit — áp dụng ở đây với zero modification. I’m không going để re-derive những; đó liên kết nội bộ bài viết trong này cluster covers them, và này trang cross-references điều này repeatedly.

Điều gì làm mega menus worth của họ own trang là đó they làm một điều thông thường navigation không: they cram an unusually lớn number of links vào một single, repeated, sitewide UI element. Đó concentration là điều gì raises hai distinct risks — an implementation risk (JavaScript flyouts đó không bao giờ render real links) và một structural risk (over-flattening trang web của bạn so Google loses đó grouping tín hiệu). Đó structural side — đó flat-so với-deep, pyramid-so với-pancake argument — là đã covered trong đó kiến trúc trang web và website structure các bài viết trong này cluster, including Mueller line đó over-flattening một site với một mega menu có thể làm điều này so “Google can’t recognize which parts of the site belong together.” (bản dịch) «Google không thể recognize mà parts of đó site belong together.» I’m không going để re-litigate đó ở đây. Này trang là về đó practical xây dựng.

Ở đây một I see break trong wild nhiều hơn bất kỳ khác. team xây dựng mega menu — thường với older jQuery plugin, hoặc hand-rolled React/Vue component — và flyout “links” là thực ra nhấp handlers, router thuộc tính với không href, hoặc nội dung đó chỉ nhận injected vào DOM sau khi hover hoặc nhấp event fires. Google own list của link formats nó có thể’t reliably crawl maps trực tiếp onto chính xác những điều này patterns:

<a routerLink="products/category">Shoes</a>          <!-- no href -->
<span href="https://example.com">Shoes</span>        <!-- not an anchor -->
<a onclick="goto('https://example.com')">Shoes</a>   <!-- onclick, no href -->

reason điều này một là so dangerous là đó ** thất bại là silent.** các trang look linked — human hovers, sees flyout, clicks, và lands on category trang. Không có gì xuất hiện hỏng. nhưng những điều đó đích các trang nhận zero crawl và zero link-equity credit từ mega menu, và nếu mega menu là của họ chỉ liên kết nội bộ, họ become orphan các trang (see liên kết nội bộ bài viết on Vì sao orphans là phát hiện dead end). Bạn có thể có đểàn bộ category tree đó invisible để Google trong khi looking perfectly navigable để mỗi human ai các kiểm thử nó. Đó là lý làm nó survives QA: humans không experience bug.

Cách verify mega menu là thực ra crawlable

không trust được kết xuất trang — kiểm tra nguồn.

  • View trang Nguồn, không Inspect Element. Right-nhấp → View trang Nguồn hiển thị thô HTML máy chủ được gửi. Inspect Element hiển thị trực tiếp DOM sau khi JavaScript có chạy, mà hides chính xác vấn đề bạn’re hunting. nếu của bạn flyout links xuất hiện as <a href="..."> trong View Nguồn, họ’re máy chủ-được kết xuất và safe. nếu họ chỉ hiển thị lên trong Inspect view, đó của bạn red flag.
  • URL Inspection tool (GSC). Chạy trang qua Search Console’s URL Inspection và xem xét được kết xuất HTML / được crawl trang. điều này tells bạn Điều gì Googlebot thực ra ended lên với.

nuance worth stating plainly: có, Google renders JavaScript hiện tại, so JS-được xây dựng menu có thể nhận được crawl. nhưng “có thể” là operative word. verifiable, safe pattern là máy chủ-được kết xuất <a href> links, progressively enhanced với JavaScript cho hover animation và interactivity — không links đó phụ thuộc on JS để exist tại all. sử dụng JS để làm menu behave, không để làm links exist.

là hidden-cho đến khi-hover nội dung discounted?

Đây là câu hỏi mọi người eventually asks về mega menus, và nó một place nơi old SEO folklore là genuinely outdated. mega-menu flyout là hidden cho đến khi bạn hover nó — làm Google discount all những điều đó links vì họ’re không visible on load?

Không tự động — nhưng là precise về điều gì đó có nghĩa là, vì này là nơi mọi người overclaim. Hiện tại Google hướng dẫn và John Mueller own statement chẳng hạn nội dung present trong đó HTML nhưng visually hidden — bên trong một hover flyout, một closed accordion, an inactive tab — là taken vào account, không excluded outright. Mueller, asked trực tiếp liệu hidden tab/accordion nội dung là devalued dưới mobile-đầu tiên lập chỉ mục: “No. Specifically when it comes to content on mobile pages we do take into account anything that’s in the HTML. So if there’s something there that might be visible to users at some point we will include that… so that’s completely normal” (bản dịch) «Không. Cụ thể khi điều này xuất hiện để nội dung on mobile các trang we làm take vào account bất cứ điều gì đó là trong đó HTML. So nếu có điều gì đó ở đó có thể là visible để người dùng tại some point we sẽ bao gồm đó… so đó là completely thông thường» (reported by Roger Montti trong Search Engine Journal’s ghi-lên of đó myth). Google mobile-đầu tiên lập chỉ mục tài liệu lại này operationally, telling bạn đây là fine để move nội dung “into accordions or tabs” (bản dịch) «vào accordions hoặc tabs» cho mobile UX miễn là điều này vẫn giữ tương đương để desktop.

Điều gì đó quote thực ra establishes là availability — nội dung nhận được crawl, được kết xuất, và considered, thay vì thrown out. nó không establish đó hover-hidden nội dung carries giống hệt xếp hạng weight để luôn-visible nội dung; Google hasn’t published bất cứ điều gì on đó cụ thể câu hỏi either way, so treat nó as undocumented thay vì assuming sự tương đương. giữ hai các câu hỏi tách biệt: là nó excluded outright (không — settled) versus làm nó xếp hạng chính xác như visible nội dung (không được ghi lại).

Này supersedes đó older (khoảng 2015–2016-era) line đó nội dung behind tabs và nhấp-để-expand boxes carried ít hơn xếp hạng weight — đó cụ thể claim là dead. Điều gì đó record thực ra hỗ trợ là hẹp hơn: hidden-trong-HTML nội dung không discounted out of hand, nhưng không một có được ghi lại đó của nó weighting là giống hệt để visible nội dung. Nếu bạn đã heard đó old “discounted” version, này là điều gì changed — không đổi điều này cho an equally unsupported “definitely equal” (bản dịch) «definitely equal» version.

Nhưng có một nuance đó trips mọi người lên, và đây là đó toàn bộ game: “hidden via CSS” (bản dịch) «hidden qua CSS» và “fetched only on interaction” (bản dịch) «fetched chỉ on interaction» là hai completely khác nhau điều.

  • flyout đó display:none cho đến khi hover, với links đã sitting trong DOM, là fine — được lập chỉ mục thông thường.
  • flyout whose HTML là fetched qua API call triggered by hover event có thể không bao giờ là được crawl tại all.

đó là không một “hidden content is discounted” (bản dịch) «hidden nội dung là discounted» vấn đề — đây là một crawlability vấn đề. Đó links không exist until một người dùng làm điều gì đó, so một crawler không bao giờ sees them. Conflating những hai các chế độ lỗi là chính xác cách đó myth survives. Giữ them tách biệt: CSS-hidden links = fine; AJAX-on-interaction links = hỏng.

không được ghi lại hard limit on cách nhiều links một mega menu có thể có. Đó old “100 links per page” (bản dịch) «100 links theo trang» rule là một flat myth — đó liên kết nội bộ bài viết debunks điều này trong đầy đủ, so I sẽ không re-argue điều này ở đây. Google line là đó có không magical ideal number.

Nhưng “không limit” không có nghĩa là “dump everything in.” (bản dịch) «dump mọi thứ trong.» Đó real lever không thô count — đây là organization. Này là nơi Mueller thực tế mega-menu câu trả lời là hữu ích. Trong một 2021 Tìm kiếm Central hangout (reported by Barry Schwartz), ai đó described một mega menu với over 1 000 links và một traffic drop sau moving những links từ hover-loaded để static HTML. Mueller practical concern đã không đó number — điều này đã là liệu một huge, undifferentiated set of giống nhau-cấp độ links flattens đó topical grouping. As he put điều này, going cũng flat có nghĩa là “we think, oh, all of these are equally important, and we don’t really know which of these are connected to each other,” (bản dịch) «we think, oh, all of những là equally quan trọng, và we không thực sự know mà of những là connected để mỗi other,» whereas “a pyramid structure helps us a lot more to understand the context of individual pages.” (bản dịch) «một pyramid structure helps us một lot hơn để understand đó context of riêng lẻ các trang.» Notably, he cũng treated reverting some of những 1 000 links để hover-loading — trong khi giữ một crawl path để them qua other, hơn relevant các trang — as một legitimate structural cách sửa, không điều gì đó inherently bad.

practical takeaway: well-organized 150-link mega menu với clear cột các header (Men / Women / Kids’, sau đó subcategories dưới mỗi) preserves hierarchy tín hiệu. unorganized wall của 150 links với không grouping không — ngay cả tại giống hệt count. So:

  • Group by thực category boundaries. Các cột và headings đó mirror của bạn thực tế trang web hierarchy.
  • giữ các cột scannable. handful của items theo group, không alphabetical soup của mọi thứ.
  • giữ anchor text descriptive và cụ thể. Link text đó mô tả đích — không “Shop hiện tại” repeated thirty times.
  • không làm nó exhaustive. mega menu là cho cao-cấp độ phát hiện paths. của bạn đúng priority các trang nên cũng earn contextual, trong-nội dung links, không rely solely on global menu (mà repeats identically on mỗi trang và spreads giống nhau “importance” tín hiệu mọi nơi).

On mobile của bạn mega menu becomes hamburger hoặc accordion. trap là nhóm trimming mobile menu cho UX cleanliness và, trong đang làm so, dropping destinations đó existed chỉ on desktop mega menu. Google mobile-đầu tiên lập chỉ mục hướng dẫn là rõ ràng đó mobile nội dung — navigation được bao gồm — nên là tương đương để desktop. nếu của bạn mobile nav là nơi lập chỉ mục happens (và dưới mobile-đầu tiên lập chỉ mục, nó là), links bạn dropped ở đó có thể là được xem như ít hơn quan trọng, hoặc — nếu mega menu là của họ chỉ liên kết nội bộ — go undiscovered hoàn toàn.

Evidence for this claim Under mobile-first indexing, Google recommends equivalent primary content and links on mobile and desktop versions. Scope: Current mobile-first indexing parity guidance. Confidence: high · Verified: Google Search Central: Mobile-first indexing best practices

So chạy giống nhau audit on mobile đó bạn chạy on desktop: pull lên mobile nav được kết xuất HTML, xác nhận giống nhau destinations là present, và xác nhận mỗi là thực <a href>. giống nhau crawlability kiểm thử, giống nhau parity kiểm thử — chỉ on nhỏ hơn UI.

đó covers destinations. nó không cover interaction — tách biệt kiểm tra, và một nhóm skip. Mobile-đầu tiên lập chỉ mục requires quan trọng đích đặt để là present, không giống hệt interaction layout, so hamburger/accordion là fine as pattern. nhưng whatever disclosure pattern bạn sử dụng cần của nó own keyboard và focus kiểm thử: có thể keyboard-chỉ người dùng reach trigger, open nó, và tab qua destinations, với chính xác aria-expanded state? WAI-ARIA disclosure navigation pattern là worked ví dụ của đó behavior — treat nó as một conforming implementation, không chỉ một. Kiểm thử đích parity và disclosure/keyboard behavior as hai tách biệt truyền/fail kiểm tra, since menu có thể truyền một và fail khác.

Một nhiều hơn myth: dữ liệu có cấu trúc không phải crawlability khắc phục

Some mega-menu các hướng dẫn present SiteNavigationElement schema markup as nếu điều này làm một menu crawlable. Điều này không. Dữ liệu có cấu trúc có thể mô tả của bạn navigation semantically, nhưng điều này không phải một substitute cho real crawlable links — đó giống nhau principle đó liên kết nội bộ bài viết covers, nơi Mueller notes đó ngay cả khi bạn cung cấp URLs trong dữ liệu có cấu trúc, “we don’t use those URLs in the same way as we would use normal internal links on a page.” (bản dịch) «we không dùng những URLs trong cùng cách as we sẽ dùng thông thường liên kết nội bộ on một trang.» Schema là một layer bạn thêm on top of đã-crawlable <a href> links, không bao giờ thay vì them.

Điều gì những điều này kiểm tra làm — và không — bảo đảm

thực anchors, nguồn-visible links, grouped structure, mobile parity, và keyboard-operable disclosure xóa cụ thể thất bại modes covered trên: undiscovered các trang, flattened topical structure, hỏng parity, và inaccessible navigation. None của nó bảo đảm crawling, lập chỉ mục, cao hơn thứ hạng, nhiều hơn traffic, hoặc AI citation — những điều đó phụ thuộc on far nhiều hơn navigation markup. Treat nguồn/được kết xuất anchors, crawler extraction, desktop/mobile đích parity, và keyboard/focus behavior as tách biệt truyền/fail các kiểm thử, không một bundled khắc phục; mega menu có thể truyền some của những điều này và fail others.

nên của bạn trang web ngay cả có mega menu?

Briefly, vì đầy đủ flat-so với-deep argument lives trong trang web architecture và trang web structure các bài viết: mega menu earns của nó place Khi của bạn trang web là lớn đủ đó cross-category phát hiện là genuine người dùng journey và surfacing deep category các trang từ mọi nơi meaningfully cuts nhấp depth (nó một của best tools cho giữ quan trọng các trang trong một vài clicks của homepage — và cho hitting Bing khoảng three-clicks-từ-home đích). nếu của bạn catalog là nhỏ, hoặc dài tail của menu items barely nhận đã nhấp, mega menu là overhead bạn không cần. quyết định liệu để có một trước khi bạn obsess over Cách để xây dựng nó — cây quyết định lens walks qua nó.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.