Nuxt3 与官网 SEO:从 TDK 配置到搜索引擎收录

本文适合 SEO 初学者快速上手 Nuxt3 项目的搜索引擎优化

使用 nuxt3(本文写于一年前) 做了个官网, 第一次做官网也没啥经验一切都是摸着石头过河! 开发完成后做了一些 SEO 的相关的优化,这里做一个记录

如果之前做过网站的 seo 那这篇文章对你可能没什么帮助,因为这里的目标是 谷歌、必应 搜索框输入指定关键字,可以被搜索到。

为什么使用 nuxt3?

  1. 支持服务端渲染(SSR)
  2. 支持静态站点生成(SSG)
  3. 自动生成 <meta> 标签
  4. 提供开箱即用的 SEO 优化工具
  5. 支持预渲染(Prerendering)

seo 绕不开的 TDK

TDK 分别对应标题(Title)、描述(Description)和关键词(Keywords)

  • <title>标签包含了网页的标题和主要关键词。
  • <meta name="description">标签提供了网页的描述。
  • <meta name="keywords">标签列出了相关的关键词。

这些元素对于搜索引擎优化(SEO)非常重要它们帮助搜索引擎理解网页的内容,并影响搜索结果中的显示。

一个简单的🌰

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>网页标题 - 主要关键词</title>
    <meta name="description" content="这是一个关于主要关键词的网页描述。">
    <meta name="keywords" content="主要关键词, 相关关键词, 其他关键词">
</head>
<body>
    <h1>欢迎访问</h1>
    <p>这里是我们关于主要关键词的内容。</p>
</body>
</html>

nuxt3 中如何设置 TDK

nuxt.config.ts 文件中进行配置

nuxt 3.15 不支持直接在 app 配置 seoMeta 改为在 app.vue 中使用 useSeoMeta 实现

ts 复制代码
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
  devtools: { enabled: true },
  app: {
    head: {
      title: '爱中文',
      titleTemplate: '%s',
      meta: [
        { name: 'keywords', content: '爱中文' },
        { name: 'keywords', content: '上海爱中文数字' },
        { name: 'keywords', content: '中文教育' },
        { name: 'keywords', content: '国际中文智慧教育品牌' },
        { name: 'keywords', content: '智慧教育解决方案' },
      ],
    },
  },
})

在 app.vue 中配置 seoMeta

ts 复制代码
useSeoMeta({
  title: '上海爱中文数字信息技术有限公司',
  description: '上海爱中文数字信息技术有限公司,作为一家国际中文智慧教育企业,我们致力于成为"知识服务提供商与学习技术领导者"。依托先进的数字教育技术与深厚的教学设计实力,我们携手全球中文教育领域的专家,汇聚优质中文教学资源,创新探索适应不同地域特色的海外中文学习新范式。',
})

配置完渲染出来大概是这样

上边的配置中 title 字段十分重要直接影响搜索结果

这里提一下 titleTemplate: '%s' 这样写渲染后的 title 字段会原样渲染

如果去除 titleTemplate: '%s' 则会显示,把 package.json 文件的 name 字段拼接在后边这不是咱想要的

可能你还想为每个页面单独设置

这当然是可以的而且也很简单使用内置的 useHead 或者 useSeoMeta 即可

两者看情况使用或结合一起使用

useHead

useSeoMeta

nuxt seo 利器

nuxt3 提供对应的解决方案直接引入 @nuxtjs/seo 即可,号称是 Nuxt 的完整 SEO 解决方案。

SEO 小白狂喜

该有的都有了,这里只看 sitemap.xml、robots.txt

sitemap.xml

开发环境会比线上环境多一些调试信息

线上环境 https://xxxx/sitemap.xml

开发环境 http://localhost:3000/sitemap.xml

robots.txt

线上生成的文件与本地有一定区别线上全部允许、本地全部不允许

线上环境 https://xxxx/robots.txt

开发环境 http://localhost:3000/robots.txt

自动生成 OgImage

猛击查看官网文档

ts 复制代码
defineOgImageComponent('NuxtSeo', {
  title: '全球中文教育领导者 👋',
  description: '我们携手全球中文教育领域的专家,汇聚优质中文教学资源,创新探索适应不同地域特色的海外中文学习新范式。',
  theme: '#C74043',
  colorMode: 'dark',
  siteLogo: '/img/logo/logo1.jpg', // public 目录
})

中文需要配置字体,修改 nuxt.config.ts

ts 复制代码
ogImage: {
  googleFontMirror: true, // 开启谷歌字体景象-不挂代理感觉很难下载
  fonts: [
    'Noto+Sans+SC:400',
  ],
},

使用本地字体 本地字体文件必须是 .otf 、 ttf 、 .woff ,并且位于 public 目录内。

ts 复制代码
ogImage: {
  fonts: [
    {
      name: 'AlibabaPuHuiTi',
      weight: 500,
      path: '/fonts/AlibabaPuHuiTi/AlibabaPuHuiTi-3-65-Medium.woff',
    },
  ],
},

如何在 谷歌、必应 中可以被搜索到呢?

通过各大搜索引擎提供的站点工具提交网站,可以加快网站被索引的速度

谷歌

猛击访问

添加站点时是会验证所有权,选择一种验证即可

检查下网址是否被收录,只有被收录才可以搜索到

提交下站点地图

然后等着被收录就好了,快的话 48 小时,慢的话一个周左右

必应

猛击进入必应站点管理员页面

必应可以直接拉取谷歌已验证的站点,使用谷歌登录即可!

提交下网站地图

把网站地图的网址这里在提交一次(感觉会有点用)

然后等收录,快的话48小时,慢的话一个周左右

最终结果

谷歌搜索有时会靠前有时会靠后🤪

必应搜索

总结

本文从实战角度出发,系统介绍了 Nuxt3 网站的 SEO 优化方案:

  1. TDK 配置:通过 nuxt.config.ts 和 useSeoMeta 设置标题、描述、关键词
  2. SEO 工具:使用 @nuxtjs/seo 自动生成 sitemap.xml、robots.txt 和 OgImage
  3. 搜索引擎收录:通过 Google Search Console 和 Bing Webmasters 提交站点地图,完成网站收录
相关推荐
mCell7 小时前
如何零成本搭建个人站点
前端·程序员·github
mCell8 小时前
为什么 Memo Code 先做 CLI:以及终端输入框到底有多难搞
前端·设计模式·agent
恋猫de小郭8 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
少云清8 小时前
【安全测试】2_客户端脚本安全测试 _XSS和CSRF
前端·xss·csrf
银烛木8 小时前
黑马程序员前端h5+css3
前端·css·css3
m0_607076608 小时前
CSS3 转换,快手前端面试经验,隔壁都馋哭了
前端·面试·css3
听海边涛声8 小时前
CSS3 图片模糊处理
前端·css·css3
IT、木易8 小时前
css3 backdrop-filter 在移动端 Safari 上导致渲染性能急剧下降的优化方案有哪些?
前端·css3·safari
0思必得09 小时前
[Web自动化] Selenium无头模式
前端·爬虫·selenium·自动化·web自动化
anOnion9 小时前
构建无障碍组件之Dialog Pattern
前端·html·交互设计