SEO 友好的分頁技術:改善網站結構與索引效率的實作要點

Published on: | Last updated:

先說結論

嗯…分頁 (Pagination) 這件事,想來想去,其實核心就一個:不要只給「上一頁、下一頁」。你得讓 Google 清楚看見整個結構,知道第 1 頁在哪,總共有幾頁。做對了,Google 能有效爬完你的東西;做錯了,就是浪費爬取預算 (Crawl Budget),很多頁面會跟消失沒兩樣。

大家好像都只談舊東西,但問題變了

我看了看,現在很多人談分頁 SEO,還在講 `rel="next/prev"`。但那東西 Google 早就公開說不用了。 雖然 Bing 可能還會參考,但我們主要還是看 Google。 所以,糾結在一個被棄用的標籤上,沒什麼意思。 現在的問題是,Google 不再幫你把分頁「串」成一個整體概念後,每一頁都變成獨立的頁面了。

這就帶來新的麻煩:

  • 重複內容的風險變高:如果你的標題、描述都差不多,Google 可能會覺得這些頁面很像,進而影響索引。
  • 爬取深度問題:如果你的網站有幾百、幾千頁,只靠「下一頁」連結,Googlebot 可能爬到第 10 頁就沒力氣了,後面的頁面等於進了黑洞。
  • 權重分散:外部連結的權重,沒辦法像以前一樣,透過 `rel="next/prev"` 集中到第一頁。

這跟 Google 官方開發者文件裡說的,要讓爬蟲能找到所有內容,是有點矛盾的。 文件建議用清楚的 `` 連結,確保 Google 能依序找到頁面。 但實務上,特別是在台灣很多電商網站,我看到的是大量用 JavaScript 產生的分頁按鈕,這對 SEO 其實很不利,因為 Googlebot 不會去「點擊」那些沒有 `href` 屬性的按鈕。

正確與錯誤的分頁連結結構示意
正確與錯誤的分頁連結結構示意

那…到底該怎麼做?

綜合 Google 的建議和一些實務經驗,我覺得安全的做法大概是這樣。

1. 最基本、最安全的:傳統 `` 連結
這就是最單純的作法。 你要提供像「1, 2, 3, 4, 5... 最後一頁」這樣的連結。 這樣能大幅降低爬取深度,讓 Googlebot 可以從第一頁直接跳到任何一頁,而不是一頁一頁慢慢走。 程式碼大概會長這樣:

<nav aria-label="分頁導覽">
  <ul class="pagination">
    <li class="page-item"><a class="page-link" href="/category?page=1">1</a></li>
    <li class="page-item active"><a class="page-link" href="/category?page=2">2</a></li>
    <li class="page-item"><a class="page-link" href="/category?page=3">3</a></li>
    <li class="page-item"><a class="page-link" href="/category?page=100">最後一頁</a></li>
  </ul>
 </nav>

重點是,每個分頁都要有自己獨一無二的 URL,像是 `?page=2`、`?page=3` 這樣。

2. `rel="canonical"` 的正確用法
這邊很多人會搞錯。分頁中的每一頁,例如第 2 頁、第 3 頁,都應該使用「自參考」的 canonical 標籤,也就是指向自己。 像這樣:

在 `https://example.com/category?page=2` 這個頁面上,你的 canonical 應該是:
``

千萬不要把所有分頁都 `canonical` 到第一頁。那等於在告訴 Google:「嘿,這些頁面都是第一頁的複製版,不用索引它們了。」結果就是除了第一頁,其他頁面的商品或文章都進不了索引庫。

3. 「載入更多」與「無限滾動」的處理
很多網站為了使用者體驗,喜歡用「載入更多」按鈕或無限滾動。 這對 SEO 來說是個災難,如果沒有處理好的話。因為內容是靠 JavaScript 動態載入的,Googlebot 一開始看不到。 Google 建議,即使你用無限滾動,也應該提供一個對應的分頁版本。 意思是,當使用者往下滾動觸發載入時,URL 也要用 History API 更新 (例如從 `/category` 變成 `/category?page=2`),而且這個 `/category?page=2` 的 URL 必須是真的可以被直接存取的。 簡單講,就是要讓非 JavaScript 的環境(像 Googlebot)也能看到分頁後的內容。

不同方法的比較

老實說,沒有一種方法是完美的,要看情境。我整理了一下,大概是這樣。

方法 優點 缺點 適合情境
標準分頁 對 SEO 最友善,結構最清楚。 Google 可以輕鬆爬完所有頁面。 使用者體驗可能差一點,每次都要點擊換頁。 內容數量龐大(例如超過幾十頁)的電商網站、論壇、文章列表。
載入更多 (Load More) 使用者體驗比傳統分頁好一點,還是在單一頁面操作。 如果沒做好對應的分頁 URL,SEO 會很慘。 對數量超級大的清單來說,載入到後面會變慢。 中小型清單,像是部落格首頁、或是幾百個商品的分類頁。
全部顯示 (View-all) 如果做得好,所有內容都在一頁,權重最集中。 頁面載入速度是個大問題。如果一個分類有上千個商品,使用者會等到天荒地老。 只有在內容數量很少(例如幾十個項目)的情況下才考慮。文章系列也還行。
修正分頁後,索引頁面數量提升的示意圖
修正分頁後,索引頁面數量提升的示意圖

實際案例會遇到的坑

想像一個有上萬筆商品的大型電商網站。他們一開始用了無限滾動,但沒有做分頁 URL 的對應。結果就是,在 Google Search Console 裡面,索引報告顯示「已檢索,目前尚未建立索引」的頁面數量非常多。 因為 Googlebot 只能看到第一頁的幾十個商品,後面的完全看不到。

後來,他們改成混合模式:保留無限滾動的體驗,但同時在背景生成了傳統的 `` 分頁連結,並確保每個分頁 URL 都能回傳正確的 HTML 內容。 這樣一來,使用者體驗沒變,但 Google 爬蟲卻能順利地爬完整個網站的商品。三個月後,被索引的產品頁面數量提升了差不多八成,長尾關鍵字的流量也跟著進來了。

最大的坑就是「自以為對 UX 好的設計,卻忘了搜尋引擎不是人類」。 Google 一直在強調要打造以人為本的內容 (people-first content),但前提是 Google 得先看懂你的網站結構。 如果結構本身就有問題,再好的內容也沒用。

當「全部顯示」頁面過於龐大,使用者只會看到無盡的等待
當「全部顯示」頁面過於龐大,使用者只會看到無盡的等待

所以,檢查一下你的網站吧

說了這麼多,其實重點還是得回頭看看自己的網站。你的分類頁、文章列表是怎麼處理分頁的?是用最單純的連結,還是用了一些 JavaScript 的酷炫效果?

你可以自己動手測試:

  1. 在你的分頁上,按右鍵「檢視網頁原始碼」。
  2. 搜尋看看有沒有 `?page=2` 這樣的 `href` 連結。
  3. 如果找不到,那你的分頁對 SEO 可能就有點問題了。

最後想問問大家,你的網站目前是用哪種分頁方式?是傳統的分頁數字,還是「載入更多」按鈕?有因為這樣遇到什麼索引上的問題嗎?在下面留言分享一下吧,也許大家的經驗可以互相幫助。

Related to this topic:

Comments

  1. profile
    Guest 2025-05-09 Reply
    大家好!我對網站分頁的SEO策略很感興趣,尤其是如何平衡流量與用戶體驗。如果有人有相關資源或經驗分享,我非常想了解更多!謝謝!
  2. profile
    Guest 2025-04-22 Reply
    嘿,大家好!我是一位網站優化專家,最近對於分頁設計很有興趣。不知道是否可以請教一下各位的經驗或資源?希望能互相交流,共同提升SEO策略!謝謝!