頁面未被收錄的原因可能藏在程式碼架構或伺服器配置中
比如爬蟲無法「看懂」你的動態內容,或是某個參數設置錯誤導致頁面被判定為重複。
本文從技術排查角度出發,整理6個最易被忽視但直接影響收錄的實操問題。

Table of Contens
Toggle頁面加載速度拖慢爬蟲抓取
例如,當伺服器響應時間超過3秒,Googlebot可能直接放棄抓取,或僅收錄部分殘缺內容。
這一問題常被忽視,因為許多站長只關注前端的用戶體驗(如用戶能否看到加載動畫),卻忽略了爬蟲抓取的「耐性閾值」。
伺服器響應時間過長
問題定位:透過Google Search Console的「核心網頁指標」或工具(如GTmetrix)查看「首字節時間」(TTFB),若超過1.5秒需優化。
解決方案:
- 升級伺服器配置(如CPU/記憶體)或切換高性能主機商(如Cloudways、SiteGround)。
- 資料庫查詢優化:減少複雜聯表查詢,對產品數據表添加索引。
- 啟用伺服器緩存(如Redis/Memcached),減少動態生成頁面的頻率。
未優化的資源檔案
典型問題:
- 產品圖未壓縮(如PNG未轉WebP,分辨率超過2000px)。
- CSS/JS檔案未合併,產生數十個HTTP請求。
修復步驟:
- 使用Squoosh、TinyPNG壓縮圖片,尺寸適配主流螢幕(如1200px寬)。
- 透過Webpack或Gulp合併CSS/JS,減少檔案請求數量。
- 開啟Gzip或Brotli壓縮,降低資源傳輸體積。
渲染阻塞型腳本
爬蟲視角:爬蟲解析HTML時,若遇到未異步加載的腳本(如同步加載的Google Analytics),會暫停渲染直到腳本執行完畢。
優化方案:
- 在非必要腳本中添加
async或defer屬性(例:<script src="tracker.js" async></script>)。 - 將第三方工具(如客服彈窗、熱力圖分析)延遲到頁面加載後執行。
排查工具與優先級建議
自檢清單:
- PageSpeed Insights:定位具體資源加載問題(如「縮短JavaScript執行時間」)。
- Screaming Frog:批量檢測產品頁TTFB,篩選出加載超時的URL。
- 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,模擬爬蟲視角查看權限。
典型錯誤特徵:
- 路徑拼寫錯誤(如
/produc/代替/product/)。 - 過度使用
*萬用字元(如Disallow: /*.jpg$屏蔽所有產品圖)。
修復誤屏蔽的規則邏輯
規範寫法原則:
- 精準匹配路徑:避免模糊攔截,如針對臨時目錄用
Disallow: /old-product/而非Disallow: /product/。 - 區分爬蟲類型:若僅想屏蔽垃圾爬蟲,需指定User-agent(例:
User-agent: MJ12bot)。
參數處理:
- 允許必要參數(如分頁
?page=2):改用Disallow: *?sort=僅屏蔽排序參數。 - 使用
$符號限定參數結尾(如Disallow: /*?print=true$)。
緊急恢復與驗證流程
步驟範例:
- 修改robots.txt檔案,註釋或刪除錯誤行(例:
# Disallow: /product/)。 - 在Google Search Console提交robots.txt更新請求。
- 透過「URL檢查工具」手動測試產品頁抓取狀態,確認爬蟲可存取。
- 24小時後複查收錄情況,若未恢復可主動提交產品頁sitemap。
防護措施:
- 使用版本控制工具(如Git)管理robots.txt修改記錄,便於回滾。
- 在測試環境預演規則變更,避免直接修改線上檔案。
真實案例分析
錯誤配置:
User-agent: *
Disallow: /
Allow: /product/
問題:Disallow: / 已全域屏蔽所有頁面,後續的 Allow 規則無效。
正確修正:
User-agent: *
Disallow: /admin/
Disallow: /tmp/
Allow: /product/
邏輯:僅屏蔽後台和臨時目錄,明確放行產品路徑。
產品頁缺少有效內部連結入口
如果產品頁在站內缺乏入口(如導覽列、相關推薦或內容錨文字),它就像一座「孤島」,即便內容優質也難以被爬蟲收錄。
這種情況常見於新上架商品、獨立專題頁或從外部工具批量匯入的頁面——它們可能未被合理嵌入網站的整體導覽結構中。
導覽結構缺失或設計不合理
典型問題:
- 產品頁未融入主導覽選單或分類目錄(如僅存在於搜尋頁結果中)。
- 行動裝置採用摺疊選單,但關鍵產品入口被隱藏在多級子選單下。
解決方案:
自查工具:用Screaming Frog抓取全站,篩選出「入站連結數≤1」的產品頁。
優化步驟:
- 在主導覽列添加「熱賣新品」或「精選分類」入口,直接連結到重點產品聚合頁。
- 確保所有產品至少歸屬於一個分類目錄(如
/category/shoes/product-A)。
相關推薦模組未充分利用
爬蟲視角:動態推薦的「猜你喜歡」內容若透過JavaScript加載,爬蟲可能無法解析其中的連結。
優化方案:
在HTML中硬編碼「搭配購買」「同類商品」模組(範例):
<div class="related-products">
<a href="/product-B">同款黑色版本</a>
<a href="/product-C">搭配使用的清潔工具</a>
</div>對動態推薦內容提供靜態化入口,如固定版位展示「本週熱銷Top 10」並直鏈產品頁。
麵包屑導覽未覆蓋關鍵層級
錯誤案例:麵包屑路徑過短,未指向分類頁(如 首頁 > 產品A)。
修復方法:
- 補充完整分類層級(例:
首頁 > 運動鞋 > 跑步鞋 > 產品A),每級均添加可點擊連結。 - 在CMS中配置自動生成麵包屑,確保URL結構匹配(如
/category1/category2/product-name)。
內容頁錨文字連結缺失
在商品描述中自然插入相關產品連結(如:「本相機相容三腳架X」)。
用戶評論板塊增加「購買此商品的用戶也瀏覽了」的錨文字推薦。
緊急補救策略
臨時方案:
- 建立「新品速遞」聚合頁,集中連結未被收錄的產品,並添加到首頁底部導覽。
- 在已有高權重頁面(如部落格文章)中插入目標產品頁連結(例:「推薦閱讀:2024最佳跑鞋榜單」)。
長期維護:
每週監控產品頁的收錄狀態(工具:Ahrefs Site Audit),及時補充內鏈缺口。
JavaScript動態渲染導致內容缺失
例如,用Vue或React開發的產品頁,若關鍵資訊(如SKU、規格參數)透過API異步加載,爬蟲可能因超時無法捕獲這些內容。
收錄的頁面只有「加載中」佔位符,失去排名競爭力。
識別動態渲染導致的內容缺失
自查工具:
- Google Mobile-Friendly Test:輸入產品頁URL,查看渲染後的HTML截圖是否包含核心內容(如價格、購買按鈕)。
- 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生成靜態快照。
配置步驟:
- 在伺服器設置中間件,識別爬蟲請求並轉發到預渲染服務。
- 緩存渲染結果,減少重複生成開銷。
優化動態內容的加載時機
關鍵邏輯:將產品核心資訊(標題、價格、規格)直接內嵌到初始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();
});URL參數混亂引發重複頁面
例如,同一款商品因參數順序不同(/product?color=red&size=10 和 /product?size=10&color=red)被爬蟲視為兩個獨立頁面,分散內容權重甚至觸發重複內容懲罰。
識別重複URL參數的影響範圍
自查工具:
- Google Search Console:進入「覆蓋範圍」報告,篩選「已提交但未編入索引」的URL,觀察重複參數頁佔比。
- 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策略
分頁頁面:
- 添加
rel="prev"和rel="next"標籤,告知爬蟲分頁關係。 - 對非首屏分頁(如
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不完整或缺失時,搜尋引擎會自動截取頁面隨機文字作為搜尋結果摘要,降低點擊率。
優化步驟:
- 長度控制在150-160字元,包含產品核心關鍵字和行動號召(例:
<meta name="description" content="跑步鞋X系列限時9折——專業緩震設計,適配馬拉松訓練,立即選購享免運費">)。 - 動態生成規則: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分鐘內即可定位到核心問題。




