![Nuxt](https://cnd.51blog.xyz/images/nuxt-logo.png)
Nuxt 官网地址:[https://nuxt.com/](https://nuxt.com/)
# SEO 和 Meta
Nuxt 可以通过 3 种方式提高 Nuxt 应用程序的搜索引擎优化:
- 强大的头部配置`nuxt.config`
- 组合式函数`useHead`
- 组件`Head`、`Title`、`Meta`等
## 默认值
在开箱即用的情况下,Nuxt 提供了合理的默认值,如:
- `charset: utf-8`
- `viewport: width=device-width, initial-scale=1`
如果需要,可以覆盖这些默认值,还可以设置 title 和 meta,如下代码示例:
```typescript
// nuxt.config.ts
export default defineNuxtConfig({
app: {
head: {
charset: "utf-8",
viewport: "width=device-width, initial-scale=1",
title: "Nuxt3学习实践",
meta: [
name: "description",
content: "菜鸟小白nuxt3从入门到精通,边理论边实践",
上面的代码运行结果可以通过在浏览器中查看网页源代码。
在`nuxt.config.ts`中提供`app.head`属性允许自定义整个应用程序的`head`。
> **缺点**:这种方式无法使用响应式数据。
> 如果需要,推荐在 app.vue 或者在页面中使用`useHead`组合式函数。
## useHead
`useHead`组合式函数允许我们通过[Unhead](https://unhead.unjs.io/)以编程和响应式的方式管理页面的`head`标签。
与所有组合式函数一样,它只能用在组件的`setup`函数和生命周期钩子中。
```vue
// app.vue
我们建议您查看[useHead](https://nuxt.com/docs/api/composables/use-head)和[useHeadSafe](https://nuxt.com/docs/api/composables/use-head-safe)组件。
## useSeoMeta 和 useServerSeoMeta
通过`useSeoMeta`和`useServerSeoMeta`组合式函数,可以将网站的 SEO 元标签定义为一个完全支持 TypeScript 的扁平对象。
这可以帮助您避免错别字和常见错误,例如使用`name`而不是`property`。
```vue
// pages/about.vue
了解更多关于[useSeoMeta](https://nuxt.com/docs/api/composables/use-seo-meta)和[useServerSeoMeta](https://nuxt.com/docs/api/composables/use-server-seo-meta)可组合项的信息。
## Components
Nuxt 提供了`
`、``、`