站点地图常被当成“提交一次就完事”的文件。實际上,它更像一份發给搜尋引擎的地址清單:哪些頁面值得抓、哪些不该出現、最近改了什么。清單列得清楚,蜘蛛在站内找路时少绕弯;列得混乱,反而會把抓取額度浪費在無效地址上。下面按自查顺序,把站点地图该管的几件事過一遍。
一、先分清 XML 站点地图和 HTML 站点地图
两種文件常被混着说,用途並不一样。
- XML 站点地图:给搜尋引擎讀的,一般放在根目錄,内容是一串地址加上可選的最後修改時間等字段。
- HTML 站点地图:给用戶讀的,通常是一個“網站地图”頁面,按栏目列出主要入口,顺带也能帮蜘蛛走到深层頁面。
自查时先確認两件事:XML 文件能正常打開、返回正常狀態碼;HTML 地图頁不是空的占位頁,也没有被 robots 規則挡住。
二、该放進去的地址
- 栏目首頁和主要列表頁:這些是站内分發入口,優先列。
- 有獨立價值的内容頁:正文完整、有自己的标题和描述。
- 近期更新過的頁面:把最後修改時間寫准确,比寫得频繁更有用。
三、不该放進去的地址
- 篩選參數组合頁、站内搜尋结果頁,這類地址數量容易膨胀。
- 需要登入才能看的頁面、後台地址、測試环境地址。
- 已经失效,或者被規范地址指向別處的重复頁。
- 已经在 robots.txt 里屏蔽的地址——寫進去只會互相矛盾。
判断标准其實很简單:如果你不希望用戶從搜尋结果直接進這個頁面,就別把它寫進清單。
四、体积與拆分
單個文件別塞太多條地址,通常控制在几萬條以内比較稳妥;超過之後,可以按栏目或按内容類型拆成多個文件,再用一個索引文件串起来。字段不必寫满,最後修改時間寫准确即可,把每個字段都填成“每天更新”反而让這個信号失去意义。
五、更新與提交的节奏
不需要每天手動重传。让程序在内容發布、修改、下线时自動同步對應條目,是更省事的做法。提交之後,隔一段時間回訪問日誌,看蜘蛛是否真的来取過這份文件、取完之後有没有顺着里面的地址往下走。如果文件被抓得很勤,但站内深层頁面的訪問量没什么變化,多半是清單里塞了太多低價值地址,值得回头精简一轮。
站点地图是线索,不是收錄承诺。它做的是把门打開、把路标立好;至于蜘蛛走不走、走多深,還要看頁面本身值不值得抓。
六、一份可以照着做的自查清單
- 文件能正常訪問,返回正常狀態碼,格式没有报错。
- 里面列的都是可公開訪問、内容完整的頁面。
- 没有把已屏蔽、已失效、重复的地址寫進去。
- 最後修改時間與頁面實际更新時間對得上。
- 新栏目上线後,清單里能及时出現入口地址。
- 提交之後,在訪問日誌里能看到對應的抓取记錄。