Google 検索は日々、何十億回も行われており、動画コンテンツを探すユーザーも少なくありません。自分の動画が検索結果により多く表示されるようにするには、ここで紹介するベスト プラクティス(および、通常のウェブマスター向けガイドライン(品質に関するガイドライン))を参考にすることをおすすめします。
Google 検索では、統合された検索結果と動画検索結果の両方に動画が表示されます。検索結果の動画をユーザーがクリックすると、リンク先のページが表示され、そこで動画を視聴できます。
Google で動画がクロールされる仕組み
Google は検索結果に動画を表示するにあたり、その動画についてある程度把握しておく必要があります。Google が動画についての情報を抽出する方法は以下のとおりです。
- 動画(サポートしている動画エンコード方式である場合)をクロールして、サムネイルとプレビューを抽出します。さらにファイルの音声や映像から、限られた範囲ですが、意味を抽出することもできます。
- 動画をホストしているページ上のテキストやメタタグなどから情報を抽出します。
- その動画に関する構造化データ(VideoObject)または動画サイトマップを利用して情報を抽出します。
動画の検索結果について
検索結果に動画が表示されるかどうか、またはどのように表示されるかは、Google にどの程度情報を提供しているかによります。Google の検索結果に動画を表示するために必要な情報は、その動画のサムネイル画像と、実際の動画ファイルへのリンクの 2 つです。ただし、それ以外にも提供する情報が多いほど、その検索結果の質は高まります。
動画検索での見え方には、次のように 2 つの基本的なレベルがあります。
- 基本表示: Google に最小限の情報しか提供していない場合、統合された検索結果と動画検索結果に、動画のサムネイル画像とリンクが表示されます。動画のプレビューやコンテンツの解析のような拡張機能は利用できません。サムネイル画像と動画ファイルへのリンクが、最低限の必須情報です。
動画検索結果の基本的な表示例 - 拡張表示: 詳細情報を追記すると、その動画の特徴が追加で表示されるようになります。たとえば、動画のプレビュー機能、動画の長さや、日付、動画をアップロードした主体に関する情報の表示、ユーザーの国や検索するデバイスに応じて検索結果を制限する機能などがあります。
パソコンでの動画検索結果の拡張例
モバイルでの動画検索結果の拡張例
ベスト プラクティス
動画検索結果に表示される最小要件:
自分の動画を検索結果の対象にするには、次のガイドラインを遵守する必要があります。
- Google がその動画を見つけられる必要があります。動画がページ上で識別されるのは、
<video>
、<embed>
、<object>
などの HTML タグがある場合です。ページが読み込まれるのに、複雑なユーザー操作や特定の URL フラグメントの条件は不要にします。こうした条件が必要な場合、動画が検出されない可能性があります。ヒント: ページに埋め込まれた動画は通常のクロールでも検出されますが、動画のサイトマップがあれば、より検出されやすくなります。 - 動画の高画質なサムネイル画像を提供する必要があります。
- 一般に公開されているページに各動画を配置するようにします。ログインは不要なページでなければなりません。さらに、robots.txt や noindex を使ってページをブロックしないでください(Google がページにアクセスできる必要があります)。
- 動画の内容は、そのホストページの内容に厳密に即している必要があります。たとえば、ピーチパイのレシピのページに一般的なパイに関する動画を埋め込まないでください。
- 動画のサイトマップやマークアップで提供する情報はすべて、実際の動画の内容と一致させます。
最適な結果を表示するための手順
下記の対策をとると、Google での動画の検索結果がさらに改善されます。
- 動画ファイルを Google がクロールできることを確認します。クロールできる動画であれば、Google はサムネイル画像を生成し、さらに他の機能も提供することができます。
- 複雑なロジックやスクリプトを使って動画の表示と非表示を切り替えることは避けます。リソースの条件付き読み込みに複雑なユーザー操作が必要な場合、Google が一部の動画を検出できないことがあります。
- 動画をホストするページのユーザー エクスペリエンスを高めます。
- 構造化データと動画のサイトマップのどちらかまたは両方で動画について説明します。Google がその動画ページをすでに検出している場合は、構造化データをおすすめします。新しいコンテンツを Google が検出できるようにする場合や、新しいまたは更新されたコンテンツについて Google に知らせるには、サイトマップをおすすめします。両方を使用することもできます。すべての動画についてページ上に構造化データを指定し、さらに動画のサイトマップを提供して、新しい動画、時間的な制約がある動画、見つけにくい動画を Google に知らせるように設定しているサイトもあります。
- 構造化データやサイトマップをテストします。
- 動画の構造化データをテストするには、リッチリザルト テストを使用します。
- サイトマップやフィードをテストまたは送信するには、先に Search Console でサイトを追加して確認します。サイトマップやフィードが含まれるサイトと、サイトマップやフィードが参照するすべてのサイトを確認しておく必要があります。Search Console のサイトマップ ツールを使って、サイトマップをテストまたは送信します。
- 構造化データやサイトマップをテストします。
- 構造化データまたはサイトマップに、各動画について説明する固有のデータを含めます。
- コンテンツを更新したら Google に知らせます。
- 削除した動画は適切に処理します。
- Google Search Console にサイトを追加して確認します。Google がサイトをクロールして検出した問題があれば、Search Console に表示されます。サイトマップを使用する場合は、Search Console からサイトマップを送信するか、robots.txt ファイルにサイトマップのリストを含めます。
- 動画のインデックス登録でのよくある誤りについてご確認ください。
- ライブ動画の場合は、検索結果でライブ ストリーミングとしてタグ付けできます。
動画の高画質なサムネイルを提供する
動画が Google の動画検索結果への表示対象となるには、検索結果に表示できるサムネイル画像が必要です。
サムネイルを提供する(有効にする)複数の方法:
<video>
HTML タグを使用する場合は、poster
属性を指定します。- 動画サイトマップの場合は
<video:thumbnail_loc>
を指定します。 - 構造化データの場合は
VideoObject.thumbnailUrl
を指定します。 - クロール可能な形式で動画を提供すると、Google でサムネイルが生成されます。
推奨形式: JPG、PNG
サイズ: 160x90~1,920x1,080 ピクセル
保存場所: プレビュー用のサムネイルは、Googlebot がアクセスできるようにする必要があります(robots.txt またはログイン要求によってブロックしないでください)。
動画をクロール可能にする
Google が動画をクロールできる場合は、サムネイル画像の生成や動画のプレビューなど、さまざまな機能が提供されます。
動画をクロールできるようにするための手順
- 動画をサポートされている形式で作成する必要があります。
- 動画のホストページとストリーミング ファイルの本体に Google がアクセスするのをブロックしてはなりません(ブロックとは、ページやファイルをペイウォールで保護する、ログインを要求する、または noindex や robots.txt でアクセスを阻止することです)。
- 動画のホストページと実際に動画をストリーミングするサーバーにはクロール可能な帯域幅が必要です。たとえば、
example.com/puppies.html
という URL のリンク先ページに、somestreamingservice.com
から配信される子犬の動画を埋め込んでいる場合、example.com
とsomestreamingservice.com
の両方でアクセスをブロックしてはならず、サーバーの読み込みを可能にする必要があります。
サポートされている動画エンコード
Google でクロール可能な動画ファイル形式は、.3g2、.3gp2、.3gp、.3gpp、.asf、.avi、.divx、.f4v、.flv、.m2v、.m3u8、.m4v、.mkv、.mov、.mp4、.mpe、.mpeg、.mpg、.ogv、.qvt、.ram、.rm、.vob、.webm、.wmv、.xap です。
構造化データまたは動画サイトマップを使って動画について記述する
構造化データと動画サイトマップのいずれかまたは両方を使って、動画についての追加情報を Google に提供することができます。このように追加情報を提供すると、検索結果で利用できる機能が増えるだけでなく、Google が正確に動画を把握してランクを判断できるようになります。
どちらの方法でも同じ情報を Google に提供できますが、動画サイトマップのほうが新しいコンテンツや更新されたコンテンツを Google がより早く検出するのに役立ちます。一方、構造化データのほうがサイトマップよりも馴染みやすい人もいて、リッチリザルトを有効にする構造化データをウェブサイトで利用する場合は一貫性があると考えられます。両方を利用することもできますが、その場合は必ず、双方のデータが一致するようにしてください。
構造化データ
動画について記述する構造化データをホストページに追加します。構造化データとは、タグまたは JSON を使って、明確に定義された形式に沿って提供する情報です。Google はページをクロールする際、その形式を読み取って理解し、動画についての正確な情報を抽出できます。
使用できる形式は複数ありますが、schema.org の JSON-LD 形式による VideoObject
構文を強くおすすめします。
Schema.org の VideoObject(推奨)
VideoObject
のコードをページに埋め込みます。VideoObject
は、一致するソース URL を持つ埋め込み動画に関連付けられます。
各動画について VideoObject による説明をページに埋め込む方法をご確認ください。
VideoObject JSON-LD の例
<html> <head> <title>Schnitzel in an hour</title> </head> <body> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "VideoObject", "name": "Schnitzel Stories", "description": "How to make fantastic schnitzel in just one hour", "thumbnailUrl": "https://example.com/imgs/schnitzel-small.jpg", "uploadDate": "2015-02-05T08:00:00+08:00", "duration": "PT1M33S", "contentUrl": "https://streamserver.example.com/schnitzel.mp4" } </script> <h1>Everybody loves schnitzel</h1> ... omitted schnitzel-related page content... <video width="420" src="https://streamserver.example.com/schnitzel.mp4" poster="https://example.com/imgs/schnitzel-small.jpg"/> </body> </html>
シンプルな VideoObject ではなくテレビや映画のリッチリザルトを表示する
テレビ番組や映画の内容とレビューや出演者の情報などを記述する場合、または購入やレンタルのような複雑な操作を動画が必要とする場合は、ウェブサイトにテレビ番組や映画の構造化データを実装してください。テレビ番組や映画の構造化データを指定すると、検索でリッチリザルトが有効になり、レーティング、レビュー、出演者の情報だけでなく、無料または有料のストリーミング サービスへのリンクなどが表示されます。リッチリザルトは、統合された検索結果ペインにのみ表示されます。
オープングラフ プロトコル
schema.org の VideoObject
構文の代わりにオープングラフ プロトコル メタデータの一部も使用できます。ページ上のメインの最も目立つ動画について、タグに記載する必要があります。
動画サイトマップ
動画サイトマップは、サイト上の動画を Google が探す際に使用する XML サイトマップで、動画の内容に関する情報も記載できます。動画サイトマップで動画について記述するエントリは、VideoObject
構造化データ要素と同様の形式です。動画サイトマップを使用する利点は、新しい動画や更新された動画を Google が検出する際に役立つことと、1 つのファイルに多数の動画について記載できるので、各ページを Google がクロールして個々に変更を見つける必要がないことです。
コンテンツを更新する
動画を変更したことを Google が認識できるかどうかは、Google がコンテンツの検出や読み取りを行いやすくするために、ご自身でどのような措置を講じているかによります。動画の URL やソースファイルを入れ替えて、他に何も変更していない場合、Google は変更に気づかないことがあります。
- 構造化データ: ページ上の動画の構造化データを変更すると、Google は次回のクロール時に変更を検出します。通常のサイトマップや動画サイトマップを使って変更したページを Google に通知することもできます。
- 動画サイトマップと mRSS: 動画サイトマップを送信すると、Google は定期的にサイトマップを再クロールして、変更された動画データがあれば検索結果を更新します。サイトマップを再送信したり、変更したサイトマップを Google に通知してすぐに再クロールするようにリクエストしたりすることもできます。詳しくは、サイトマップの送信と HTTP リクエストを使ったサイトマップの更新についての説明をご覧ください。
動画を削除する
サイトから動画を削除するには以下の方法をおすすめします。
- 削除した動画または期限の切れた動画を含むリンク先ページの HTTP ステータス コードとして 404(見つからない)を返す。404 レスポンス コードだけでなく、通常のユーザーがどこでエラーが発生しているのか気づけるよう、リンク先ページの HTML を返すこともできます。
- schema.org の構造化データ、動画サイトマップ(
<video:expiration_date>
要素を使用)、または mRSS フィード(<dcterms:valid>
タグ)内に有効期限を明示する。例として次に、2009 年 11 月に期限が切れた動画についての動画サイトマップを示します。<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"> <url> <loc>http://www.example.com/videos/some_video_landing_page.html</loc> <video:video> <video:thumbnail_loc> http://www.example.com/thumbs/123.jpg </video:thumbnail_loc> <video:title> Grilling steaks for summer </video:title> <video:description> Bob shows you how to grill steaks perfectly every time </video:description> <video:player_loc> http://www.example.com/videoplayer?video=123 </video:player_loc> <video:expiration_date>2009-11-05T19:20:30+08:00</video:expiration_date> </video:video> </url> </urlset>
動画の読み込みに複雑な条件を設定するのは避ける
サイトを設計する際、動画ページでの動画の読み込みに、複雑すぎるユーザー操作や条件を設定しないようにします。たとえば、特定の条件(URL 内でハッシュタグを使用するなど)でのみ JavaScript 内から動画オブジェクトを埋め込むような複雑な JavaScript を使用している場合、Google が一部の動画を探せない可能性もあります。サイトマップに動画のリストを指定しない場合、これは特に重要です。
動画ページでユーザーに高い利便性を提供する
優れた動画を提供するだけでなく、コンテンツを表示する HTML ページのデザインについても検討します。たとえば、次の点を考えます。
- 動画ごとに個別のページを作成し、関連情報をすべてまとめて記載できるようにします。その際、説明となるタイトルやキャプションなど、ページごとに固有の情報を提供するようにします。
- 各ページでユーザーができるだけ動画を見つけて再生しやすいようにします。幅広くサポートされている動画形式を使用し、動画プレーヤーをわかりやすく埋め込むと、ユーザーに一層アピールできます。また、Google がインデックスに登録しやすくなります。
プラットフォームごとにユーザーを制限する
検索ユーザーのプラットフォームに応じて、動画の検索結果を制限することができます。プラットフォームには、パソコン ブラウザ、モバイル ブラウザ、テレビのブラウザがあります。
動画サイトマップを使ってプラットフォームごとに制限する
動画にプラットフォームの制限がない場合は、プラットフォームの制限タグは省略する必要があります。
動画サイトマップでは <video:platform>
タグを使って、指定したデバイスに対して検索結果での動画の表示を許可または拒否できます。<video:platform>
タグは動画エントリごとに 1 つだけ指定できます。このタグには必須の relationship
属性があり、リストに指定したプラットフォームを除外するか必須とするかを指定します。
例
以下の動画サイトマップの例では、パソコンとモバイルのブラウザでのみこの動画が表示されます。
<url> <loc>http://www.example.com/videos/some_video_landing_page.html</loc> <video:video> <video:thumbnail_loc> http://www.example.com/thumbs/123.jpg </video:thumbnail_loc> <video:title>Grilling steaks for summer</video:title> <video:description> Bob shows you how to get perfectly done steaks every time </video:description> <video:player_loc> http://www.example.com/videoplayer?video=123 </video:player_loc> <video:platform relationship="allow">web mobile</video:platform> </video:video> </url>
構造化データまたは mRSS を使ってプラットフォームごとに制限する
VideoObject と mRSS フィードにはプラットフォームを制限するタグはありません。
国ごとにユーザーを制限する
検索ユーザーの地域に応じて、動画の検索結果を制限することができます。動画に国による制限がない場合は、国の制限タグは省略する必要があります。
動画サイトマップを使って国ごとに制限する
動画サイトマップでは <video:restriction>
タグを使って、特定の国で動画の表示を許可または拒否できます。<video:restriction>
タグは動画エントリごとに 1 つだけ指定できます。
<video:restriction>
タグには ISO 3166 国コードをスペースで区切って指定します。必須の relationship
属性に、制限の種類を指定します。
relationship="allow"
- 指定した国でのみ動画が表示されます。国を 1 つも指定しないと、その動画はどの国でも表示されません。relationship="deny"
- 指定した国以外で動画が表示されます。国を 1 つも指定しないと、その動画はすべての国で表示されます。
以下の動画サイトマップの例では、カナダとメキシコでのみこの動画が表示されます。
<url> <loc>http://www.example.com/videos/some_video_landing_page.html</loc> <video:video> <video:thumbnail_loc> http://www.example.com/thumbs/123.jpg </video:thumbnail_loc> <video:title>Grilling steaks for summer</video:title> <video:description> Bob shows you how to get perfectly done steaks every time </video:description> <video:player_loc> http://www.example.com/player?video=123 </video:player_loc> <video:restriction relationship="allow">ca mx</video:restriction> </video:video> </url>
構造化データを使って国ごとに制限する
VideoObject
構造化データを使用して動画について記述する場合、VideoObject.regionsAllowed
プロパティを設定して、その動画の検索結果を取得できる地域を指定します。このプロパティを省略すると、その動画はどの地域でも検索結果の対象となります。
mRSS を使って国ごとに制限する
mRSS フィード内の動画については、media:restriction
タグを使い、必須の type
属性を country
に設定することで国の制限を指定できます。media:restriction
でも必須の relationship
属性を allow
または deny
に設定することで、ISO 3166 国コードをスペースで区切ったリストについて、許可するか拒否するかを指定します。
以下の mRSS エントリの例では、米国とカナダを除くすべての国に対して動画が表示されます。
<item xmlns:media="http://search.yahoo.com/mrss/" xmlns:dcterms="http://purl.org/dc/terms/"> <link>http://www.example.com/examples/mrss/example.html</link> <media:content url="http://www.example.com/examples/mrss/example.mp4" fileSize="405321" type="video/x-flv" height="240" width="320" duration="120" medium="video" isDefault="true"> <media:title>Grilling Steaks for Summer</media:title> <media:description> Get perfectly done steaks every time </media:description> <media:thumbnail url="http://www.example.com/examples/mrss/example.png" height="120" width="160"/> </media:content> <media:restriction relationship="deny" type="country">us ca</media:restriction> </item>
Google 動画検索で mRSS フィードを使用する方法や、media:restriction
タグに関する mRSS の仕様について詳細をご確認ください。
どの URL が何を示すか
ページ上の動画ファイルに関連する URL は複数あります。その一般的な URL について概説します。
タグ | 説明 | |
---|---|---|
1 |
|
動画をホストするページの URL。例:
|
2 |
|
カスタム プレーヤーの URL。これは同じページ上の
|
3 |
|
ローカルサイトまたはストリーミング サービス上にある実際のコンテンツ本体の URL。例:
|
構造化データ、動画サイトマップ、または代替サイトマップを含める場合、そのフィールドに応じて、埋め込みプレーヤーまたはファイル本体を指定する必要があります。
Google 検索結果から動画をブロックする
Google 検索結果から動画を非表示にするには、いくつかの方法があります。
- ホストページと動画ファイル用のログイン画面を作る。
- 非表示にする動画の動画サイトマップに国の制限を追加し、次の空の許可リストを指定します。
<video:restriction relationship="allow"></video:restriction>
- robots.txt を使用して、ソース動画またはホストページ、あるいはその両方をブロックします。動画とホストページが同じサイトにある場合は、ソースファイルの URL(contentUrl アドレス)とホストページの URL をブロックします。動画が別の CDN でホストされている場合は、ホストまたはプレーヤーのページをブロックするだけです。
- ホストページとファイルに対して、noindex HTTP レスポンスを返します(ページにファイルが存在する場合)。
上記の方法に従っても、別のページから動画やページにリンクできなくなることはありません。
動画のインデックス登録でのよくある誤り
以下は、動画のインデックス登録でよく見られる誤りと、誤りを修正して動画が検索結果に表示される可能性を高めるためのおすすめの方法です。ウェブマスター向けガイドライン(品質に関するガイドライン)もご確認ください。
robots.txt を使ったリソースのブロック
よくある例は、robots.txt を使って、検索エンジンによる JavaScript ファイル、動画ファイル、画像ファイルのクロールを阻止してしまうことです。動画を Google のインデックスに登録するには、構造化データやサイトマップに指定されたサムネイル、動画が表示されるページ、動画本体、および動画を読み込むのに必要な JavaScript などのリソースを Google が確認できなければいけません。動画に関するこうしたリソースが robots.txt ルールでブロックされていないことを確認してください。
動画サイトマップまたは mRSS を使用している場合は、送信するサイトマップや mRSS フィードに Google がアクセスできることを確認してください。robots.txt でこれらをブロックすると、Google が読み取れなくなります。
低画質のサムネイル画像
サムネイルの画像形式は問いませんが、.png 画像や .jpg 画像をおすすめします。画像のサイズは 160x90 ピクセル以上、1,920x1,080 ピクセル以下にする必要があります。
サムネイル、タイトル、説明の重複
異なる動画に同じサムネイル、タイトル、または説明を使用すると、動画のインデックス登録に影響したり、ユーザーの混乱を招いたりするおそれがあります。動画ごとに固有のデータを使用してください。複数のエピソードからなるコンテンツによくある誤りは、異なる動画に同じタイトル画面のサムネイルを使用することです。
有効期限を過去に設定
動画の有効期限が過ぎていると、Google はどの検索結果にも含めません。これには、サイトマップ、ページ上の構造化データ、およびサイトのヘッダーで設定される有効期限のメタタグが関係しています。各動画の有効期限が正しいことをご確認ください。有効期限後に動画を利用できなくする場合、検索結果に含めないのは当然ですが、公開中の動画に過去の日付を設定してしまう誤りはありがちなので、注意が必要です。動画に有効期限がない場合、有効期限の情報は設定しないでください。
削除した動画の扱い
埋め込みの動画をページから削除した場合、動画を再生できなくなったことを Flash プレーヤーを使ってユーザーに伝えるサイトがあります。これは検索エンジンにとって問題となるおそれがあるので、代わりに次の方法をおすすめします。
- 削除した動画または期限の切れた動画を含むリンク先ページの HTTP ステータス コードとして 404(見つからない)を返します。404 レスポンス コードだけでなく、通常のユーザーがどこでエラーが発生しているのか気づけるよう、リンク先ページの HTML を返すこともできます。
- ページ上の構造化データ、動画サイトマップ(
<video:expiration_date>
要素を使用)、または Google に送信する mRSS フィード(<dcterms:valid>
タグ)内に有効期限を明示します。
複雑な JavaScript と URL フラグメント
サイトを設計する際、複雑すぎる JavaScript は避けて動画のページを設定することが重要です。特定の条件でのみ JavaScript 内から動画オブジェクトを埋め込むような複雑すぎる JavaScript を使用している場合、Google が動画を正しくインデックスに登録できない可能性があります。「ハッシュマーク」やフラグメント識別子を必要とするコンテンツやページの URL はサポートされていません。また、ページ上で Flash を使用すると、インデックス登録の効率が落ちることがあります。動画のタイトルや説明は、Flash を使用せずにプレーンの HTML マークアップで記述することをおすすめします。
ページ上の構造化データを使用する場合、Flash や他の埋め込みプレーヤーを起動せずにその構造化データが提供されるようにする必要があります。
動画が小さい、隠れている、見つけにくい
動画ページでは動画をはっきりと、見つけやすく表示する必要があります。各動画専用のページに、個々の動画に固有のわかりやすいタイトルや説明を付けて表示することをおすすめします。ページ上で動画が目立つよう、動画を隠したり見つけにくい場所に配置したりしないようにします。