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

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

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

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

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

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

構造化データの作成、テスト、リリースの概要は次のとおりです。ウェブページに構造化データを追加するための手順ガイドについては、構造化データの Codelab をご覧ください。

  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。画像がない場合は、この項目にデフォルト画像やアイコン、プレースホルダ画像を含めないでください。

画像に関するその他のガイドライン:

  • すべてのページに画像を少なくとも 1 つ含める必要があります(マークアップを含めるかどうかは問わない)。Google は、アスペクト比と解像度に基づいて、検索結果に表示する最適な画像を選択します。
  • 画像の URL は、クロールやインデックス登録に対応できる必要があります。ページに Google がアクセスできるかどうかは、URL 検査ツールで確認できます。
  • 画像はマークアップされたコンテンツを表している必要があります。
  • 画像は、Google 画像検索でサポートされているファイル形式である必要があります。
  • 適切な画像が選択されるように、アスペクト比が 16x9、4x3、1x1 の高解像度画像(幅と高さをかけて 50,000 ピクセル以上になる画像)を指定してください。

次に例を示します。

"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(該当する場合)。

Search Console でリッチリザルトを監視する

Search Console は、Google 検索におけるページのパフォーマンスを監視できるツールです。Search Console に登録していなくても Google 検索結果に表示されますが、登録することにより、Google がサイトをどのように認識しているかを把握して改善できるようになります。次の場合は Search Console を確認することをおすすめします。

  1. 構造化データを初めてデプロイした後
  2. 新しいテンプレートをリリースした後やコードを更新した後
  3. トラフィックを定期的に分析する場合

構造化データを初めてデプロイした後

ページがインデックスに登録されたら、関連するリッチリザルトのステータス レポートを使用して、問題がないかどうかを確認します。有効な項目が増え、無効な項目が増えていない状態が理想的です。構造化データに問題が見つかった場合の手順は次のとおりです。

  1. 無効な項目を修正します
  2. 一般公開 URL の検査を行い、問題が解決したかどうかを確認します。
  3. ステータス レポートを使用して検証をリクエストします。

新しいテンプレートをリリースした後やコードを更新した後

ウェブサイトに大幅な変更を加えた場合は、構造化データの無効な項目が増加しないかどうか監視します。
  • 無効な項目が増加した場合は、新しく公開したテンプレートが正常に機能していないか、既存のテンプレートの新しい操作方法に問題があると考えられます。
  • 有効な項目が減少している(無効な項目の増加と一致しない)場合は、ページに構造化データが埋め込まれていない可能性があります。URL 検査ツールを使用して問題の原因を特定します。

トラフィックを定期的に分析する場合

パフォーマンス レポートを使用して Google 検索のトラフィックを分析します。このデータから、検索でページがリッチリザルトとして表示される頻度、ユーザーがページをクリックする頻度、検索結果におけるページの平均掲載順位がわかります。この結果は、Search Console API を使用して自動的に取得することもできます。

トラブルシューティング

構造化データの実装またはデバッグで問題が発生した場合は、以下のリソースが参考になります。