網站的訪問者不只有人類,還有搜索引擎網絡抓取工具,了解如何改善網站的搜索精度和排名。
確定網頁的網址結構
自適應設計是最受推崇的設計方法。
為獨立的桌面版本/移動版本網站使用?rel=’canonical’?+?rel=’alternate’。
為動態提供獨立桌面版本/移動版本 HTML 的單個網址使用?Vary HTTP?標頭。
為您想保持私有狀態的頁面使用相關身份驗證機制。
向搜索引擎提供您的網站結構
您的網站如何出現在搜索結果中對多設備網站設計具有重要意義,本指南會幫助您根據網站的網址結構對其進行搜索引擎優化。
您是否計劃構建自適應網頁?是否提供采用獨立網址的移動設備專用版本? 您是否從同一網址同時提供桌面版本和移動版本? 無論是哪一種情況,您始終都能對網站做進一步的搜索引擎優化。
指定網站的網址結構
可以通過幾種方式向不同設備提供內容,以下是三種最常見的方法:
自適應網頁設計:從一個網址提供相同的 HTML,并使用 CSS 媒體查詢來確定內容在客戶端的渲染方式。例如,桌面和移動版本網址:http://www.simcf.cc/
獨立移動版本網站:根據 User Agent 將用戶重定向至不同的網址, 例如,桌面版本網址:http://www.simcf.cc/ 移動版本網址:http://m.simcf.cc/
動態提供:根據 User Agent 從一個網址提供不同的 HTML。,例如,桌面和移動版本網址:http://www.simcf.cc/
盡管許多網站采用了其他方法,但最佳方法是使用自適應網頁設計。
確定哪一種網址結構適合您的網頁,然后,試著按照相應的最佳做法對其進行搜索引擎優化。
我們建議采用自適應網頁設計
讓網站采用自適應設計的優點如下:
更便于用戶分享。
網頁加載更迅速,無需重定向。
單一搜索結果網址。
可通過自適應網頁設計基礎知識了解如何構建采用自適應網頁設計的網站。
提供獨立網址時使用?link[rel=canonical]?和?link[rel=alternate]
如果使用不同網址在桌面版本和移動版本上提供類似內容,可能同時給用戶和搜索引擎帶來困惑,因為查看者并不能輕易發現它們旨在具有完全相同的內容。您應該指示:
這兩個網址的內容完全相同。
哪一個是移動版本。
哪一個是桌面(規范)版本。
這些信息有助于搜索引擎優化索引內容,以及確保用戶找到的目標內容采用的格式適合其所用設備。
為桌面版本使用 alternate
提供桌面版本時,可通過添加帶?rel=”alternate” 屬性的link標記指示還有采用其他網址的移動版本,該標記指向href` 屬性中的移動版本。
http://www.simcf.cc/?HTML
為移動版本使用 canonical
提供移動版本時,可通過添加帶?rel=”canonical”?屬性的?link?標記指示還有采用其他網址的桌面(規范)版本,該標記指向?href?屬性中的桌面版本。通過添加值為?“only screen and (max-width: 640px)”?的?media?屬性幫助搜索引擎了解,移動版本明確適用于較小屏幕。
http://m.simcf.cc/?HTML
使用 Vary HTTP 標頭
根據設備類型提供不同的 HTML 可減少不必要的重定向、提供經過優化的 HTML 以及為搜索引擎提供單一網址,但它也有幾個缺點:
用戶瀏覽器與服務器之間可能存在中間代理,除非代理知曉內容隨 User Agent 而變化,否則其提供的結果可能出乎意料。
根據 User Agent 更改內容存在被視為“掩蔽”的風險,這是違反 Google和百度網站站長指南的行為。
通過讓搜索引擎知曉內容隨 User Agent 而變化,它們就能針對發送查詢的 User Agent 對搜索結果進行優化。
要指示網址根據 User Agent 提供不同的 HTML,請在 HTTP 標頭中提供一個?Vary: User-Agent。 這樣一來,搜索索引便可對桌面和移動版本進行區別對待,中間代理也可以妥善緩存這些內容。
http://www.simcf.cc/?HTTP Header
HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710
控制來自搜索引擎的抓取和索引操作
將網站妥善列入搜索引擎對將其推廣至至關重要,但不良配置可能導致結果中包含意料之外的內容,此部分通過說明抓取工具的工作和網站索引編制原理來幫助您避免此類問題。
沒有比網絡更好的信息共享場所,當您發布一份文檔時,全世界可立即獲得。 任何知曉網址的人都能看到網頁,搜索引擎的作用就在于此,它們必須能夠找到您的網站。
不過,在某些情況下,盡管您希望人們訪問您的網站,卻不想讓他們找到這些文檔。 例如,博客的管理員頁面只有特定人員才有權訪問,讓人們通過搜索引擎找到這些頁面沒什么好處。
此部分還說明如何禁止某些頁面出現在搜索結果中。
“抓取”與“索引”之間的區別
在了解如何控制搜索結果之前,您需要先了解搜索引擎如何與您的網頁進行交互。從網站的視角來看,搜索引擎對網站執行的操作主要有兩項:抓取和索引。
抓取是指搜索引擎自動程序獲取網頁以分析其內容,內容存儲在搜索引擎的數據庫中,可用于填充搜索結果詳情、為網頁排名以及通過逐層深入鏈接發現新的網頁。
索引是指搜索引擎將網站的網址以及任何關聯信息存儲在其數據庫內,以便隨時充當搜索結果。
Note:?許多人混淆了抓取和索引,禁止抓取并不意味著網頁會出現在搜索結果中。例如,如果某個第三方網站具有您的某個網頁的鏈接,即使禁止了抓取,也仍可對其進行索引。在此情況下,搜索結果將缺少詳細說明。
使用 robots.txt 控制抓取
您可以利用名為?robots.txt?的文本文件控制良性抓取工具獲取網頁的方式。Robots.txt?是一個簡單的文本文件,用于說明您希望搜索自動程序如何抓取您的網站。 (并非所有抓取工具都一定會遵守?robots.txt,料想一定有人會自行創建不正當的抓取工具。)
將?robots.txt?置于網站主機的根目錄,例如,如果網站的主機是?http://www.simcf.cc/,則?robots.txt?文件應位于?http://www.simcf.cc/robots.txt。如果該域名有不同的架構、子域名或其他端口,則將其視為不同的主機,應在每個主機的根目錄中放置?robots.txt。
以下是一個簡短的示例:
http://www.simcf.cc/robots.txt
User-agent: *
Disallow: /
這表示您想禁止所有自動程序抓取您的整個網站。
下面是另一個示例:
http://www.simcf.cc/robots.txt
User-agent:Googlebot
Disallow: /nogooglebot/
您可以通過指示 User Agent 名稱來指定每個自動程序 (User Agent) 的行為,在上例中,您禁止名為?Googlebot?的 User Agent 抓取?/nogooglebot/?以及該目錄下的所有內容。
?僅當您想控制網站的抓取方式時,才需要使用?robots.txt。請勿為網址?/robots.txt?返回響應代碼 500。這會終止對整個主機的所有后續抓取,導致搜索結果詳情不包含任何內容。
使用元標記控制搜索索引
如果您不希望網頁出現在搜索結果中,則 robots.txt 并非解決方案。 您需要允許抓取這些網頁,并明確指示您不希望對它們進行索引。 有以下兩個解決方案:
要表示您不希望索引某個 HTML 網頁,請使用特定類型的??標記,并將其屬性設置為?name=”robots”?和?content=”noindex”。
您可以通過將?name?屬性的值更改為特定 User Agent 名稱來縮小范圍。例如,name=”googlebot”(不區分大小寫)表示您不希望 Googlebot 索引該網頁。
要表示您不希望索引圖像、樣式表或腳本文件等資源,請在 HTTP 標頭中添加?X-Robots-Tag: noindex。
HTTP/1.1 200 OK
X-Robots-Tag: noindex
Content-Type: text/html; charset=UTF-8
如果您想把范圍縮小到特定 User Agent,請在?noindex?前插入 User Agent 名稱。
HTTP
/1.1 200 OK
X-Robots-Tag: googlebot: noindex
Content-Type: text/html; charset=UTF-8
如果您利用?robots.txt?禁止抓取,由于并不知曉您不希望索引這些網頁,搜索自動程序可能仍會對它們進行索引。之所以可能發生這種情況,是因為:
搜索自動程序可能是循著其他網站上的鏈接找到您的網頁。
無法抓取的搜索引擎檢測不到?noindex。
別指望?robots.txt?能夠控制搜索索引。