在前端編碼過程中,大部分人對meta的理解估計都停留在<meta charset="UTF-8">上,但是一般網站還有很多關于meta的設置,其它設置的作用又是什么呢?今天來系統的整理一下,有的功能雖然沒有在實例中測試,但是還是在網上找了些例子,不全的歡迎補充( _ ):
- meta提供了HTML文檔的元數據,它不會顯示在頁面上,但是可以供機器解析
- meta常用于定義頁面的說明,關鍵字、最后修改日期和其它元數據,這些數據將服務于瀏覽器(如何布局或重載頁面),搜索引擎和其它網絡服務
- meta標簽由兩個屬性組成,分別是http-equiv屬性和name屬性:
name屬性主要用于描述網頁,與之對應的是content,content是對name的具體描述,便于引擎抓取:
<meta name="參數" content="具體的描述">
,其中,name屬性一共有以下幾種參數:
(1)keywords(關鍵字),用于告訴搜索引擎你網站的關鍵字,也就是在搜索引擎中輸入你在keywords中寫的內容,就能搜索到你的網頁了。
<meta name="keywords" content="前端">
(2)description(網站內容的描述),用于告訴引擎你網站的主要內容,在根據關鍵字搜索出網頁之后,會顯示在description中寫的內容。
<meta name="description" content="前端開發,路漫漫其修遠兮">
(3)viewport(移動端的窗口),這個屬于移動端頁面會用到的屬性,控制網頁在移動端有較好的顯示,具體屬性還比較多,后面涉及到會詳細介紹相關屬性。
<meta name="viewport" content="width=device-width,inital-scale=1">
(4)robots(定義搜索引擎爬蟲的索引方式),用來告訴爬蟲哪些頁面需要索引哪些頁面不需要索引。
<meta name="robots" content="none">
,其中content的值有很多,none表示搜索引擎將忽略此網頁。
(5)author(作者),用于標注網頁作者舉例
<meta name="author" content="Iris_mao">
(6)generate(網頁制作軟件),用于標注網站的編碼軟件
<meta name="generator" content="Sublime">
(7)copyright(版權),用于注明網頁的版權所有
<meta name="copyright" content="Iris_mao">
(8)revisit-after(搜索引擎爬蟲搜索時間),如果頁面不是經常更新,為了減少搜索引擎爬蟲對服務器帶來的壓力,可以設置一個爬蟲訪問時間。
<meta name="revisit-after" content="7 days" >
(9)renderer(雙核瀏覽器渲染方式),用于指定雙核瀏覽器以何種方式渲染。
<meta name="renderer" content="webkit"> //默認webkit內核
http-equiv屬性,相當于http的頭文件作用,equiv的全稱是equivalent,有相當于的意思,這樣就很容易理解了。<meta http-equiv="參數" content="具體的描述">
(1)content-Type(設定網頁字符集),舊的定義網頁編碼方式的寫法,現在用meta進行定義,舊的方式不建議使用。
<meta http-equiv="content-Type" content="text/html;charset=utf-8"> //舊的HTML,不推薦
(2)X-UA-Compatible(瀏覽器采用何種版本渲染當前頁面),一般都設置為最新模式,在各大框架中也很常見。
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新版本渲染當前頁面
(3)cache-control(指定請求和相應遵循的緩存機制),指導瀏覽器如何緩存某個響應以及緩存多長時間。
<meta http-equiv="cache-control" content="no-cache">
content有很多屬性,no-cache表示先發送請求,與服務器確認該資源是否被更改,如果未被更改,則使用緩存。
(4)expires(網頁到期時間),用于設定網頁的到期時間,過期后網頁必須到服務器上重新傳輸。
<meta http-equiv="expires" content="Sunday 26 October 2016 01:00 GMT" />
(5)refresh(自動刷新并指向某頁面),網頁將在設定的時間內自動刷新并調向設定的網址。
<meta http-equiv="refresh" content="2;URL=http://xxx">
(6)Set-Cookie(cookie設定),如果網頁過期,那么網頁存在本地的cookies也會被刪除。
<meta http-equiv="Set-Cookie" content="name, date">
(7)mobile-agent(開放手機適配)
站點如果自行適配有困難,可以在PC頁面中做簡單改造,百度協助實現適配效果。即:站長在站點PC頁的源代碼頭部嵌入一行或多行Meta信息,由Meta信息來指明該PC頁對應的手機頁的URL,以及該URL對應頁面的格式,百度將根據用戶終端類型選擇最適合展示的頁面。
Meta聲明標注步驟:
梳理所有與手機頁存在一一對應關系的PC頁,用于添加Meta聲明;無對應關系的PC頁面無需添加Meta 。
Meta聲明的格式:
<meta name="mobile-agent"content="format=[wml|xhtml|html5]; url=url">
注:A. 紅色字體部分是需要站點自定義的內容。
[wml|xhtml|html5]——根據手機頁的協議語言,選擇中的一種。
url=url ——后者代表當前PC頁所對應的手機頁url,兩者必須是一一對應關系(而不是統一對應至手機站首頁)
B. name="mobile-agent"為更新后的meta聲明,建議使用。原有meta規則http-equiv="mobile-agent"能夠兼容并繼續生效,已標注過的無需修改。
Meta聲明示例:
<meta name="mobile-agent" content="format=xhtml;url=http://sina.cn/"> ```