Next.js v15- Metadata

news2024/12/22 9:41:43

概念

在 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.coloradmin.cn/o/2262594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

告别机器人味:如何让ChatGPT写出有灵魂的内容

目录 ChatGPT的一些AI味道小问题 1.提供编辑指南 2.提供样本 3.思维链大纲 4.融入自己的想法 5.去除重复增加多样性 6.删除废话 ChatGPT的一些AI味道小问题 大多数宝子们再使用ChatGPT进行写作时&#xff0c;发现我们的老朋友ChatGPT在各类写作上还有点“机器人味”太重…

对于给定PI参数的锁相环带宽简单计算方法

锁相环的控制框图一般为&#xff1a; 对于锁相环的闭环传递函数&#xff1a; H ( s ) K P L L p s K P L L i s 2 K P L L p s K P L L i H(s)\frac{K_{PLLp}sK_{PLLi}}{s^2K_{PLLp}sK_{PLLi}} H(s)s2KPLLp​sKPLLi​KPLLp​sKPLLi​​ 我们可以通过分析系统的特征方程&a…

day14-16系统服务管理和ntp和防火墙

一、自有服务概述 服务是一些特定的进程&#xff0c;自有服务就是系统开机后就自动运行的一些进程&#xff0c;一旦客户发出请求&#xff0c;这些进程就自动为他们提供服务&#xff0c;windows系统中&#xff0c;把这些自动运行的进程&#xff0c;称为"服务" window…

【数据集】玻璃门窗缺陷检测数据集3085张5类YIOLO+VOC格式

数据集格式&#xff1a;VOC格式YOLO格式 压缩包内含&#xff1a;3个文件夹&#xff0c;分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计&#xff1a;3085 Annotations文件夹中xml文件总计&#xff1a;3085 labels文件夹中txt文件总计&#xff1a;3085 标签种类数&am…

SLM510A系列——24V,15到150mA单通道可调电流线性恒流LED驱动芯片

SLM510A 系列产品是单通道、高精度、可调电流线性恒流源的 LED 驱动芯片&#xff0c;在各种 LED 照明产品中非常简单易用。其在宽电压输入范围内&#xff0c;能保证极高的输出电流精度&#xff0c;从而在大面积的光源照明中&#xff0c;都能让 LED 照明亮度保持均匀一致。 由于…

前后端联调环境配置

1、常规情况&#xff1a;登录页和后台管理系统是同一个IP地址 // vite.config.js import { defineConfig } from vite; import vue from vitejs/plugin-vue;// https://vitejs.dev/config/ export default defineConfig({plugins: [vue()],server: {proxy: {// 将本地的 /api …

ansible的流程控制

Ansible 剧本的流程控制通过任务的顺序执行、条件语句&#xff08;when&#xff09;、循环&#xff08;with_items 等&#xff09;、错误处理&#xff08;ignore_errors 和 block&#xff09;、以及任务标签和角色来实现。可以根据条件动态控制任务执行&#xff0c;使用循环处理…

初学stm32 --- 系统时钟配置

众所周知&#xff0c;时钟系统是 CPU 的脉搏&#xff0c;就像人的心跳一样。所以时钟系统的重要性就不言而喻了。 STM32 的时钟系统比较复杂&#xff0c;不像简单的 51 单片机一个系统时钟就可以解决一切。于是有人要问&#xff0c;采用一个系统时钟不是很简单吗&#xff1f;为…

王佩丰24节Excel学习笔记——第十一讲:Vlookup函数

【以 Excel2010 系列学习&#xff0c;用 Office LTSC 专业增强版 2021 实践】 【本章小技巧】 掌握vlookup使用方法&#xff0c;选区的第一列一定是查询参数条件一。使用通配符查询。vlookup 限 255 位长度。掌握日常使用场景。使用vlookup模糊匹配查询个税 一、使用Vlookup函…

3D和AR技术在电商行业的应用有哪些?

3D展示和AR技术在电商行业的应用为消费者带来了更为直观、沉浸式的购物体验&#xff0c;显著提升了商品展示效果和销售转化率。以下是3D和AR技术在电商行业的具体应用&#xff1a; 1、商品3D展示&#xff1a; 通过3D技术&#xff0c;商品可以在电商平台上以三维形式呈现&…

springboot中Controller内文件上传到本地以及阿里云

上传文件的基本操作 <form action"/upload" method"post" enctype"multipart/form-data"> <h1>登录</h1> 姓名&#xff1a;<input type"text" name"username" required><br> 年龄&#xf…

GraphReader: 将长文本结构化为图,并让 agent 自主探索,结合的大模型长文本处理增强方法

GraphReader: 将长文本结构化为图&#xff0c;并让 agent 自主探索&#xff0c;结合的大模型长文本处理增强方法 论文大纲理解为什么大模型和知识图谱不够&#xff1f;还要多智能体 设计思路数据分析解法拆解全流程核心模式提问为什么传统的长文本处理方法会随着文本长度增加而…

HTTP接口报错详解与解决 200,500,403,408,404

前言&#xff1a; 仅做学习记录&#xff0c;侵删 背景 当后端编写接口时&#xff0c;经常需要对接口使用ApiFox或者PostMan进行测试&#xff0c;此时就会出现各种各样的报错&#xff0c;一般都会包括报错编码&#xff1a;200,400,401等。这个状态码一般是服务器所返回的包含…

智能光学计算成像技术与应用

智能光学计算成像是一个将人工智能&#xff08;AI&#xff09;与光学成像技术相结合的前沿领域&#xff0c;它通过深度学习、光学神经网络、超表面光学&#xff08;metaphotonics&#xff09;、全息技术和量子光学等技术&#xff0c;推动光学成像技术的发展。以下是智能光学计算…

QT基础和练习

基础应用&#xff1a;MyWidget.cpp #include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {this->resize(960,720); /*//qDebug//1、类似与printf&#xff08;&#xff09;的使用qDebug("%s","hello world");//2、类…

【数据集】生菜病害检测数据集530张6类YOLO+VOC格式

数据集格式&#xff1a;VOC格式YOLO格式 压缩包内含&#xff1a;3个文件夹&#xff0c;分别存储图片、xml、txt文件 JPEGImages文件夹中jpg图片总计&#xff1a;530 Annotations文件夹中xml文件总计&#xff1a;530 labels文件夹中txt文件总计&#xff1a;530 标签种类数&#…

如何用波特五力模型分析竞争环境?

这是个好问题啊&#xff01; 你要用波特五力模型分析竞争环境&#xff0c;就得先知道—— 什么是波特五力模型&#xff1f; 波特五力模型&#xff08;Porters Five Forces&#xff09;是由哈佛大学教授迈克尔波特&#xff08;Michael Porter&#xff09;提出的一个行业竞争分…

[spring]实例化对象(静动态工厂)

在前面文章的例子当中&#xff0c;我们都创建了Bean对象。spring里常用的获取类的实例化对象有几种方式&#xff1a;构造函数获取Bean对象、静态和动态工厂获取Bean对象、实现FactoryBean规范。 因为一些步骤没有什么别的不同&#xff0c;所以我不会重复去讲&#xff0c;届时会…

三、ubuntu18.04安装docker

1.使用默认ubuntu存储库安装docker 更新软件存储库 更新本地软件数据库确保可以访问最新版本。打开终端输入&#xff1a;sudo apt-get update 卸载旧版本的docker 建议继续之前卸载任何旧的docker软件。打开终端输入&#xff1a;sudo apt-get remove docker docker-engine …

Java JDK8之前传统的日期时间-Date、SimpleDateFormat、Calendar

1. Date (1) Date代表的是日期和时间 (2) 常见构造器和常用方法 构造器说明public Date()创建一个Date对象&#xff0c;代表系统当前日期和时间public Date(long time)根据传入的时间毫秒值创建一个Date对象 方法说明public long getTime()返回从1970.1.1 00:00:00到此时的毫…