meta標簽是HTML語言head區(qū)域的一個輔助性標簽,常用于定義頁面的說明,關(guān)鍵字,最后修改的日期和其他的元數(shù)據(jù)。這些元數(shù)據(jù)將服務于瀏覽器,搜索引擎和其他網(wǎng)絡(luò)服務。
1.meta標簽的組成
meta標簽共有兩個屬性,分別是http-equiv屬性和name屬性。
2.name屬性
name屬性主要是用于描述網(wǎng)頁,比如網(wǎng)頁的關(guān)鍵詞,敘述等。與之對應的屬性值為content,content中的內(nèi)容是對name填入類型的具體描述,便于搜索引擎抓取。
3.meta標簽中name屬性語法格式是:
<meta name="參數(shù)" content="具體的描述">
其中name屬性共有以下幾種參數(shù)。(A-C為常用屬性)
(1) keywords(關(guān)鍵字)
說明:用于告訴搜索引擎,你網(wǎng)頁的關(guān)鍵字。舉例:
<meta name="keywords" content="超級蜘蛛池">
(2)description(網(wǎng)站內(nèi)容的描述)
說明:用于告訴搜索引擎,你網(wǎng)站的主要內(nèi)容。舉例:
<meta name="description" content="php中文網(wǎng)提供大量免費、原創(chuàng)、高清的php視頻教程">
(3)viewport(移動端的窗口)
說明:這個概念較為復雜,具體的會在下篇博文中講述。這個屬性常用于設(shè)計移動端網(wǎng)頁。在用bootstrap,AmazeUI等框架時候都有用過viewport。
<meta name="viewport" content="width=device-width, initial-scale=1">
(4) robots(定義搜索引擎爬蟲的索引方式)
說明:robots用來告訴爬蟲哪些頁面需要索引,哪些頁面不需要索引。content的參數(shù)有all,none,index,noindex,follow,nofollow。默認是all。
<meta name="robots" content="none">
具體參數(shù)如下:
1、none : 搜索引擎將忽略此網(wǎng)頁,等價于noindex,nofollow。
2、noindex : 搜索引擎不索引此網(wǎng)頁。
3、nofollow: 搜索引擎不繼續(xù)通過此網(wǎng)頁的鏈接索引搜索其它的網(wǎng)頁。
4、all : 搜索引擎將索引此網(wǎng)頁與繼續(xù)通過此網(wǎng)頁的鏈接索引,等價于index,follow。
5、index : 搜索引擎索引此網(wǎng)頁。
6、follow : 搜索引擎繼續(xù)通過此網(wǎng)頁的鏈接索引搜索其它的網(wǎng)頁。
(5)author(作者)
說明:用于標注網(wǎng)頁作者舉例:
<meta name="author" content="超級蜘蛛池">
(6) generator(網(wǎng)頁制作軟件)
說明:用于標明網(wǎng)頁是什么軟件做的舉例: (不知道能不能這樣寫):
<meta name="generator" content="Sublime Text3">
(7)copyright(版權(quán))
說明:用于標注版權(quán)信息舉例:
<meta name="copyright" content="超級蜘蛛池"> //代表該網(wǎng)站為PHP中文網(wǎng)個人版權(quán)所有。
(8)revisit-after(搜索引擎爬蟲重訪時間)
說明:如果頁面不是經(jīng)常更新,為了減輕搜索引擎爬蟲對服務器帶來的壓力,可以設(shè)置一個爬蟲的重訪時間。如果重訪時間過短,爬蟲將按它們定義的默認時間來訪問。舉例:
<meta name="revisit-after" content="7 days" >
(9)renderer(雙核瀏覽器渲染方式)
說明:renderer是為雙核瀏覽器準備的,用于指定雙核瀏覽器默認以何種方式渲染頁面。比如說360瀏覽器。舉例:
<meta name="renderer" content="webkit"> //默認webkit內(nèi)核
<meta name="renderer" content="ie-comp"> //默認IE兼容模式
<meta name="renderer" content="ie-stand"> //默認IE標準模式
http-equiv屬性
http-equiv顧名思義,相當于HTTP的作用。
meta標簽中http-equiv屬性語法格式是:
<meta http-equiv="參數(shù)" content="具體的描述">
其中http-equiv屬性主要有以下幾種參數(shù):
(1) content-Type(設(shè)定網(wǎng)頁字符集)(推薦使用HTML5的方式)
說明:用于設(shè)定網(wǎng)頁字符集,便于瀏覽器解析與渲染頁面舉例:
<meta http-equiv="content-Type" content="text/html;charset=utf-8"> //舊的HTML,不推薦
<meta charset="utf-8"> //HTML5設(shè)定網(wǎng)頁字符集的方式,推薦使用UTF-8
(2)X-UA-Compatible(瀏覽器采取何種版本渲染當前頁面)
說明:用于告知瀏覽器以何種版本來渲染頁面。(一般都設(shè)置為最新模式,在各大框架中這個設(shè)置也很常見。)
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> //指定IE和Chrome使用最新版本渲染當前頁面
(3) cache-control(指定請求和響應遵循的緩存機制)
說明:指導瀏覽器如何緩存某個響應以及緩存多長時間
<meta http-equiv="cache-control" content="no-cache">
共有以下幾種用法:
no-cache: 先發(fā)送請求,與服務器確認該資源是否被更改,如果未被更改,則使用緩存。
no-store: 不允許緩存,每次都要去服務器上,下載完整的響應。(安全措施)
public : 緩存所有響應,但并非必須。因為max-age也可以做到相同效果
private : 只為單個用戶緩存,因此不允許任何中繼進行緩存。(比如說CDN就不允許緩存private的響應)
maxage : 表示當前請求開始,該響應在多久內(nèi)能被緩存和重用,而不去服務器重新請求。例如:max-age=60表示響應可以再緩存和重用 60 秒。
禁止百度自動轉(zhuǎn)碼
說明:用于禁止當前頁面在移動端瀏覽時,被百度自動轉(zhuǎn)碼。雖然百度的本意是好的,但是轉(zhuǎn)碼效果很多時候卻不盡人意。所以可以在head中加入例子中的那句話,就可以避免百度自動轉(zhuǎn)碼了。
<meta http-equiv="Cache-Control" content="no-siteapp" />
(4)expires(網(wǎng)頁到期時間)
說明:用于設(shè)定網(wǎng)頁的到期時間,過期后網(wǎng)頁必須到服務器上重新傳輸。
<meta http-equiv="expires" content="Sunday 26 October 2016 01:00 GMT" />
(5) refresh(自動刷新并指向某頁面)
說明:網(wǎng)頁將在設(shè)定的時間內(nèi),自動刷新并調(diào)向設(shè)定的網(wǎng)址。
<meta http-equiv="refresh" content="2;URL=http://www.xxx.com/"> //意思是2秒后跳轉(zhuǎn)到PHP中文網(wǎng)
(6) Set-Cookie(cookie設(shè)定)
說明:如果網(wǎng)頁過期。那么這個網(wǎng)頁存在本地的cookies也會被自動刪除。
<meta http-equiv="Set-Cookie" content="name, date"> //格式
<meta http-equiv="Set-Cookie" content="User=Lxxyx; path=/; expires=Sunday, 10-Jan-16 10:00:00 GMT">