Nuxt 中 useSeoMeta 与 useHead 的区别

在 Nuxt 3 中,页面标题和 SEO 元信息可以通过 useSeoMeta() 或 useHead() 设置。两者功能有重叠,但定位不同:useSeoMeta() 专注于 SEO 元标签,useHead() 则用于管理整个 HTML <head>。

useHead 可以设置页面标题吗?

可以。useHead() 能设置 title、meta、link、script 等内容:

php 复制代码
useHead({
  title: '手冲咖啡指南',
  meta: [
    {
      name: 'description',
      content: '介绍手冲咖啡的器具与冲煮方法。',
    },
  ],
  link: [
    {
      rel: 'canonical',
      href: 'https://example.com/coffee',
    },
  ],
})

Nuxt 会根据配置生成对应的 <head> 内容。

useSeoMeta 是什么?

useSeoMeta() 是专门设置 SEO 和社交分享元信息的接口。它使用更直观的字段名,也提供类型提示:

php 复制代码
useSeoMeta({
  title: '手冲咖啡指南',
  description: '介绍手冲咖啡的器具与冲煮方法。',
  ogTitle: '手冲咖啡指南',
  ogDescription: '新手也能看懂的冲煮指南。',
  ogType: 'article',
  twitterCard: 'summary',
})

例如,description 对应普通描述元标签,ogTitle 对应 Open Graph 标题,twitterCard 对应 Twitter/X 卡片类型。

两者的主要区别

对比项 useSeoMeta() useHead()
主要用途 设置 SEO、社交分享元信息 管理整个 <head>
页面标题 支持 支持
Meta 标签 SEO 常用字段 可以设置任意 meta 标签
Canonical 链接 不适合直接管理 支持
JSON-LD 脚本 不适合直接管理 支持
使用特点 字段语义明确,适合常见 SEO 配置 灵活,适合通用 head 配置

实际项目中怎么选?

简单页面可以只用 useSeoMeta():

php 复制代码
useSeoMeta({
  title: '产品介绍',
  description: '了解产品功能与使用方式。',
})

如果还需要设置 canonical、图标、JSON-LD 或其他 <head> 内容,可以配合 useHead():

php 复制代码
<script setup lang="ts">
const title = '手冲咖啡指南'
const description = '介绍手冲咖啡的器具与冲煮方法。'
const url = 'https://example.com/coffee'

useSeoMeta({
  title,
  description,
  ogTitle: title,
  ogDescription: description,
  ogUrl: url,
  ogType: 'article',
})

useHead({
  link: [{ rel: 'canonical', href: url }],
  script: [
    {
      type: 'application/ld+json',
      innerHTML: JSON.stringify({
        '@context': 'https://schema.org',
        '@type': 'Article',
        headline: title,
        description,
        mainEntityOfPage: url,
      }),
    },
  ],
})
</script>

总结

useHead() 当然可以设置 title ,也能设置 SEO 元信息;useSeoMeta() 则是为 SEO 字段设计的便捷接口。常见做法是用 useSeoMeta() 设置标题、描述和社交分享信息,用 useHead() 设置 canonical、JSON-LD 等通用内容。两者可以在同一页面配合使用。

相关推荐
垆边人似月.28 分钟前
Python中如何使用get函数实现频次查询
服务器·前端·python
moshuying44 分钟前
DeepSeek开源生产级推理框架DeepInfer:单集群一天处理155万亿token,这意味着什么?
前端
子兮曰2 小时前
PHP漏洞危机,你的网站升级了吗?
前端·后端·php
jerrywus2 小时前
给 Pi 装上生图插件:从登录报错到画出一只 200×200 的猫
前端·agent·claude
陈随易2 小时前
搞钱点子之生态鱼缸
前端·后端·程序员
PBitW2 小时前
从空目录到上线:我全程用 TRAE 做了一款微信小游戏合集(含一次完整架构重构)
前端·trae
不爱学英文的码字机器2 小时前
从Q1迁到T1,同一个编号已经换了含义
前端·数据库·microsoft
云和数据.ChenGuang2 小时前
光哥说Python 循环导入(Circular Import)深度解析:成因、排查与解决方案
开发语言·前端·人工智能·python·langchain
avi91112 小时前
【AI教人】在Inspector显示所有Delegate-Odin Inspector之三
java·前端·算法·delegate·inspector·editor扩展·unity editor
fengci.3 小时前
BUUCTF(困难部分)
android·开发语言·前端·学习·php