プロフィール ページ(ProfilePage)の構造化データ

ディスカッションとフォーラムの機能のイラスト

ProfilePage マークアップは、作成者(個人または組織)がそれぞれの個人的な見解を共有するサイト向けに設計されています。このマークアップを追加すると、Google 検索はオンライン コミュニティに投稿した作成者を把握し、検索結果でディスカッションとフォーラム機能などのそのコミュニティの最適なコンテンツを表示できるようになります。

他の構造化データの機能でも ProfilePage マークアップを含むページにリンクできます。たとえば、記事レシピの構造化データには作成者がいます。ディスカッション フォーラムQ&A ページの構造化データだと、多くの場合、複数の作成者がいます。

構造化データを追加する方法

構造化データは、ページに関する情報を提供し、ページ コンテンツを分類するための標準化されたデータ形式です。構造化データを初めて使用する場合は、構造化データの仕組みについてをご覧ください。

構造化データの作成、テスト、リリースの概要は次のとおりです。

  1. 必須プロパティを追加します。使用している形式に基づいて、ページ上の構造化データを挿入する場所をご確認ください。
  2. ガイドラインに従います。
  3. リッチリザルト テストでコードを検証し、重大なエラーを修正します。ツールで報告される重大ではない問題の修正も検討してください。構造化データの品質向上に役立ちます(ただし、リッチリザルトの対象となるために必ずしも必要というわけではありません)。
  4. 構造化データが含まれているページを数ページ導入し、URL 検査ツールを使用して、Google でページがどのように表示されるかをテストします。Google がページにアクセスでき、robots.txt ファイル、noindex タグ、ログイン要件によってページがブロックされていないことを確認します。ページが正常に表示されたら、Google に URL の再クロールを依頼できます。
  5. 今後の変更について Google に継続して情報を提供するために、サイトマップを送信することをおすすめします。これは、Search Console Sitemap API で自動化できます。

マークアップを含んだプロフィール ページの例を示します。

JSON-LD

<html>
  <head>
    <title>Angelo Huff on Cool Forum Platform</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "ProfilePage",
      "dateCreated": "2024-12-23T12:34:00-05:00",
      "dateModified": "2024-12-26T14:53:00-05:00",
      "mainEntity": {
        "@type": "Person",
        "name": "Angelo Huff",
        "alternateName": "ahuff23",
        "identifier": "123475623",
        "interactionStatistic": [{
          "@type": "InteractionCounter",
          "interactionType": "https://schema.org/FollowAction",
          "userInteractionCount": 1
        },{
          "@type": "InteractionCounter",
          "interactionType": "https://schema.org/LikeAction",
          "userInteractionCount": 5
        }],
        "agentInteractionStatistic": {
          "@type": "InteractionCounter",
          "interactionType": "https://schema.org/WriteAction",
          "userInteractionCount": 2346
        },
        "description": "Defender of Truth",
        "image": "https://example.com/avatars/ahuff23.jpg",
        "sameAs": [
          "https://www.example.com/real-angelo",
          "https://example.com/profile/therealangelohuff"
        ]
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>
microdata

<html>
  <head>
    <title>Angelo Huff on Cool Forum Platform</title>
  </head>
  <body itemtype="https://schema.org/ProfilePage" itemscope>
    <meta itemprop="dateCreated" content="2024-12-23T12:34:00-05:00" />
  	<meta itemprop="dateModified" content="2024-12-26T14:53:00-05:00" />
    <div itemprop="mainEntity" itemtype="https://schema.org/Person" itemscope>
      <div><span itemprop="alternateName" id="handle">ahuff23</span> (<span itemprop="name" id="real-name">Angelo Huff</span>)</div>
      <meta itemprop="identifier" content="123475623" />
      <div itemprop="description">Defender of Truth</div>
      <img itemprop="image" src="https://example.com/avatars/ahuff23.jpg" />
      <div>Links: <a itemprop="sameAs" href="https://www.therealangelohuff.com">Home Page</a><br>
                  <a itemprop="sameAs" href="https://example.com/profile/therealangelohuff">Other Social Media Site</a></div>
      <div><span itemprop="interactionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope>
              <span itemprop="userInteractionCount">5</span>
              <span itemprop="interactionType" content="https://schema.org/LikeAction">likes</span>
           </span>,
           <span itemprop="interactionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope>
              <span itemprop="userInteractionCount">1</span>
              <span itemprop="interactionType" content="https://schema.org/FollowAction">follower</span>
           </span>, and
           <span itemprop="agentInteractionStatistic" itemtype="https://schema.org/InteractionCounter" itemscope>
              <span itemprop="userInteractionCount">2346</span>
              <span itemprop="interactionType" content="https://schema.org/WriteAction">posts</span>
           </span>
       </div>
    </div>
  </body>
</html>

ガイドライン

プロフィール ページの構造化データを Google 検索で使用するためには、下記のガイドラインに準拠する必要があります。

コンテンツ ガイドライン

  • ページのメイン要素は、ウェブサイト全体に関係する単一の個人または組織である必要があります。プロフィール ページの例を示します。

    使用できる場合の例:

    • フォーラムやソーシャル メディア サイトのユーザー プロフィールのページ
    • ニュースサイトの作成者のページ
    • ブログサイトの自己紹介ページ
    • 企業サイトの従業員のページ

    使用できない場合の例:

    • お店のメイン ホームページ(通常、プロフィール以外の情報が多く含まれている)
    • 組織のレビューサイト(組織自体はウェブサイトと関連していない)

技術に関するガイドライン

プロフィール ページに作成者の最近のアクティビティも含まれる場合、それらのオブジェクトに URL を使用してマークアップを含めることで、コンテンツとマークアップの全体を含んだページを参照できるようになります。たとえば、次のようなマークアップの構造が可能です。

{
  "@context": "https://schema.org",
  "@type": "ProfilePage",
  "mainEntity": {
    "@id": "#main-author",
    "@type": "Person",
    "name": "Marlo Smith"
  },
  "hasPart": [{
    "@type": "Article",
    "headline": "Things to see in NJ",
    "url": "https://example.com/things-to-see-nj",
    "datePublished": "2014-02-23T18:34:00Z",
    "author": { "@id": "#main-author" }
  }]
}

構造化データタイプの定義

構造化データが検索結果に表示されるようにするには、必須プロパティを含める必要があります。また、推奨プロパティを使用することでプロフィール ページに関する詳細情報を追加でき、ユーザー エクスペリエンスの向上につながります。

ProfilePage

ProfilePage の定義の全文は schema.org/ProfilePage で確認できます。

必須プロパティ
mainEntity

Person または Organization

このプロフィール ページの対象である個人または組織。このページのメイン要素がこのエンティティに関する情報であることを示します。

そのページが表しているのが個人か組織かがわかっている場合は、適切な方を使用してください。わからない場合は、デフォルトの Person を使用します(アカウントの種類が不明な場合など)。

推奨プロパティ
dateCreated

DateTime

プロフィールが作成された日時(ISO 8601 日付形式)(該当する場合)。

dateModified

DateTime

プロフィールの情報が編集された日時(ISO 8601 日付形式)(該当する場合)。プロフィールに対する人間によるメタデータの変更のみを反映するのが理想的です(たとえば、このプロフィールが参照される場所へのアウトリンクを追加することは変更ではありません)。

Person または Organization

schema.org/Personschema.org/Organization には、Google により使用される共通のプロパティがあります。

必須プロパティ
name

Text

個人や組織を識別するための主たる方法。この項目には、実名を指定することをおすすめします(ソーシャル メディアのハンドル名には、alternateName を使用)。ただし、ソーシャル メディアのハンドル名がサイト上でその個人を識別する唯一の方法である場合は、ハンドル名を指定することも可能です。

推奨プロパティ
agentInteractionStatistic

InteractionCounter

プロフィール ページのエンティティの動作に関するユーザー統計情報(該当する場合)。

Google は次の interactionTypes をサポートしています。

alternateName

Text

代替の公開 ID(該当する場合)。たとえば、name に実名を使用している場合、この項目にソーシャル メディアのハンドル名を指定します。

description

Text

ユーザーの署名欄または認証情報(該当する場合)。

identifier

Text

サイト内で使用される一意の識別子(該当する場合)。ソーシャル メディアのハンドル名が変わった場合でもサイトがユーザーを識別できるように、内部データベースの ID を使用する場合があります。

image

URL または ImageObject

該当する場合は、作成者のプロフィール画像の URL または ImageObject。画像がない場合は、この項目にデフォルト画像やアイコン、プレースホルダ画像を含めないでください。

Additional image guidelines:

  • Image URLs must be crawlable and indexable. To check if Google can access your URLs, use the URL Inspection tool.
  • Images must represent the marked up content.
  • Images must be in a file format that's supported by Google Images.
  • For best results, we recommend providing multiple high-resolution images (minimum of 50K pixels when multiplying width and height) with the following aspect ratios: 16x9, 4x3, and 1x1.

For example:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
interactionStatistic

InteractionCounter

該当する場合は、プロフィール ページのエンティティに関するユーザーの統計情報。プロフィール ページがホストされているプラットフォームに関する統計情報のみを含めます(クリエイター自身のホームページにも 10 万人のフォロワーがいるなどの情報については言及しない)。

Google は次の interactionTypes をサポートしています。

sameAs

URL

外部の他のプロフィールやプロフィール用のホームページにアクセスするための URL(該当する場合)。

Monitor rich results with Search Console

Search Console is a tool that helps you monitor how your pages perform in Google Search. You don't have to sign up for Search Console to be included in Google Search results, but it can help you understand and improve how Google sees your site. We recommend checking Search Console in the following cases:

  1. After deploying structured data for the first time
  2. After releasing new templates or updating your code
  3. Analyzing traffic periodically

After deploying structured data for the first time

After Google has indexed your pages, look for issues using the relevant Rich result status report. Ideally, there will be an increase of valid items, and no increase in invalid items. If you find issues in your structured data:

  1. Fix the invalid items.
  2. Inspect a live URL to check if the issue persists.
  3. Request validation using the status report.

After releasing new templates or updating your code

When you make significant changes to your website, monitor for increases in structured data invalid items.
  • If you see an increase in invalid items, perhaps you rolled out a new template that doesn't work, or your site interacts with the existing template in a new and bad way.
  • If you see a decrease in valid items (not matched by an increase in invalid items), perhaps you are no longer embedding structured data in your pages. Use the URL Inspection tool to learn what is causing the issue.

Analyzing traffic periodically

Analyze your Google Search traffic using the Performance Report. The data will show you how often your page appears as a rich result in Search, how often users click on it and what is the average position you appear on search results. You can also automatically pull these results with the Search Console API.

Troubleshooting

If you're having trouble implementing or debugging structured data, here are some resources that may help you.

  • If you're using a content management system (CMS) or someone else is taking care of your site, ask them to help you. Make sure to forward any Search Console message that details the issue to them.
  • Google does not guarantee that features that consume structured data will show up in search results. For a list of common reasons why Google may not show your content in a rich result, see the General Structured Data Guidelines.
  • You might have an error in your structured data. Check the list of structured data errors and the Unparsable structured data report.
  • If you received a structured data manual action against your page, the structured data on the page will be ignored (although the page can still appear in Google Search results). To fix structured data issues, use the Manual Actions report.
  • Review the guidelines again to identify if your content isn't compliant with the guidelines. The problem can be caused by either spammy content or spammy markup usage. However, the issue may not be a syntax issue, and so the Rich Results Test won't be able to identify these issues.
  • Troubleshoot missing rich results / drop in total rich results.
  • Allow time for re-crawling and re-indexing. Remember that it may take several days after publishing a page for Google to find and crawl it. For general questions about crawling and indexing, check the Google Search crawling and indexing FAQ.
  • Post a question in the Google Search Central forum.