【SEO】Next SEO的使用方法:3

14 篇文章 0 订阅

本文是书接上文,如果是看到这篇是建议新看这两篇在过来看这篇文章哈

同样这篇文章是该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,采用受支持的编码格式之一。
durationISO 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.typeEither 或PersonPerformingGroup
organizer活动组织者
organizer.typeEither 或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

数据 推荐属性

财产信息
logoImageObject 或 URL 与组织的关联徽标。
type组织类型
legalName组织的正式名称,例如注册的公司名称。
sameAs明确指示项目标识的引用网页的 URL。
address具体营业地点地址
address.addressCountry2 个字母的 ISO 3166-1 alpha-2 国家/地区代码
address.addressLocality城市
address.addressRegion省/市/自治区/直辖市/自治区(如适用)。
address.postalCode邮政编码。
address.streetAddress街道编号、街道名称和单元号。
contactPoint.areaServedString或企业服务的地理区域。示例或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”

数据 推荐属性

财产信息
logoImageObject 或 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”

数据 推荐属性

财产信息
descriptionImageObject 或 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的技能或者想要去从事这个岗位的小伙伴,这边是有整理了相应的学习资料和今年最新的面试题有需要的可以私信我或者扫描下面图片↓↓↓免费领取,同时我们也有相应的学习群可以一起交流学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值