Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >网站SEO优化:Meta标签如何书写?Vue项目怎么优化Meta标签?

网站SEO优化:Meta标签如何书写?Vue项目怎么优化Meta标签?

原创
作者头像
Mintimate
修改于 2022-01-21 02:47:52
修改于 2022-01-21 02:47:52
4.1K5
举报
文章被收录于专栏:Mintimate's BlogMintimate's Blog

作者:Mintimate

博客:https://www.mintimate.cn

Mintimate’s Blog,只为与你分享

那句话怎么说来着的?头图不能少!
那句话怎么说来着的?头图不能少!

Meta标签

什么是Meta标签呢?这可不是最近很火的“元宇宙”或是FB。Meta标签,或者说Meta元素,是HTML内head标签的一部分。通常用于指定页面描述、关键字以及未在其他head元素、属性中提供的其他元数据。间接参与浏览器页面渲染,或者为搜索引擎的爬虫提供引导(进而让搜索引擎更好收录网站)。

对于包含HTML 4.01和XHTML的HTML,有四个有效的属性:contenthttp-equivnamescheme。在HTML 5下,现在有五个有效的属性,添加了charset。http-equiv用于模拟HTTP标题,并用name来嵌入元数据。

而我们SEO优化,就是针对SEO的有效属性,衍生出的keywordsdescriptionviewport

云+社区的Meta标签
云+社区的Meta标签

SEO优化

SEO优化是为了什么呢?总的来说,有两大作用:

  • 让搜索引擎收录,用户可以使用搜索引擎搜索到你的网站。
  • 让自己网站的搜索排名提高,用户使用搜索引擎可以更快找到你的网站。

有些人可能会说,直接把sitemap.xml丢到各大搜索引擎的站点之家不就好了?这样……一般只有收录的目的,排名和展示效果就看运气了。

SEO主要影响因素:网站内的外链网站的友情链接网站的定位和内容网站的存在时间网站的关键词网站的描述。其中,前几项取决于你body标签内具体写了什么,而后几项就是我们head标签内Meta来描述,也可以提升展示效果和排名。

我的博客在搜索引擎搜索效果
我的博客在搜索引擎搜索效果

viewport

viewport标签,如果写响应式布局的小伙伴应该很熟悉,格式为:

代码语言:txt
AI代码解释
复制
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no">

当然,content内参数你可以自定义,但是一般模版是这样。用途:

  • 移动端放大并宽度自适应

部分搜索引擎爬虫(e.g.Google)判断网站的适配性,会根据viewport,对页面进行判断;所以,这个标签最好添加上。

网站的适配性(Google)
网站的适配性(Google)

description

description标签,用一句话或一段话来描述页面的内容和信息;比如:腾讯云社区。

云+社区
云+社区
代码语言:txt
AI代码解释
复制
<meta name="description" content="云+社区是腾讯云官网开发者社区,致力于打造开发者的技术分享型社区。提供专栏,问答,沙龙等产品和服务,汇聚海量精品云计算使用和开发经验,致力于帮助开发者快速成长与发展,营造开放的云计算技术生态圈。">

有利于搜索引擎的爬取:

百度搜索引擎的效果
百度搜索引擎的效果

个人认为,一句话能言简意赅地描述主要内容最好,最好能设计关键信息,比如:云+社区,就是开发者云计算社区。让爬虫知道你网站页面是做什么的,进而大数据统计提升你的网站排名。

keywords

keywords标签,顾名思义就是关键词,网站页面设计的关键词,方便搜索引擎进行关键词录入。每次腾讯云社区,写完文章,也会让我们自定义关键词:

自定义关键词
自定义关键词

这个和Wordpress文章相识,在文章保存后,渲染为keywords标签,比如:腾讯云社区

云+社区
云+社区

这里的格式注意:词与词之间,使用半角逗号隔开(爬虫使用split分割?)。

你也可以看看搜索引擎后台的统计,看看用户一般用什么关键词搜索到你的页面,进而进行更改:

我网站的统计(Google)
我网站的统计(Google)

og标签

还有一个很重要的meta类别属性:The Open Graph protocol,就是平时meta内,name为og开头的属性,比如我博客的og标签:

代码语言:txt
AI代码解释
复制
<meta property="”og:title”" content="Mintimate's Blog">
<meta property="og:description" content="Mintimate's Blog为你我贡献经验,主要分享Linux的使用教程,同时也分享分享代码设计;偶尔荒腔走板聊聊Android、服务器以及程序员生活~~~">
<meta property="”og:image”" content="https://imagehost.mintimate.cn/index_img/od_banner.jpg">
<meta property="og:url" content="https://www.mintimate.cn/">

腾讯云官网也有og标签:

代码语言:txt
AI代码解释
复制
<meta property="og:title" content="腾讯云 - 产业智变 云启未来">
<meta property="og:description" content="腾讯云为数百万的企业和开发者提供安全稳定的云计算服务,涵盖云服务器、云数据库、云存储、视频与CDN、域名注册等全方位云服务和各行业解决方案。">
<meta property="og:image" content="https://cloudcache.tencent-cloud.com/open_proj/proj_qcloud_v2/gateway/shareicons/cloud.png">
<meta property="og:url" content="https://cloud.tencent.com">
腾讯云官网
腾讯云官网

og标签的全称是:The Open Graph protocol。用处最多的就是当用户使用百度分享等分享类插件工具,将网页分享到微博或者 facebook、twitter 时候,SNS 网站中的内容就是按照我们 OG 协议属性规定的内容呈现,以此保证信息分享更准确更符合作者所想。

更简单的理解就是分享时候的外链卡片显示……

比如:QQ就是参考OG的og:image属性设置的图片

QQ的分享外链
QQ的分享外链

现在越来越多的搜索引擎,也支持og(e.g. 百度在2015年支持爬取og标签)。

Vue项目优化

现在我们看看Vue的项目优化,因为Vue项目使用单页进行开发。实际上,单页的网站(尤其是Vue路由hash模式),搜索引擎很难爬取到(日后不知道会不会有优化了……)。相比于搜索引擎自动发现,还是手动暴露比较好。即:提交sitemap.xml和标记meta

siemap.xml这个不在今天讨论范围,这次说说meta的生成,使用Vue-meta组件。

Vue2.x

Vue2.x使用Vue-meta十分简单,没什么坑(用Vue3.x时候……呜呜呜,全是坑)。

实现的方法很多,我这里讲解我的实现思路:

VueX设置每个页面的descriptionkeywords,之后作用于Vue-meta并在路由内拦截赋值。

首先是使用npm或其他包管理器安装:

代码语言:shell
AI代码解释
复制
npm i vue-meta

因为使用了VueX,添加一个全局变量进行:

代码语言:txt
AI代码解释
复制
export default ({
  namespaced: true,
  state: {
    metaInfo: {
      title: "",
      keywords: "",
      description: ""
    }
  },
  mutations: {
    CHANGE_META_INFO(state, metaInfo) {
      state.metaInfo = metaInfo;
    }
  },
  actions: {},
  modules: {}
})
VueX内配置
VueX内配置

之后在脚手架内引入:

脚手架内引入
脚手架内引入

为了能在页面内,丝滑地更改meta内的descriptionkeywords,我们重写一下函数:

代码语言:txt
AI代码解释
复制
metaInfo() {
    return {
      title: this.$store.state.metaModule.metaInfo.title,
      meta: [
        {
          name: "keywords",
          content: this.$store.state.metaModule.metaInfo.keywords
        }, {
          name: "description",
          content: this.$store.state.metaModule.metaInfo.description
        }
      ]
    }
  },

脚手架的配置文件:

脚手架
脚手架

最后是在路由内配置前置守卫:

代码语言:txt
AI代码解释
复制
// 全局前置守卫
router.beforeEach((to, from, next) => {
  if (to.meta.metaInfo) {
    store.commit("metaModule/CHANGE_META_INFO", to.meta.metaInfo)
  }
  next()
})
前置守卫
前置守卫

到此,我们的Vue-meta就使用完成,在路由内添加即可:

Demo
Demo

效果验收:

最终效果
最终效果

至于og属性,你可以参考官网进行自定义,比如这里自定义一个og的image:og:url,全局VueX内添加:

添加
添加

之后到修改脚手架内的内容:

修改内容
修改内容

Vue内直接操作DOM元素,确实不是一个好方法,大家可以试试其他方法优化~~

效果也显而易见:

效果
效果

Vue3.x

Vue3.x的Vue-meta还在Debug,不清楚是设计原因还是全面改制,用Vue2的方法基本不能操作。尤其是description标签,不清楚是否为官方bug,我一直以为是我的代码问题,后来在GitHub的issue内看到有大神提供的解决方案:Vue-meta issue#696

思路和刚刚一样。我们先用npm等包管理器安装:

代码语言:shell
AI代码解释
复制
npm install vue-meta@next --save

之后,我们VueX内设置:

代码语言:txt
AI代码解释
复制
export default ({
  namespaced: true,
  state: {
    metaInfo: {
      title: "",
      keywords: "",
      description: ""
    }
  },
  mutations: {
    CHANGE_META_INFO(state, metaInfo) {
      state.metaInfo = metaInfo;
    }
  },
  actions: {},
  modules: {}
})
VueX
VueX

我们在脚手架main.js内引用Vue-meta:

代码语言:txt
AI代码解释
复制
// Vue-meta
import {createMetaManager} from "vue-meta";

关键的来了,重写方法:

代码语言:txt
AI代码解释
复制
const metaManager = createMetaManager(false, {
    meta: { tag: 'meta', nameless: true },
});

这样description标签才能显示正常。

脚手架最终效果
脚手架最终效果

最后,和Vue2.x一样,配置前置路由守卫:

代码语言:txt
AI代码解释
复制
// 全局前置守卫
router.beforeEach((to, from, next) => {
  if (to.meta.metaInfo) {
    store.commit("metaModule/CHANGE_META_INFO", to.meta.metaInfo)
  }
  next()
})

在路由内添加meta标签即可:

代码语言:txt
AI代码解释
复制
  {
    path: '/',
    name: 'Home',
    meta: {
      metaInfo: {
        title: "在线工具箱-By Mintimate",
        description:"Mintimate的在线工具箱,致力于打造便民服务。为开发者、Minecraft游戏爱好者,创建方便的在线工具",
        keywords: "在线工具箱,便民根据,站点根据,开发者,开发者实用工具,IP查询,图片处理,Base64转码,字数统计,字符统计,MC服务器检测,Minecraft服务器检测",
      }
    },
    component: Home
  },
路由内配置
路由内配置

最终效果

最终效果
最终效果

当然,设置og标签也一样,Vue2.x演示,这里就不演示了哦。

END

到此,网站SEO优化就讲到这里哦。Meta标签书写,还有挺多其他内容的,受限于篇幅,这次就讲这么多哦。如果文章大家喜欢,下次继续~

另外,Vue项目,提交sitemap.xml,也就是站点地图到搜索引擎也很重要哦。


最后,如果你也是开发者,而且使用或者希望使用腾讯云的产品,或者对腾讯云产品有什么意见或建议。欢迎各位开发者加入腾讯TDP哦,当然也可以进来交流交流代码技术(比如:交流交流怎么网站SEO优化……哈哈?):

TDP链接
TDP链接

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
5 条评论
热度
最新
但是爬虫好像爬不到设置的meta
但是爬虫好像爬不到设置的meta
回复回复点赞举报
6666666666
6666666666
回复回复点赞举报
不错
不错
回复回复点赞举报
单页通过提交sitemap.xml和标记meta,百度收录效果怎么样?
单页通过提交sitemap.xml和标记meta,百度收录效果怎么样?
11点赞举报
只能说,比不提交sitemap.xml和meta好很多。但是相比非单页网站,效果还是差很多。另外还看什么搜索引擎了,Google和Bing的爬取效果比百度好点。
只能说,比不提交sitemap.xml和meta好很多。但是相比非单页网站,效果还是差很多。另外还看什么搜索引擎了,Google和Bing的爬取效果比百度好点。
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
META标签优化SEO
meta标签,位于HTML文档的< head >与< title >之间,它提供的信息虽然用户不可见,但却是文档最基本的元信息。meta标签除了提供文档字符集、使用语言、作者等基本信息外,还涉及关键词和网页等级的设定。 meta标签的内容设计对搜索引擎优化(seo)来说是很重要的一个元素,合理运用Description和Keywords属性,可以优化网站。
菜菜有点菜
2022/03/17
1.9K0
meta标签大全(荐)
5、IOS中Safari设置保存到桌面图标: 这是IOS中Safari特有的meta,是在你保存某个页面到桌面的时候使用这张图作为桌面图标,so,尺寸和iphone上的一致,是57*57px
White feathe
2021/12/08
7670
Meta标签详解
  您的个人网站即使做得再精彩,在“浩瀚如海”的网络空间中,也如一叶扁舟不易为人发现,如何推广 个人网站,人们首先想到的方法无外乎以下几种:   ● 在搜索引擎中登录自己的个人网站   ● 在知名网站加入你个人网站的链接   ● 在论坛中发帖子宣传你的个人网站
全栈程序员站长
2022/07/05
6990
HTML meta标签总结与属性使用介绍
之前学习前端中,对meta标签的了解仅仅只是这一句。 <metacharset="UTF-8"> 但是打开任意的网站,其head标签内都有一列的meta标签。比如我博客的。 但是自己却很不熟悉,于是
用户1667431
2018/04/18
1.5K0
HTML meta标签总结与属性使用介绍
什么是seo优化?seo优化包括哪些内容?
什么是seo优化?seo优化包括哪些内容?近期,有很多朋友表示想自学seo优化,但对于seo的基本概念和优化内容还不清楚,今天小编就来跟大家聊聊seo优化的本质定义和涉及到的内容。 一、什么是seo优
梅子玩域名
2021/09/17
2.2K0
HTML中Meta标签的作用及使用方法
meta标签是head部的一个辅助性标签,提供关于 HTML 文档的元数据。它并不会显示在页面上,但对于机器是可读的。可用于浏览器(如何显示内容或重新加载页面),搜索引擎(SEO),或其他 web 服务。<hr>
闻语博客
2021/01/21
1.3K0
Meta标签的那些事
Meta标签是HTML语言head区的一个辅助性标签,它位于HTML文档头部的head标记和title标记之间,它提供用户不可见的信息。它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词)
用户1667431
2018/04/18
9450
Meta标签的那些事
Silverlight SEO优化
Silverlight SEO优化 SEO优化 2008年10月份,微软发布了针对Silverlight应用程序进行搜索引擎优化的指导文档,该文档描述了对Silverlight应用程序进行搜索 引擎优化一些最佳实践。这些实践知识可以帮助开发人员将他们开发的基于Silverlight的内容能够出现在搜索引擎的页面上,并对那些没有启用或者没 有安装Silverlight插件的用户也能够提供一种让人接受的访问体验。 搜索引擎识别的是HTML内容,并不能识别Silverlight内容,这与不能识别HTML中的
用户1172164
2018/01/16
8410
SEO运用meta标签进行网站优化
隐藏状态栏/设置状态栏颜色:只有在开启WebApp全屏模式时才生效。content的值为default | black | black-translucent 。
Java学习录
2019/08/01
1K1
SEO运用meta标签进行网站优化
新网站如何做好SEO优化 尽快被收录
对于新网站,百度等搜索引擎会有一定的扶持,所以在网站上线之前一定要做好规划,为了网站往什么领域发展、所涉猎的内容等都要提前想好。
德顺
2019/11/13
1K0
网站SEO、meta关键词优化
功能:禁止所有搜索引擎索引本页面,禁止跟踪本页面上的链接。(如有特殊页面不希望被搜索到结果页,可使用)
有勇气的牛排
2023/06/25
3250
网页中meta标签的使用
最近,看《Mastering Integrated HTML and CSS》时,在"为适应搜索引擎而调整网站"一节简要介绍了<meta>标签。不过,介绍比较粗略。
williamwong
2018/07/24
1.5K0
vue meta设置页面
在项目中,有一个搜索页面,需要根据不同的关键字,动态修改meta信息,用于seo优化。
py3study
2021/03/23
3.4K0
常用meta标签属性整理总汇
注意,很多人使用initial-scale=1到非响应式网站上,这会让网站以100%宽度渲染,用户需要手动移动页面或者缩放。如果和initial-scale=1同时使用user-scalable=no或maximum-scale=1,则用户将不能放大/缩小网页来看到全部的内容。
德顺
2019/11/12
1.1K0
详解robots.txt和Robots META标签
大家好,又见面了,我是你们的朋友全栈君。对于网站管理者和内容提供者来说,有时候会有一些站点内容,不希望被ROBOTS抓取而公开。为了解决这个问题,ROBOTS开发界提供了两个办法:一个是robots.txt,另一个是The Robots meta标签。
全栈程序员站长
2022/08/27
1.2K0
Vue路由以及SEO配置
hash模式对应的路由是类似于这个样子的 http://localhost:8080/#/about
码客说
2019/10/22
1.5K0
WordPress SEO优化:添加OG协议标签
翻看一些主流网址的网页源代码,在 HTTP 头部经常能看到一些 og:type、og:title、og:image 的 meta 标签。这些 OG 是什么东西?有什么用?针对这些问题,虫子菌为你整理了以下资料。
Yangsh888
2022/08/15
1.1K0
pc移动中常用的meta标签
字符编码:声明文档使用的字符编码 相对于这种方式,更推荐你(推荐使用HTML5的声明方式)。
河湾欢儿
2018/09/06
7150
HTML中的Meta标签
Meta标签是HTML语言head区的一个辅助性标签,它位于HTML文档头部的head标记和title标记之间,它提供用户不可见的信息。它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他web服务。
零式的天空
2022/03/22
3.1K0
<meta>标签的作用
<META> 是放于 <HEAD> 与 </HEAD>之间的标记,功用与变化等对,所以我公式化地介绍。 <meta name="Description" content="This is Chris's Home Page"> 该网页的描述,作用于搜索引擎的登录。 <meta name="Keywords" content="Chris, Web, Music, photo"> 该网页的关键字,作用于搜索引擎的登录。 <meta http-equiv="Expires" content="Tue, 09 Dec 1997 00:00:00 GMT"> <meta http-equiv="Pragma" content="no-cache"> 以上行功能相同,都是要浏览器重新载入该页,不要使用快取功能,当然可以修改 Expire (过期)时间。 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 设定这是 HTML 文件及其编码语系,简体中文网页使用charset=gb2312,繁体中文使用charset=big5,或者不设编码也可,纯英文网页建议使用 iso-8859-1。 <meta name="GENERATOR" content="Mozilla/4.04 [en] (Win95; I) [Netscape]"> <meta name="GENERATOR" content="Microsoft FrontPage 3.0"> 这只表示该网页由什么编辑器写的。 <meta http-equiv="refresh" content="10; url=http://www.hkiwc.com/"> 这行较为实用,能于预定秒数内自动转到指定网址。原代码中 10 表示 10秒。
大道七哥
2019/09/10
7910
相关推荐
META标签优化SEO
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文