当前位置: 首页 > article >正文

Next.js v15- Metadata

概念

在 Web 开发中,Metadata提供有关网页的其他详细信息。元数据对访问页面的用户不可见。相反,它在幕后工作,嵌入到页面的 HTML 中,通常在<head>元素中。这些隐藏信息对于需要更好地了解您网页内容的搜索引擎和其他系统至关重要。

类型

  • Title:负责浏览器选项卡上显示的网页的标题。这对 SEO 至关重要,因为它可以帮助搜索引擎了解网页的内容。
<title>Page Title</title>
  • Description:提供网页内容的简要概述,通常显示在搜索引擎结果中
<meta name="description" content="A brief description of the page content." />
  • Keyword: 包括与网页内容相关的关键字,帮助搜索引擎为页面编制索引。
<meta name="keywords" content="keyword1, keyword2, keyword3" />
  • Open Graph: 增强了网页在社交媒体平台上共享时的表示方式,提供标题、描述和预览图像等信息。
<meta property="og:title" content="Title Here" />
<meta property="og:description" content="Description Here" />
<meta property="og:image" content="image_url_here" />

添加Metadata

Next.js 具有可用于定义应用程序元数据的Metadata API。有两种方法可以将Metadata添加到应用程序

  • Config-based:在 layout.js 或 page.js 文件中导出静态metadata对象或动态generateMetadata函数
  • File-based:Next.js具有一系列专门用于元数据的特殊文件:
    favicon.ico 、 apple-icon.jpg 和 icon.jpg :用于网站图标和图标
    opengraph-image.jpg和 twitter-image.jpg : 用于社交媒体图像
    robots.txt :提供搜索引擎抓取的说明
    sitemap.xml :提供有关网站结构的信息

您可以灵活地将这些文件用于静态Metadata,也可以在项目中以编程方式生成它们,使用这两个选项,Next.js 将自动生成页面的相关<head>元素。

应用

在根布局中,使用以下字段创建新metadata对象
/app/layout.tsx:

import { Metadata } from 'next';
 
export const metadata: Metadata = {
  title: 'Acme Dashboard',
  description: 'The official Next.js Course Dashboard, built with App Router.',
  metadataBase: new URL('https://next-learn-dashboard.vercel.sh'),
};
 
export default function RootLayout() {
  // ...
}

Next.js 会自动将标题和元数据添加到您的应用程序中。

如果您想为特定页面添加自定义标题,以通过向页面本身添加对象metadata来执行此操作。嵌套页面中的元数据将覆盖父页面中的元数据。
例如,在页面中/dashboard/invoices,您可以更新页面标题:
/app/dashboard/invoices/page.tsx

import { Metadata } from 'next';
 
export const metadata: Metadata = {
  title: 'Invoices | Acme Dashboard',
};

如果想在每个页面都有对应应用程序的标题,可以使用metadata对象中的title.template字段来定义页面标题的模板。此模板可以包含页面标题以及要包含的任何其他信息。
在根布局中,更新metadata对象以包含模板:

import { Metadata } from 'next';
 
export const metadata: Metadata = {
  title: {
    template: '%s | Acme Dashboard',
    default: 'Acme Dashboard',
  },
  description: 'The official Next.js Learn Dashboard built with App Router.',
  metadataBase: new URL('https://next-learn-dashboard.vercel.sh'),
};

在/dashboard/invoices页面中,可以添加页面标题

export const metadata: Metadata = {
  title: 'Invoices',
};

导航到页面/dashboard/invoices并检查<head>元素。您应该会看到页面标题为 Invoices | Acme Dashboard .


http://www.kler.cn/a/446453.html

相关文章:

  • TCL发布万象分区,再造Mini LED技术天花板
  • 搜索召回概要
  • 1. JasperSoft介绍与安装
  • wireshark初认识
  • 关于小程序内嵌h5打开新的小程序
  • *【每日一题 基础题】 [蓝桥杯 2023 省 B] 飞机降落
  • vimdc
  • 【活动邀请·深圳】深圳COC社区 深圳 AWS UG 2024 re:Invent re:Cap
  • 【c++笔试强训】(第四十一篇)
  • 4_使用 HTML5 Canvas API (3) --[HTML5 API 学习之旅]
  • 青少年编程与数学 02-004 Go语言Web编程 13课题、模板引擎
  • Linux之磁盘管理相关命令
  • nginx长连接配置
  • 二维码:理解二维码 / 生成二维码 / 小程序支持哪种类型的二维码 / 小程序识别GS1码
  • 【postgresql初级使用】小小索引大用途,奇妙的索引让大数据查询提升成百上千倍,多种索引类型的区别,你用对索引了吗?
  • centOS定时任务-cron服务
  • javaFX.(蜜雪冰城点餐小程序)MySQL数据库
  • flask-admin的modelview 实现list列表视图中扩展修改状态按钮
  • 【Prompt Engineering】6 文本扩展
  • ML 系列:第 40 节 — 最大似然MLE 的简单问题
  • 【WRF教程第3.1期】预处理系统 WPS 详解:以4.5版本为例
  • 利用Java获取淘宝商品详情API接口的深入指南引言
  • iOS 应用的生命周期
  • 【论文复刻】新型基础设施建设是否促进了绿色技术创新的“量质齐升”—来自国家智慧城市试点的证据(C刊《中国人口·资源与环境》
  • Apache Solr RCE(CVE-2017-12629)--vulhub
  • electron-vite打包后图标不生效问题