本文是书接上文,如果是看到这篇是建议新看这两篇在过来看这篇文章哈
同样这篇文章是该next seo工具的使用的是最后一篇文章了,对这篇文章不理解的小伙伴还是建议点击上面的章节去阅读一下。
视频
import { VideoJsonLd } from 'next-seo';
const Page = () => (
<>
<h1>Video JSON-LD</h1>
<VideoJsonLd
name="How to make a Party Coffee Cake"
description="This is how you make a Party Coffee Cake."
contentUrl="http://www.example.com/video123.mp4"
embedUrl="http://www.example.com/videoplayer?video=123"
uploadDate="2018-02-05T08:00:00+08:00"
duration="PT1M33S"
thumbnailUrls={[
'https://example.com/photos/1x1/photo.jpg',
'https://example.com/photos/4x3/photo.jpg',
'https://example.com/photos/16x9/photo.jpg',
]}
expires="2019-02-05T08:00:00+08:00"
hasPart={{
name: 'Preheat oven',
startOffset: 30,
url: 'http://www.example.com/example?t=30',
}}
watchCount={2347}
publication={{
isLiveBroadcast: true,
startDate: '2020-10-24T14:00:00+00:00',
endDate: '2020-10-24T14:37:14+00:00',
}}
regionsAllowed={['IT', 'NL']}
/>
</>
);
export default Page;
必需属性
财产 | 信息 |
---|---|
name | 视频的标题。 |
description | 视频的说明。HTML 标记将被忽略。 |
thumbnailUrl | 指向视频缩略图图像文件的 URL。 |
uploadDate | 视频的首次发布日期,采用 ISO 8601 格式。 |
推荐属性
财产 | 信息 |
---|---|
contentUrl | 指向实际视频媒体文件的 URL,采用受支持的编码格式之一。 |
duration | ISO 8601 格式的视频持续时间 |
embedUrl | 指向特定视频播放器的 URL。 |
expires | 如果适用,则视频将不再可用的日期。 |
interactionStatistic | 视频被观看的次数。 |
publication | 如果您的视频正在直播,并且您希望有资格获得直播徽章。 |
regionsAllowed | 允许视频的区域。 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
电子游戏
import { VideoGameJsonLd } from 'next-seo';
const Page = () => (
<>
<h1>VideoGame JSON-LD</h1>
<VideoGameJsonLd
name="Red Dead Redemption 2"
translatorName={['Translator 1', 'Translator 2']}
languageName={['English', 'Kurdish']}
description="Arthur Morgan and the Van der Linde gang are outlaws on the run. With federal agents and the best bounty hunters in the nation massing on their heels, the gang must rob, steal and fight their way across the rugged heartland of America in order to survive."
processorRequirements="4 GHz"
memoryRequirements="16 Gb"
playMode="SinglePlayer"
applicationCategory="Game"
url="https://example.com/rdr2-game"
platformName={['PC game', 'PlayStation 4']}
operatingSystemName="windows"
keywords="outlaw, gang, federal agents"
datePublished="2019-02-05T08:00:00+08:00"
image="https://example.com/photos/1x1/photo.jpg"
publisherName="Vertical Games"
producerName="Rockstar Games"
producerUrl="https//www.example.com/producer"
offers={[
{
price: '119.99',
priceCurrency: 'USD',
priceValidUntil: '2020-11-05',
availability: 'https://schema.org/InStock',
url: 'https://example.net/rdr2-game',
seller: {
name: 'Executive Gaming',
},
},
{
price: '139.99',
priceCurrency: 'CAD',
priceValidUntil: '2020-09-05',
availability: 'https://schema.org/InStock',
url: 'https://example.org/rdr2-game',
seller: {
name: 'Executive Gaming',
},
},
]}
aggregateRating={{
ratingValue: '44',
reviewCount: '89',
ratingCount: '684',
bestRating: '100',
worstRating: '1',
}}
reviews={[
{
author: {
type: 'Person',
name: 'AhmetKaya',
},
publisher: {
type: 'Organization',
name: 'Gam Production',
},
datePublished: '2017-01-06T03:37:40Z',
reviewBody: 'Iki gozum.',
name: 'Rica ederim.',
reviewRating: {
bestRating: '5',
ratingValue: '5',
worstRating: '1',
},
},
]}
/>
</>
);
export default Page;
必需属性
财产 | 信息 |
---|---|
name | 视频游戏的标题。 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
事件
import { EventJsonLd } from 'next-seo';
const Page = () => (
<>
<h1>Event JSON-LD</h1>
<EventJsonLd
name="My Event"
startDate="2020-01-23T00:00:00.000Z"
endDate="2020-01-24T00:00:00.000Z"
location={{
name: 'My Place',
sameAs: 'https://example.com/my-place',
address: {
streetAddress: '1600 Saratoga Ave',
addressLocality: 'San Jose',
addressRegion: 'CA',
postalCode: '95129',
addressCountry: 'US',
},
}}
url="https://example.com/my-event"
images={['https://example.com/photos/photo.jpg']}
description="My event @ my place"
offers={[
{
price: '119.99',
priceCurrency: 'USD',
priceValidUntil: '2020-11-05',
itemCondition: 'https://schema.org/UsedCondition',
availability: 'https://schema.org/InStock',
url: 'https://www.example.com/executive-anvil',
seller: {
name: 'John Doe',
},
validFrom: '2020-11-01T00:00:00.000Z',
},
{
price: '139.99',
priceCurrency: 'CAD',
priceValidUntil: '2020-09-05',
itemCondition: 'https://schema.org/UsedCondition',
availability: 'https://schema.org/InStock',
url: 'https://www.example.ca/executive-anvil',
seller: {
name: 'John Doe Sr.',
},
validFrom: '2020-08-05T00:00:00.000Z',
},
]}
performers={[
{
name: 'Adele',
},
{
name: 'Kira and Morrison',
},
]}
organizer={{
type: 'Organization',
name: 'Unnamed organization',
url: 'https://www.unnamed.com',
}}
eventStatus="EventScheduled"
eventAttendanceMode="OfflineEventAttendanceMode"
/>
</>
);
export default Page;
必需属性
财产 信息
name 事件的名称
startDate 事件的开始日期时间,采用 iso8601 格式
endDate 事件的结束日期时间,采用 iso8601 格式
location 事件的地点,可以是 或PlaceVirtualLocation
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
支持的属性
财产 | 信息 |
---|---|
description | 事件描述 |
location.name | 位置名称 |
location.sameAs | 用于标识位置的参考网页的 URL |
images | 事件的一个或多个图像。 |
url | 事件的完全限定 URL。 |
offers | 转让项目某些权利或提供服务的要约。您可以将其作为单个对象提供,也可以将其作为具有以下属性的对象数组提供。 |
performers | 所有在本次活动中表演的艺术家。您可以将其作为单个对象提供,也可以将其作为具有以下属性的对象数组提供。 |
performers.name | 执行者的姓名 |
performers.type | Either 或PersonPerformingGroup |
organizer | 活动组织者 |
organizer.type | Either 或OrganizationPerson |
organizer.name | 活动组织者的名称 |
organizer.url | 活动组织者的 URL |
eventStatus | 事件的状态,类型EventStatus |
eventAttendanceMode | 活动的出席模式,类型EventAttendanceMode |
EventStatus
类型
- “事件取消”
- “事件移动在线”
- “事件推迟”
- “事件重新安排”
- “事件计划”
EventAttendanceMode
类型
- “MixedEventAttendanceMode”(混合事件考勤模式)
- “离线事件考勤模式”
- “OnlineEventAttendanceMode”(在线事件考勤模式)
提供必需属性
财产 | 信息 |
---|---|
offers.price | 要约的成本 |
offers.priceCurrency | 要约的货币 |
提供推荐属性
财产 | 信息 |
---|---|
offers.priceValidUntil | 直到优惠价格到期时 |
offers.itemCondition | 产品或服务的状况 |
offers.availability | 此商品的可用性 — 例如有货、缺货、预购等。 |
offers.url | 项目的 URL |
offers.seller | 销售此商品的人 |
offers.seller.name | 此人的姓名 |
offers.validFrom | 从什么时候开始,报价的价格是有效的 |
该物业也可用于: (如果设置,则忽略)
必需属性
财产 | 信息 |
---|---|
lowPrice | 所有优惠中的最低价格。使用浮点数。 |
priceCurrency | 用于描述产品价格的货币,采用三个字母的 ISO 4217 格式。 |
推荐属性
财产 | 信息 |
---|---|
highPrice | 所有优惠中的最高价格。使用浮点数。 |
offerCount | 产品的报价数量。 |
Q&A问答
问答页面是包含问答格式数据的网页,这是一个问题,然后是答案。
import { QAPageJsonLd } from 'next-seo';
const Page = () => (
<>
<h1>Q&A Page JSON-LD</h1>
<QAPageJsonLd
mainEntity={{
name: 'How many ounces are there in a pound?',
text: 'I have taken up a new interest in baking and keep running across directions in ounces and pounds. I have to translate between them and was wondering how many ounces are in a pound?',
answerCount: 3,
upvoteCount: 26,
dateCreated: '2016-07-23T21:11Z',
author: { name: 'New Baking User' },
acceptedAnswer: {
text: '1 pound (lb) is equal to 16 ounces (oz).',
dateCreated: '2016-11-02T21:11Z',
upvoteCount: 1337,
url: 'https://example.com/question1#acceptedAnswer',
author: {
name: 'SomeUser',
},
},
suggestedAnswer: [
{
text: 'Are you looking for ounces or fluid ounces? If you are looking for fluid ounces there are 15.34 fluid ounces in a pound of water.',
dateCreated: '2016-11-02T21:11Z',
upvoteCount: 42,
url: 'https://example.com/question1#suggestedAnswer1',
author: {
name: 'AnotherUser',
},
},
{
text: `I can't remember exactly, but I think 18 ounces in a lb. You might want to double check that.`,
dateCreated: '2016-11-06T21:11Z',
upvoteCount: 0,
url: 'https://example.com/question1#suggestedAnswer2',
author: {
name: 'ConfusedUser',
},
},
],
}}
/>
</>
);
export default Page;
必需属性
财产 | 信息 |
---|---|
mainEntity | 此页面的问题必须嵌套在 QAPageJsonld 组件的 mainEntity 属性下。 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
mainEntity必需属性
财产 | 信息 |
---|---|
answerCount | 问题的答案总数。 |
acceptedAnswer或suggestedAnswer | 要获得富媒体搜索结果的条件,问题必须至少有一个答案,即 acceptedAnswer 或 suggestedAnswer。 |
name | 问题的简写全文。 |
mainEntity支持的属性
财产 | 信息 |
---|---|
author | 问题的作者。 |
dateCreated | 将问题添加到页面的日期,采用 ISO-8601 格式。 |
text | 问题的长格式全文。 |
upvoteCount | 该问题获得的总票数。 |
acceptedAnswer/suggestedAnswer 必需属性
财产 | 信息 |
---|---|
text | 答案全文。 |
acceptedAnswer/suggestedAnswer 支持的属性
财产 | 信息 |
---|---|
author | 问题的作者。 |
dateCreated | 将问题添加到页面的日期,采用 ISO-8601 格式。 |
upvoteCount | 该问题获得的总票数。 |
url | 直接链接到此答案的 URL。 |
收藏页面
集合页面是网页。每个网页都隐式假定为WebPage类型,因此可以使用有关该网页的各种属性,例如痕迹导航。如果指定了这些属性,我们建议显式声明,但如果在 itemscope 之外找到它们,则假定它们与页面有关。
import { CollectionPageJsonLd } from 'next-seo';
const Page = () => (
<>
<h1>Collection Page JSON-LD</h1>
<CollectionPageJsonLd
name="Resistance 3: Fall of Man"
hasPart={[
{
about:
'Britten Four Sea Interludes and Passacaglia from Peter Grimes',
author: 'John Doe',
name: 'Schema.org Ontology',
datePublished: '2021-03-09',
audience: 'Internet',
keywords: 'schema',
thumbnailUrl: 'https://i.ytimg.com/vi/eXSJ3PO9Tas/hqdefault.jpg',
image: 'hqdefault.jpg',
},
{
about: 'Shostakovich Symphony No. 7 (Leningrad)',
author: 'John Smith',
name: 'Creative work name',
datePublished: '2014-10-01T19:30',
},
]}
/>
</>
);
export default Page;
必需属性
财产 | 信息 |
---|---|
name | 项的名称。 |
hasPart | 指示属于此项的项或 CreativeWork,或 CreativeWork(在某种意义上)。 |
支持的属性
财产 | 信息 |
---|---|
hasPart.creativeWork | 最普通的创意作品,包括书籍、电影、照片、软件程序等 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
creativeWork(创意工作)必需属性
财产 | 信息 |
---|---|
hasPart.creativeWork.author | 此内容或评级的作者。请注意,author 的特殊之处在于 HTML 5 提供了一种特殊的机制,用于通过 rel 标签来指示作者身份。这等同于此,可以互换使用。 |
hasPart.creativeWork.about | 内容的主题。 |
hasPart.creativeWork.datePublished | 首次广播/出版日期。 |
hasPart.creativeWork.name | 项的名称。 |
creativeWork(创意工作)支持的属性
财产 | 信息 |
---|---|
hasPart.creativeWork.audience | 目标受众,即为其创建某些东西的群体。 |
hasPart.creativeWork.keywords | 用于描述此内容的关键字或标签。关键字列表中的多个条目通常用逗号分隔。 |
hasPart.creativeWork.thumbnailUrl | 与事物相关的缩略图。 |
hasPart.creativeWork.image | 项目的图像。这可以是 URL 或完全描述的 ImageObject。 |
“个人资料”页
个人资料页面是网页。每个网页都隐式假定为WebPage类型,因此可以使用有关该网页的各种属性,例如痕迹导航。如果指定了这些属性,我们建议显式声明,但如果在 itemscope 之外找到它们,则假定它们与页面有关。
import { ProfilePageJsonLd } from 'next-seo';
const Page = () => (
<>
<h1>Profile page JSON-LD</h1>
<ProfilePageJsonLd
lastReviewed="2014-10-01T19:30"
breadcrumb={[
{
position: 1,
name: 'Books',
item: 'https://example.com/books',
},
{
position: 2,
name: 'Authors',
item: 'https://example.com/books/authors',
},
]}
/>
</>
);
export default Page;
必需属性
财产 | 信息 |
---|---|
breadcrumb | 一组链接,可帮助用户理解和导航表示为字符串或 BreadcrumbList 的网站层次结构。 |
支持的属性
财产 | 信息 |
---|---|
lastReviewed | 上次审查本网页内容的准确性和/或完整性的日期。 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
Carousel
Carousel 组件的必需属性
财产 | 信息 |
---|---|
type | 轮播的类型 |
data | 轮播中项目列表的数组形式的数据 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
默认值(摘要列表)
import React from 'react';
import { CarouselJsonLd } from 'next-seo';
export default () => (
<>
<h1>Carousel Default JSON-LD</h1>
<CarouselJsonLd
ofType="default"
data={[
{ url: 'http://example.com/peanut-butter-cookies.html' },
{
url: 'http://example.com/triple-chocolate-chunk.html',
},
]}
/>
</>
);
数据必需属性
财产 | 信息 |
---|---|
url | 项目详细信息页面的 URL。 |
课程
import React from 'react';
import { CarouselJsonLd } from 'next-seo';
export default () => (
<>
<h1>Carousel Course JSON-LD</h1>
<CarouselJsonLd
ofType="course"
data={[
{
courseName: 'Course 1',
description: 'Course 1 Description',
providerName: 'Course Provider',
url: 'http://example.com/course-1.html',
},
{
courseName: 'Course 2',
description: 'Course 2 Description',
providerName: 'Course Provider',
url: 'http://example.com/course-2.html',
},
]}
/>
</>
);
数据必需属性
财产 | 信息 |
---|---|
courseName | 课程的标题。 |
description | 课程说明。显示限制为 60 个字符。 |
providerName | 课程提供者名称。 |
url | 项目详细信息页面的 URL。 |
数据 推荐属性
财产 | 信息 |
---|---|
providerUrl | 课程提供者的 URL。 |
电影
import React from 'react';
import { CarouselJsonLd } from 'next-seo';
export default () => (
<>
<h1>Carousel Movie JSON-LD</h1>
<CarouselJsonLd
ofType="movie"
data={[
{
name: 'Movie 1',
url: 'http://example.com/movie-1.html',
image:
'https://i.pinimg.com/originals/96/a0/0d/96a00d42b0ff8f80b7cdf2926a211e47.jpg',
director: {
name: 'John Doe',
},
review: {
author: { type: 'Person', name: 'Ronan Farrow' },
reviewBody:
'Heartbreaking, inpsiring, moving. Bradley Cooper is a triple threat.',
reviewRating: { ratingValue: '5' },
},
},
{
name: 'Movie 2',
url: 'http://example.com/movie-1.html',
image:
'https://i.pinimg.com/originals/96/a0/0d/96a00d42b0ff8f80b7cdf2926a211e47.jpg',
director: [
{
name: 'Mary Doe',
},
{
name: 'John Doe',
},
],
review: {
author: { type: 'Person', name: 'Ronan Farrow' },
reviewBody:
'Heartbreaking, inpsiring, moving. Rowan Atkinson is a triple threat.',
reviewRating: { ratingValue: '5' },
},
},
]}
/>
</>
);
数据必需属性
财产 | 信息 |
---|---|
name | 电影的名称。 |
image | 表示电影的图像。 |
url | 项目详细信息页面的 URL。 |
数据 推荐属性
财产 | 信息 |
---|---|
director | 这部电影的导演。 |
dateCreated | 电影的上映日期。 |
aggregateRating | 电影的聚合评级对象。 |
review | 电影评论。 |
食谱
import React from 'react';
import { CarouselJsonLd } from 'next-seo';
export default () => (
<>
<h1>Carousel Recipe JSON-LD</h1>
<CarouselJsonLd
ofType="recipe"
data={[
{
name: 'Party Coffee Cake',
url: 'http://example.com/recipe-1.html',
images: [
'https://example.com/photos/1x1/photo.jpg',
'https://example.com/photos/4x3/photo.jpg',
'https://example.com/photos/16x9/photo.jpg',
],
authorName: 'Mary Stone',
datePublished: '2018-03-10',
description: 'This coffee cake is awesome and perfect for parties.',
prepTime: 'PT20M',
cookTime: 'PT30M',
totalTime: 'PT50M',
keywords: 'cake for a party, coffee',
yields: '10',
category: 'Dessert',
calories: 270,
cuisine: 'American',
ingredients: [
'2 cups of flour',
'3/4 cup white sugar',
'2 teaspoons baking powder',
'1/2 teaspoon salt',
'1/2 cup butter',
'2 eggs',
'3/4 cup milk',
],
instructions: [
{
name: 'Preheat',
text: 'Preheat the oven to 350 degrees F. Grease and flour a 9x9 inch pan.',
url: 'https://example.com/party-coffee-cake#step1',
image: 'https://example.com/photos/party-coffee-cake/step1.jpg',
},
{
name: 'Mix dry ingredients',
text: 'In a large bowl, combine flour, sugar, baking powder, and salt.',
url: 'https://example.com/party-coffee-cake#step2',
image: 'https://example.com/photos/party-coffee-cake/step2.jpg',
},
{
name: 'Spread into pan',
text: 'Spread into the prepared pan.',
url: 'https://example.com/party-coffee-cake#step4',
image: 'https://example.com/photos/party-coffee-cake/step4.jpg',
},
{
name: 'Bake',
text: 'Bake for 30 to 35 minutes, or until firm.',
url: 'https://example.com/party-coffee-cake#step5',
image: 'https://example.com/photos/party-coffee-cake/step5.jpg',
},
],
aggregateRating: {
ratingValue: '5',
ratingCount: '18',
},
video: {
name: 'How to make a Party Coffee Cake',
description: 'This is how you make a Party Coffee Cake.',
thumbnailUrls: [
'https://example.com/photos/1x1/photo.jpg',
'https://example.com/photos/4x3/photo.jpg',
'https://example.com/photos/16x9/photo.jpg',
],
contentUrl: 'http://www.example.com/video123.mp4',
embedUrl: 'http://www.example.com/videoplayer?video=123',
uploadDate: '2018-02-05T08:00:00+08:00',
duration: 'PT1M33S',
expires: '2019-02-05T08:00:00+08:00',
},
},
{
name: 'Party Coffee Cake 2',
url: 'http://example.com/recipe-2.html',
images: [
'https://example.com/photos/1x1/photo.jpg',
'https://example.com/photos/4x3/photo.jpg',
'https://example.com/photos/16x9/photo.jpg',
],
authorName: 'Mary Stone 2',
datePublished: '2018-03-10',
description: 'This coffee cake is awesome and perfect for parties.',
prepTime: 'PT20M',
cookTime: 'PT30M',
totalTime: 'PT50M',
keywords: 'cake for a party, coffee',
yields: '10',
category: 'Dessert',
calories: 270,
cuisine: 'American',
ingredients: [
'2 cups of flour',
'3/4 cup white sugar',
'2 teaspoons baking powder',
'1/2 teaspoon salt',
'1/2 cup butter',
'2 eggs',
'3/4 cup milk',
],
instructions: [
{
name: 'Preheat',
text: 'Preheat the oven to 350 degrees F. Grease and flour a 9x9 inch pan.',
url: 'https://example.com/party-coffee-cake#step1',
image: 'https://example.com/photos/party-coffee-cake/step1.jpg',
},
{
name: 'Mix dry ingredients',
text: 'In a large bowl, combine flour, sugar, baking powder, and salt.',
url: 'https://example.com/party-coffee-cake#step2',
image: 'https://example.com/photos/party-coffee-cake/step2.jpg',
},
{
name: 'Spread into pan',
text: 'Spread into the prepared pan.',
url: 'https://example.com/party-coffee-cake#step4',
image: 'https://example.com/photos/party-coffee-cake/step4.jpg',
},
{
name: 'Bake',
text: 'Bake for 30 to 35 minutes, or until firm.',
url: 'https://example.com/party-coffee-cake#step5',
image: 'https://example.com/photos/party-coffee-cake/step5.jpg',
},
],
aggregateRating: {
ratingValue: '5',
ratingCount: '18',
},
video: {
name: 'How to make a Party Coffee Cake',
description: 'This is how you make a Party Coffee Cake.',
thumbnailUrls: [
'https://example.com/photos/1x1/photo.jpg',
'https://example.com/photos/4x3/photo.jpg',
'https://example.com/photos/16x9/photo.jpg',
],
contentUrl: 'http://www.example.com/video123.mp4',
embedUrl: 'http://www.example.com/videoplayer?video=123',
uploadDate: '2018-02-05T08:00:00+08:00',
duration: 'PT1M33S',
expires: '2019-02-05T08:00:00+08:00',
},
},
]}
/>
</>
);
数据必需属性
财产 | 信息 |
---|---|
name | 菜名。 |
description | 配方说明 |
authorName | 配方作者的姓名 |
ingredients | 成分字符串列表 |
instructions | - |
instructions.name | 指令步骤的名称。 |
instructions.text | 指令步骤的方向。 |
url | 项目详细信息页面的 URL。 |
Custom
import React from 'react';
import { CarouselJsonLd } from 'next-seo';
export default () => (
<>
<h1>Carousel Custom JSON-LD</h1>
<CarouselJsonLd
ofType="custom"
url="http://example.com/custom-carousel.html"
name="Carousel Custom"
description="Custom Carousel Description"
data={[
{
position: 1,
type: 'CustomList',
name: 'Custom 1',
},
{
position: 2,
type: 'CustomList',
name: 'Custom 2',
},
]}
/>
</>
);
数据必需属性
财产 | 信息 |
---|---|
type | 项的类型。 |
name | 项目的名称。 |
数据 推荐属性
财产 | 信息 |
---|---|
position | 项目的位置。如果不传递属性,它将定期增加。 |
软件应用程序
import React from 'react';
import { SoftwareAppJsonLd } from 'next-seo';
export default () => (
<>
<h1>Software App JSON-LD</h1>
<SoftwareAppJsonLd
name="Angry Birds"
price="1.00"
priceCurrency="USD"
aggregateRating={{ ratingValue: '4.6', reviewCount: '8864' }}
operatingSystem="ANDROID"
applicationCategory="GameApplication"
keywords="angrybirds, arcade, slingshot"
/>
</>
);
数据必需属性
财产 | 信息 |
---|---|
name | 应用的名称。 |
price | 应用程序的价格。如果应用是免费的,请将 offers.price 设置为 0 |
priceCurrency | 如果应用的价格大于 0,则必须包含 offers.currency。 |
aggregateRating | 应用程序的平均评论分数(如果存在评论,则不需要。 |
review | 对应用的单次审阅(如果存在 aggregateRating,则不需要。 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
数据 推荐属性
财产 | 信息 |
---|---|
operatingSystem | 游戏自己支持的操作系统。 |
applicationCategory | 桌面软件或视频游戏… |
数据其他属性
财产 | 信息 |
---|---|
keywords | 用于描述此内容的关键字或标签。关键字列表中的多个条目通常用逗号分隔。 |
组织
import React from 'react';
import { OrganizationJsonLd } from 'next-seo';
export default () => (
<>
<h1>Organization JSON-LD</h1>
<OrganizationJsonLd
type="Corporation"
id="https://www.purpule-fox.io/#corporation"
logo="https://www.example.com/photos/logo.jpg"
legalName="Purple Fox LLC"
name="Purple Fox"
address={{
streetAddress: '1600 Saratoga Ave',
addressLocality: 'San Jose',
addressRegion: 'CA',
postalCode: '95129',
addressCountry: 'US',
}}
contactPoint={[
{
telephone: '+1-401-555-1212',
contactType: 'customer service',
email: 'customerservice@email.com',
areaServed: 'US',
availableLanguage: ['English', 'Spanish', 'French'],
},
{
telephone: '+1-877-746-0909',
contactType: 'customer service',
email: 'servicecustomer@email.com',
contactOption: 'TollFree',
availableLanguage: 'English',
},
{
telephone: '+1-877-453-1304',
contactType: 'technical support',
contactOption: 'TollFree',
areaServed: ['US', 'CA'],
availableLanguage: ['English', 'French'],
},
]}
sameAs={['https://www.orange-fox.com']}
url="https://www.purpule-fox.io/"
/>
</>
);
数据必需属性
财产 | 信息 |
---|---|
name | 组织的名称。 |
url | 组织的 URL |
contactPoint | |
contactPoint.telephone | 电话号码的国际化版本,以“+”符号和国家/地区代码开头 |
contactPoint.contactType | 电话号码用途的描述,即 .Technical Support |
数据 推荐属性
财产 | 信息 |
---|---|
logo | ImageObject 或 URL 与组织的关联徽标。 |
type | 组织类型 |
legalName | 组织的正式名称,例如注册的公司名称。 |
sameAs | 明确指示项目标识的引用网页的 URL。 |
address | 具体营业地点地址 |
address.addressCountry | 2 个字母的 ISO 3166-1 alpha-2 国家/地区代码 |
address.addressLocality | 城市 |
address.addressRegion | 省/市/自治区/直辖市/自治区(如适用)。 |
address.postalCode | 邮政编码。 |
address.streetAddress | 街道编号、街道名称和单元号。 |
contactPoint.areaServed | String或企业服务的地理区域。示例或Array"US"[“US”, “CA”, “MX”] |
contactPoint.availableLanguage | 有关所用语言的详细信息。示例或"English"[“English”, “French”] |
contactPoint.email | 与企业合作的电子邮件’ |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
Brand
import React from 'react';
import { BrandJsonLd } from 'next-seo';
export default () => (
<>
<h1>Brand JSON-LD</h1>
<BrandJsonLd
slogan="What does the fox say?"
id="https://www.purpule-fox.io/#corporation"
logo="https://www.example.com/photos/logo.jpg"
aggregateRating={{
ratingValue: '5',
ratingCount: '18',
}}
/>
</>
);
数据必需属性
财产 | 信息 |
---|---|
id | “页面主实体的 URL” |
数据 推荐属性
财产 | 信息 |
---|---|
logo | ImageObject 或 URL 与组织的关联徽标。 |
slogan | 与项目关联的口号或座右铭。 |
aggregateRating.ratingValue | 内容的分级。 |
aggregateRating.ratingCount | 评分总数的计数。 |
aggregateRating.reviewCount | 评论总数的计数。 |
aggregateRating.bestRating | 此评级系统中允许的最高值。如果省略 bestRating,则假定为 5。 |
aggregateRating.worstRating | 此评级系统中允许的最低值。如果省略 worstRating,则假定为 1。 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
网页
import React from 'react';
import { WebPageJsonLd } from 'next-seo';
export default () => (
<>
<h1>WebPage JSON-LD</h1>
<WebPageJsonLd
description="What does the fox say?"
id="https://www.purpule-fox.io/#corporation"
lastReviewed="2021-05-26T05:59:02.085Z"
reviewedBy={{
type: 'Person',
name: 'Garmeeh',
}}
/>
</>
);
数据必需属性
财产 | 信息 |
---|---|
id | “页面主实体的 URL” |
数据 推荐属性
财产 | 信息 |
---|---|
description | ImageObject 或 URL 与组织的关联徽标。 |
lastReviewed | 上次审查本网页内容的准确性和/或完整性的日期。 |
reviewedBy.type | 将审查网页内容的人员或组织。 |
reviewedBy.name | 已审查此网页内容的准确性和/或完整性的实体名称。 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
图像元数据
import React from 'react';
import { ImageJsonLd } from 'next-seo';
function Image() {
return (
<>
<h1>Image</h1>
<ImageJsonLd
images={[
{
contentUrl: 'http://www.example.com/images/image.png',
creator: {
'@type': 'Person',
name: 'Jane Doe',
},
creditText: 'Jane Doe',
copyrightNotice: '© Jane Doe',
license: 'http://www.example.com/license',
acquireLicensePage: 'http://www.example.com/acquire-license',
},
]}
/>
</>
);
}
export default Image;
数据 推荐属性
财产 | 信息 |
---|---|
contentUrl | 指向实际图像内容的 URL。Google 使用 contentUrl 来确定照片元数据适用于哪张图片。 |
creator.name | 创建者的名称。 |
creditText | 发布图像时记入图像的个人和/或组织的名称。 |
copyrightNotice | 声明此照片知识产权的版权声明。这标识了照片版权的当前所有者。 |
license | 指向描述控制图像使用的许可证的页面的 URL。例如,它可能是您网站上的条款和条件。 |
acquireLicensePage | 指向某个页面的 URL,用户可以在其中找到有关如何许可该映像的信息。 |
其他 如果使用新的应用目录,则应将其设置为 true。如果在应用目录之外,则不需要。
最后
如有提升的seo的技能或者想要去从事这个岗位的小伙伴,这边是有整理了相应的学习资料和今年最新的面试题有需要的可以私信我或者扫描下面图片↓↓↓免费领取,同时我们也有相应的学习群可以一起交流学习。