前端seo优化之meta标签的定义
前端seo的meta优化是在开发过程中必须考虑的一个因素,这一点相信很多从事seo优化的也是深有体会,对吸引网络用户流量也是非常重要的,本文将详细讲解前端seo的meta标签定义。
在做SEO优化的过程中,网页代码中的Meta标签可以说对网站的关键词排名有着举足轻重的地位,如果SEO人员能在Meta标签上进行了适合搜索引擎的撰写方式,可在很大程度地提升网站的排名,同时也有利于站点内容的收录,所以给每个网页加上Meta值就成为了SEO中必不可少的工作之一。
Meta标签指的是网页HTML文件里面的一些文件标签,其中最重要的是:标题标签Title、描述标签Description和关键词标签Keyword,当然,如果你喜欢的话,还可以放上你想放的信息,比如象作者,软件版本等等,但是不能太多,因为前面标签放的太多,就会把你的网页正文内容推到文件的后面去了,这对于优化排名很不利。
一、什么是Meta标签?
Meta是HTML语言head区的一个辅助性标签,用来在HTML文档中模拟HTTP协议的响应头报文,META标签用来描述一个HTML网页文档的属性,例如作者、日期和时间、网页描述、关键词、页面刷新等。
搜索引擎一般使用机器人自动查找Meta值来给网页分类,它的属性有两种:name和http-equiv。
name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类。
除了便于搜索引擎的索引,Meta其实也是一种规范的网页标准,只有完善了Meta,一个HTML页面才能算是完整的网页。
Meta还有很多种表述功能,比如在网页中加入SEO所需要的关键词以及描述等多种信息。
二、Meta标签的作用
META标签是HTML标记HEAD区的一个关键标签,它位于HTML文档的和
所以有关搜索引擎注册、搜索引擎优化排名等网络营销方法内容中,通常都要谈论META标签的作用,我们甚至可以说,META标签的内容设计对于搜索引擎营销来说是至关重要的一个因素,合理利用Meta标签的Description
和Keywords
属性,加入网站的关键字或者网页的关键字,可使网站的SEO优化排名快速提升,并且更加贴近用户体验。
从HTML代码实例中可以看到,一段代码中有3个含有meta的地方,并且meta并不是独立存在的,而是要在后面连接其他的属性,如description
、Keywords
、http-equiv
等。
三、了解Meta的重要参数
对于做SEO的人来说,最看重的就是网页的title了,title即一个网页的标题,这是网页最为重要的部分,目前搜索引擎对网页的排名也大部分基于这个参数进行。
在大多数网站中,除了页面标题之外,比较常见的并且与SEO有着直接联系的Meta标签还有以下几种:
Keywords:
页面的关键词标签,这个标签可以用于提取网站的关键词信息,在SEO中较为重要。
Description:
网站内容描述标签,它是对整个网页内容的一种概述,用以说明该网页的大体内容。
Robots:
这个标签用来告诉搜索引擎的机器人,也就是自动地抓取网页的程序文件,说明哪些页面需要索引,哪些页面不需要索引。
参数有all、none、index、noindex、follow、nofollow,分别表示是否能收录该页面,该标签最为重要,设置稍有不慎就可能造成搜索引擎停止收录的后果。
在这里,SEO论坛提醒各位SEO人员需要注意的是:标题的填写一定要基于页面的实际内容进行,最好是该网页内容的一个具体描述,不要设置为栏目名称或者网站名称,如果是首页文件,则需要避免以类似“网站首页”这样的内容命名,最好用网站的名称来命名。
四、Meta标签的组成
根据前面阐述的,meta标签共有两个属性,分别是http-equiv属性和name属性。
1、name属性
name属性主要用于描述网页,比如网页的关键词,叙述等。与之对应的属性值为content,content中的内容是对name填入类型的具体描述,便于搜索引擎抓取。
meta标签中name属性语法格式是:
1 | <meta name="参数" content="具体的描述"> |
其中name属性共有以下几种参数。(1~3为常用属性)
(1)keywords(关键字)
说明:用于告诉搜索引擎,你网页的关键字。
举例:
1 | <meta name="keywords" content="侠名风前端博客,vue博客,前端博客,前端开发"> |
(2)description(网站内容的描述)
说明:用于告诉搜索引擎,你网站的主要内容。
1 | <meta name="description" content="侠名风前端博客,vue博客,前端博客,前端开发"> |
(3)viewport(移动端的视口)
说明:这个属性常用于设计移动端网页。
举例(常用范例):
1 | <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/> |
(4)robots(定义搜索引擎爬虫的索引方式)
说明:robots用来告诉爬虫哪些页面需要索引,哪些页面不需要索引。
content的参数有all,none,index,noindex,follow,nofollow。默认是all。
举例:
1 | <meta name="robots" content="none"> |
具体参数如下:
- none : 搜索引擎将忽略此网页,等价于noindex,nofollow。
- noindex : 搜索引擎不索引此网页。
- nofollow: 搜索引擎不继续通过此网页的链接索引搜索其它的网页。
- all : 搜索引擎将索引此网页与继续通过此网页的链接索引,等价于index,follow。
- index : 搜索引擎索引此网页。
- follow : 搜索引擎继续通过此网页的链接索引搜索其它的网页。
(5)author(作者)
说明:用于标注网页作者
举例:
1 | <meta name="author" content="baosheng,npm8.com> |
(6)generator(网页制作软件)
说明:用于标明网页是什么软件做的
举例: (不知道能不能这样写):
1 | <meta name="generator" content="npm8.com"> |
(7)copyright(版权)
说明:用于标注版权信息
举例:
1 | <meta name="copyright" content="baosheng"> |
(8)revisit-after(搜索引擎爬虫重访时间)
说明:如果页面不是经常更新,为了减轻搜索引擎爬虫对服务器带来的压力,可以设置一个爬虫的重访时间。如果重访时间过短,爬虫将按它们定义的默认时间来访问。
举例:
1 | <meta name="revisit-after" content="7 days" > |
(9)renderer(双核浏览器渲染方式)
说明:renderer是为双核浏览器准备的,用于指定双核浏览器默认以何种方式渲染页面。比如说360浏览器。
举例:
1 | <meta name="renderer" content="webkit"> <!-- 默认webkit内核--> |
2、http-equiv属性
http-equiv相当于HTTP的作用,比如说定义些HTTP参数啥的。
meta标签中http-equiv属性语法格式是:
1 | <meta http-equiv="参数" content="具体的描述"> |
其中http-equiv属性主要有以下几种参数:
(1)content-Type(设定网页字符集)(推荐使用HTML5的方式)
说明:用于设定网页字符集,便于浏览器解析与渲染页面
举例:
1 | <meta http-equiv="content-Type" content="text/html;charset=utf-8"> <!-- 旧的HTML,不推荐--> |
(2)X-UA-Compatible(浏览器采取何种版本渲染当前页面)
说明:用于告知浏览器以何种版本来渲染页面。(一般都设置为最新模式,在各大框架中这个设置也很常见。)
举例:
1 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/> <!-- 指定IE和Chrome使用最新版本渲染当前页面--> |
(3)cache-control(指定请求和响应遵循的缓存机制)
用法1.
说明:指导浏览器如何缓存某个响应以及缓存多长时间。这一段内容我在网上找了很久,但都没有找到满意的。
最后终于在Google Developers中发现了我想要的答案。
举例:
1 | <meta http-equiv="cache-control" content="no-cache"> |
共有以下几种用法:
- no-cache: 先发送请求,与服务器确认该资源是否被更改,如果未被更改,则使用缓存。
- no-store: 不允许缓存,每次都要去服务器上,下载完整的响应。(安全措施)
- public : 缓存所有响应,但并非必须。因为max-age也可以做到相同效果
- private : 只为单个用户缓存,因此不允许任何中继进行缓存。(比如说CDN就不允许缓存private的响应)
- maxage : 表示当前请求开始,该响应在多久内能被缓存和重用,而不去服务器重新请求。例如:max-age=60表示响应可以再缓存和重用 60 秒。
参考链接:HTTP缓存
用法2.(禁止百度自动转码)
说明:用于禁止当前页面在移动端浏览时,被百度自动转码。虽然百度的本意是好的,但是转码效果很多时候却不尽人意。所以可以在head中加入例子中的那句话,就可以避免百度自动转码了。
举例:
1 | <meta http-equiv="Cache-Control" content="no-siteapp" /> |
(4)expires(网页到期时间)
说明:用于设定网页的到期时间,过期后网页必须到服务器上重新传输。
举例:
1 | <meta http-equiv="expires" content="Sunday 26 October 2022 01:00 GMT" /> |
(5)refresh(自动刷新并指向某页面)
说明:网页将在设定的时间内,自动刷新并调向设定的网址。
举例:
1 | <meta http-equiv="refresh" content="2;URL=http://www.npm8.com/"> <!-- 意思是2秒后跳转向我的博客--> |
(6)Set-Cookie(cookie设定)
说明:如果网页过期。那么这个网页存在本地的cookies也会被自动删除。
1 | <meta http-equiv="Set-Cookie" content="name, date"> <!-- 格式 --> |
五、SEO优化部分
1 | <!-- 页面标题<title>标签(head 头部必须) --> |
六、其他meta标签的说明
1、地理位置标记
1 | <meta name="location" content="province=浙江;city=杭州"> |
2、指定首选URL,声明一个权威网页做为复制网页的规范版本
1 | <link rel="canonical" href="http://www.npm8.com/" > |
3、禁止百度转码
1 | <meta http-equiv="Cache-Control" content="no-transform " /> |
4、站点适配,[wml|xhtml|html5]根据手机页的协议语言,选择其中一种;url=”url” 后者代表当前PC页所对应的手机页URL,两者必须是一一对应关系。
1 | <meta name="mobile-agent"content="format=[wml|xhtml|html5]; url=url"> |
5、网站页面自适应
1 | <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no"/> |
6、applicable-device标注,帮助百度提交校验识别结果的正确性,减少百度蜘蛛把PC站当成M站,或者把M站当成PC站进行抓取。
1 | <!-- PC站 --> |
7、针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓
1 | <meta name="HandheldFriendly" content="true"> |
8、针对IOS设备
1 | <!-- 这meta的作用就是删除默认的苹果工具栏和菜单栏。 --> |
9、浏览器适配
浏览器内核控制:国内浏览器很多都是双内核(webkit和Trident),webkit内核高速浏览,IE内核兼容网页和旧版网站。
1 | <meta name="renderer" content="webkit|ie-comp|ie-stand"> |
10、优先使用IE最新版本和Chrome
1 | <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> |
11、社交标签
1 | <!-- sns 社交标签 begin --> |
12、这段代码用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出。
1 | <meta http-equiv="Pragma" content="no-cache" /> |
13、这段代码可以强制页面在当前窗口中以独立页面显示,防止自己的网页被别人当成一个frame调用。Content选项:_blank、_top、_self、_parent
1 | <meta http-equiv="windows-Target" content="_top" /> |
七、大型网站的meta展示
1、京东首页的Meta设置:
1 | <meta charset="gbk"> |
2、淘宝首页的Meta设置:
1 | <meta charset="utf-8"> |
3、youku首页的Meta设置:
1 | <meta charset="utf-8"> |
4、斗鱼首页的Meta设置:
1 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
5、腾讯网首页的Meta设置:
1 | <meta charset="UTF-8"> |