微信客服
Telegram:guangsuan
电话联系:18928809533
发送邮件:xiuyuan2000@gmail.com

產品頁不被收錄的6個技術原因(非重複內容/爬蟲限制類)

本文作者:Don jiang

頁面未被收錄的原因可能藏在程式碼架構或伺服器配置中

比如爬蟲無法「看懂」你的動態內容,或是某個參數設置錯誤導致頁面被判定為重複。

本文從技術排查角度出發,整理6個最易被忽視但直接影響收錄的實操問題。

產品頁不被收錄的6個技術原因

頁面加載速度拖慢爬蟲抓取

例如,當伺服器響應時間超過3秒,Googlebot可能直接放棄抓取,或僅收錄部分殘缺內容。

這一問題常被忽視,因為許多站長只關注前端的用戶體驗(如用戶能否看到加載動畫),卻忽略了爬蟲抓取的「耐性閾值」。

伺服器響應時間過長

問題定位:透過Google Search Console的「核心網頁指標」或工具(如GTmetrix)查看「首字節時間」(TTFB),若超過1.5秒需優化。

解決方案

  1. 升級伺服器配置(如CPU/記憶體)或切換高性能主機商(如Cloudways、SiteGround)。
  2. 資料庫查詢優化:減少複雜聯表查詢,對產品數據表添加索引。
  3. 啟用伺服器緩存(如Redis/Memcached),減少動態生成頁面的頻率。

未優化的資源檔案

典型問題

  • 產品圖未壓縮(如PNG未轉WebP,分辨率超過2000px)。
  • CSS/JS檔案未合併,產生數十個HTTP請求。

修復步驟

  1. 使用Squoosh、TinyPNG壓縮圖片,尺寸適配主流螢幕(如1200px寬)。
  2. 透過Webpack或Gulp合併CSS/JS,減少檔案請求數量。
  3. 開啟Gzip或Brotli壓縮,降低資源傳輸體積。

渲染阻塞型腳本

爬蟲視角:爬蟲解析HTML時,若遇到未異步加載的腳本(如同步加載的Google Analytics),會暫停渲染直到腳本執行完畢。

優化方案

  • 在非必要腳本中添加asyncdefer屬性(例:<script src="tracker.js" async></script>)。
  • 將第三方工具(如客服彈窗、熱力圖分析)延遲到頁面加載後執行。

排查工具與優先級建議

自檢清單

  1. PageSpeed Insights:定位具體資源加載問題(如「縮短JavaScript執行時間」)。
  2. Screaming Frog:批量檢測產品頁TTFB,篩選出加載超時的URL。
  3. Lighthouse:查看「機會」模組中的優化建議(如移除未使用的CSS)。

緊急優化級:優先處理TTFB>2秒的頁面、單頁HTTP請求數>50的頁面、圖片體積>500KB的資源。

數據參考:Google官方指出,當頁面加載時間從1秒增加到3秒,爬蟲抓取失敗機率上升32%。透過上述優化,多數產品頁可控制在2秒內完成加載,大大提升收錄成功率。

robots.txt檔案誤屏蔽產品目錄

例如,若在檔案中誤將 Disallow: /tmp/ 寫成 Disallow: /product/,爬蟲將完全跳過產品頁抓取,即使頁面內容優質也無法被收錄。

快速定位robots.txt攔截問題

檢查工具

  • Google Search Console:進入「索引」>「網頁」報告,若產品頁顯示「已屏蔽」,點擊詳情查看robots.txt攔截記錄。
  • 線上測試工具:使用robots.txt測試工具輸入URL,模擬爬蟲視角查看權限。

典型錯誤特徵

  1. 路徑拼寫錯誤(如 /produc/ 代替 /product/)。
  2. 過度使用 * 萬用字元(如 Disallow: /*.jpg$ 屏蔽所有產品圖)。

修復誤屏蔽的規則邏輯

規範寫法原則

  • 精準匹配路徑:避免模糊攔截,如針對臨時目錄用 Disallow: /old-product/ 而非 Disallow: /product/
  • 區分爬蟲類型:若僅想屏蔽垃圾爬蟲,需指定User-agent(例:User-agent: MJ12bot)。

參數處理

  • 允許必要參數(如分頁 ?page=2):改用 Disallow: *?sort= 僅屏蔽排序參數。
  • 使用 $ 符號限定參數結尾(如 Disallow: /*?print=true$)。

緊急恢復與驗證流程

步驟範例

  1. 修改robots.txt檔案,註釋或刪除錯誤行(例:# Disallow: /product/)。
  2. 在Google Search Console提交robots.txt更新請求。
  3. 透過「URL檢查工具」手動測試產品頁抓取狀態,確認爬蟲可存取。
  4. 24小時後複查收錄情況,若未恢復可主動提交產品頁sitemap。

防護措施

  • 使用版本控制工具(如Git)管理robots.txt修改記錄,便於回滾。
  • 在測試環境預演規則變更,避免直接修改線上檔案。

真實案例分析

錯誤配置

User-agent: *

Disallow: /

Allow: /product/

問題Disallow: / 已全域屏蔽所有頁面,後續的 Allow 規則無效。

正確修正

User-agent: *

Disallow: /admin/

Disallow: /tmp/

Allow: /product/

邏輯:僅屏蔽後台和臨時目錄,明確放行產品路徑。

產品頁缺少有效內部連結入口

如果產品頁在站內缺乏入口(如導覽列、相關推薦或內容錨文字),它就像一座「孤島」,即便內容優質也難以被爬蟲收錄。

這種情況常見於新上架商品、獨立專題頁或從外部工具批量匯入的頁面——它們可能未被合理嵌入網站的整體導覽結構中。

導覽結構缺失或設計不合理

典型問題

  • 產品頁未融入主導覽選單或分類目錄(如僅存在於搜尋頁結果中)。
  • 行動裝置採用摺疊選單,但關鍵產品入口被隱藏在多級子選單下。

解決方案

自查工具:用Screaming Frog抓取全站,篩選出「入站連結數≤1」的產品頁。

優化步驟

  1. 在主導覽列添加「熱賣新品」或「精選分類」入口,直接連結到重點產品聚合頁。
  2. 確保所有產品至少歸屬於一個分類目錄(如 /category/shoes/product-A)。

相關推薦模組未充分利用

爬蟲視角:動態推薦的「猜你喜歡」內容若透過JavaScript加載,爬蟲可能無法解析其中的連結。

優化方案

在HTML中硬編碼「搭配購買」「同類商品」模組(範例):

<div class="related-products">
<a href="/product-B">同款黑色版本</a>
<a href="/product-C">搭配使用的清潔工具</a>
</div>

對動態推薦內容提供靜態化入口,如固定版位展示「本週熱銷Top 10」並直鏈產品頁。

麵包屑導覽未覆蓋關鍵層級

錯誤案例:麵包屑路徑過短,未指向分類頁(如 首頁 > 產品A)。

修復方法

  1. 補充完整分類層級(例:首頁 > 運動鞋 > 跑步鞋 > 產品A),每級均添加可點擊連結。
  2. 在CMS中配置自動生成麵包屑,確保URL結構匹配(如 /category1/category2/product-name)。

內容頁錨文字連結缺失

在商品描述中自然插入相關產品連結(如:「本相機相容三腳架X」)。

用戶評論板塊增加「購買此商品的用戶也瀏覽了」的錨文字推薦。

緊急補救策略

臨時方案

  • 建立「新品速遞」聚合頁,集中連結未被收錄的產品,並添加到首頁底部導覽。
  • 在已有高權重頁面(如部落格文章)中插入目標產品頁連結(例:「推薦閱讀:2024最佳跑鞋榜單」)。

長期維護

每週監控產品頁的收錄狀態(工具:Ahrefs Site Audit),及時補充內鏈缺口。

JavaScript動態渲染導致內容缺失

例如,用Vue或React開發的產品頁,若關鍵資訊(如SKU、規格參數)透過API異步加載,爬蟲可能因超時無法捕獲這些內容。

收錄的頁面只有「加載中」佔位符,失去排名競爭力。

識別動態渲染導致的內容缺失

自查工具

  1. Google Mobile-Friendly Test:輸入產品頁URL,查看渲染後的HTML截圖是否包含核心內容(如價格、購買按鈕)。
  2. curl命令模擬爬蟲:終端執行 curl -A "Googlebot" URL ,對比返回的HTML與瀏覽器開發者工具中的「查看網頁原始碼」差異。

典型特徵

  • 網頁原始碼中缺少產品描述、評論等關鍵文本,僅保留 <div id="root"></div> 等佔位標籤。
  • Google Search Console中產品頁的「覆蓋率」報告顯示「已抓取但未編入索引」,原因為「頁面空白」。

伺服器端渲染(SSR)與預渲染方案

SSR優勢:在伺服器生成完整HTML後再返回給爬蟲,確保內容一次性可抓取。

適用框架:Next.js(React)、Nuxt.js(Vue)、Angular Universal。

程式碼範例(Next.js產品頁路由):

export async function getServerSideProps(context) {
const product = await fetchAPI(`/product/${context.params.id}`);
return { props: { product } };
}

預渲染備用方案:對無法改造SSR的站點,使用Prerender.io或Rendertron生成靜態快照。

配置步驟

  1. 在伺服器設置中間件,識別爬蟲請求並轉發到預渲染服務。
  2. 緩存渲染結果,減少重複生成開銷。

優化動態內容的加載時機

關鍵邏輯:將產品核心資訊(標題、價格、規格)直接內嵌到初始HTML,而非透過JS異步加載。

錯誤案例

// 異步獲取價格(爬蟲可能無法等待) 
fetch('/api/price').then(data => {
document.getElementById('price').innerHTML = data.price;
});

修正方案

<!-- 初始HTML中直接輸出價格 -->
<div id="price">$99.99</div>

控制JS執行時長與資源體積

爬蟲容忍閾值:Googlebot最多等待約5秒完成JS執行與渲染。

優化措施

程式碼分割:僅在產品頁加載必要JS(如移除無關輪播圖庫)。

// 動態匯入非核心模組(如產品影片播放器) 
import('video-player').then(module => {
module.loadPlayer();
});
延遲加載非首屏資源:將評論模組、相關推薦等移至DOMContentLoaded事件後執行。

URL參數混亂引發重複頁面

例如,同一款商品因參數順序不同(/product?color=red&size=10/product?size=10&color=red)被爬蟲視為兩個獨立頁面,分散內容權重甚至觸發重複內容懲罰。

識別重複URL參數的影響範圍

自查工具

  1. Google Search Console:進入「覆蓋範圍」報告,篩選「已提交但未編入索引」的URL,觀察重複參數頁佔比。
  2. Screaming Frog:設置「忽略參數」規則抓取全站,統計同一產品頁的不同參數變體數量。

典型問題場景

  • 同一產品因篩選器生成多個URL(如按價格排序、按顏色過濾)。
  • 分頁參數未設置rel="canonical",導致分頁被當作獨立內容頁。

規範參數邏輯與權重聚合

解決方案優先級

固定參數順序:統一參數排列規則(如顏色→尺寸→排序),避免因順序不同生成重複URL。

  • 範例:強制所有URL按 /product?color=red&size=10 順序生成,其他順序301重定向到規範格式。

使用Canonical標籤:在參數化頁面頭部添加指向主產品頁的規範連結。

<link rel="canonical" href="https://example.com/product" />

屏蔽無意義參數:透過robots.txt或meta robots noindex禁止收錄追蹤參數(如?session_id=xxx)。

伺服器端參數處理技術

URL重寫規則

Apache範例(隱藏分頁參數並規範格式):

RewriteCond %{QUERY_STRING} ^page=([2-9]|10)$
RewriteRule ^product/?$ /product?page=%1 [R=301,L]

Nginx範例(合併排序參數):

if ($args ~* "sort=price") {
rewrite ^/product /product?sort=price permanent;
}

動態參數控制

  • 在CMS中預設允許的參數列表,拒絕非法參數請求(返回404或跳轉主頁面)。

分頁與篩選頁的SEO策略

分頁頁面

  1. 添加rel="prev"rel="next"標籤,告知爬蟲分頁關係。
  2. 對非首屏分頁(如page=2及之後)設置noindex,僅允許抓取第一頁。

篩選器頁面

對無商品匹配的篩選結果(如/product?color=purple但庫存為0),返回404或302跳轉至相近分類。

缺少規範的HTML標籤標記

例如,未設置H1標籤的頁面可能被判定為「主題不明確」,而忽略Schema結構化資料則會讓產品價格、庫存狀態等重要屬性無法在搜尋結果中突出展示。

H1標題缺失或重複

問題定位

  • 使用瀏覽器開發者工具檢查元素,確認產品頁是否存在唯一且包含關鍵字的<h1>
  • 常見錯誤:多個H1標籤(如同時用於產品名和品牌名)、H1內容與頁面主題無關(如「歡迎選購」)。

修復方案

  • 確保每個產品頁有且僅有一個H1,優先包含產品型號+核心賣點(例:<h1>跑步鞋X系列 | 緩震透氣,2024新款</h1>)。
  • 禁止用圖片代替H1文字(爬蟲無法識別圖片中的文字),若必須使用圖片,需添加aria-label屬性。

Meta描述(description)未優化

影響:meta description不完整或缺失時,搜尋引擎會自動截取頁面隨機文字作為搜尋結果摘要,降低點擊率。

優化步驟

  1. 長度控制在150-160字元,包含產品核心關鍵字和行動號召(例:<meta name="description" content="跑步鞋X系列限時9折——專業緩震設計,適配馬拉松訓練,立即選購享免運費">)。
  2. 動態生成規則:CMS中配置description自動抓取產品賣點字段,避免留空。

忽略Schema結構化資料

爬蟲需求:Schema標記能顯式告知搜尋引擎產品價格、評分、庫存狀態等關鍵屬性,提升內容呈現豐富度。

實施方法

使用Schema Markup Generator生成Product類型JSON-LD程式碼,嵌入頁面<head>

<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "跑步鞋X系列",
"image": "https://example.com/shoe.jpg",
"offers": {
"@type": "Offer",
"price": "99.99",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock"
}
}
</script>
  • 驗證工具:透過Google結構化資料測試工具檢查標記是否生效。

圖片未添加Alt文字

SEO價值:Alt文字幫助爬蟲理解圖片內容,同時提升無障礙存取體驗。

錯誤案例

  • Alt留空(<img src="shoe.jpg" alt="">)或堆砌關鍵字(alt="跑步鞋 運動鞋 緩震鞋 2024新品")。

正確寫法

  • 描述圖片主題+使用場景(例:alt="跑步鞋X系列黑色款實拍圖,展示鞋底緩震結構")。
  • 對裝飾性圖片設置alt="",避免冗餘資訊干擾。

Canonical標籤指向錯誤

風險:若產品頁canonical標籤誤指向分類頁或首頁,會導致頁面權重傳遞混亂。

自查與修正

  • 使用Screaming Frog批量抓取產品頁,篩選出canonical指向站外或非自身URL的頁面。
  • 標準寫法:<link rel="canonical" href="https://example.com/product-x" />(指向當前頁面的規範版本)。

選定一個長期未被收錄的產品頁,對照本文清單逐項檢查,通常30分鐘內即可定位到核心問題。

滚动至顶部