クリックで読み込む動画埋め込み
通常の動画埋め込みは、誰かが見るかどうかにかかわらず、ページが開いた瞬間から動画プラットフォームと通信を始めます。このツールは、訪問者が再生を押すまで沈黙を守る埋め込みコードを作ります。
YouTubeのどの形式でも使えます(watch?v=、youtu.be、shorts、embed、開始時間のt=付きも可)。Vimeoのリンクも使えます。h=コード付きの限定公開リンクでも大丈夫です。
コードはブラウザーで作られます。貼り付けたリンクがこちらのサーバーや他の誰かに送られることはありません。
プレビュー
プレビューをクリックするまで、YouTubeやVimeoからは何も読み込みません。サムネイルもです。
貼り付けるコード
通常の埋め込みが、誰も見ないうちにしていること
動画の「共有」メニューからコピーするコードは<iframe>で、ページの中に設けた別サイトへの小さな窓です。ブラウザはページを描画するとすぐにこの窓を埋めます。YouTubeの動画1本で、およそ20のリクエストと数百キロバイトのスクリプトが、訪問者全員についてGoogleのサーバーから取得されます。動画を素通りしてスクロールする人も含めてです。
そのリクエストのひとつひとつに、訪問者のIPアドレスとあなたのページのアドレスが含まれます。プレーヤーはブラウザ内の自分用のストレージを読み書きすることもできます。つまり、ページは遅くなり、訪問者は自分で選んだわけでもない企業に存在を知られることになります。
このツールが書く2種類のコード
- クリックで読み込む
- ページには、動画の枠に見えるリンクが置かれます。ポスター画像、再生の三角マーク、アクセシブルなラベル付きです。一度だけ読み込む短いスクリプトが、そのリンクのクリックを待ち、クリックされてはじめて
autoplay=1付きの本物のプレーヤーに差し替えます。そのため、ほとんどの端末では1回押すだけで再生されます。スクリプトがない、またはブロックされている場合でもリンクは機能し、新しいタブでプラットフォーム上の動画を開きます。 - プライバシー強化ドメインの通常のiframe
- スクリプトは一切使いません。プレーヤーはページと一緒に読み込まれますが、
youtube-nocookie.comから、またはVimeoならdnt=1付きで読み込まれます。さらにloading="lazy"が付くので、ページの下のほうにある動画は、訪問者がその近くまでスクロールするまで待ちます。
どちらの場合も、プレーヤーはCSSのaspect-ratioプロパティでサイズを決めた箱に収まるため、置いた列の幅に合わせて伸縮します。/shorts/のリンクは自動で判別され、幅360ピクセルまでの9:16の箱になります。
| 選択項目 | YouTubeのパラメーター | Vimeoのパラメーター |
|---|---|---|
| 開始時間 | start=90 | #t=90s |
| 字幕オン | cc_load_policy=1, cc_lang_pref | texttrack=en |
| プレーヤーの言語 | hl=en | 非対応 |
| 自分のチャンネルのおすすめ | rel=0 | 不要 |
| 限定公開の動画 | そのまま動作 | リンクのh=コードを保持 |
最後の漏れはポスター画像
YouTubeの場合、クリック読み込みのコードは、デフォルトでi.ytimg.com上の動画のサムネイルを指します。このサーバーはGoogleのものです。Cookieは設定しませんが、画像を読み込むときに訪問者のIPアドレスは見えます。第三者へのリクエストをゼロにするには、動画の1コマを保存して自分のサイトにアップロードし、そのアドレスをポスターの欄に貼り付けてください。アドレスはhttps://にしましょう。ブラウザは安全なページ上の安全でない画像を拒否するからです。
Vimeoにはサムネイルの決まったアドレスがないため、デフォルトはタイトルを表示した暗い枠になります。同じポスターの欄で画像に置き換えられます。
「プライバシー強化」や「Cookieなし」という言葉は、再生前に起こることを表しています。訪問者が再生を押せば、動画はYouTubeやVimeoから配信され、両社はその訪問者の通常の技術的な情報を受け取ります。クリック読み込みはそれを変えるものではありません。判断を訪問者に委ねるのです。
サイトにコードを貼り付ける
出力はインラインスタイル付きの普通のHTMLなので、テーマには依存しません。
- WordPress:「カスタムHTML」ブロックを追加して貼り付けます。管理者は
<script>部分も保存できますが、マルチサイトネットワークで編集者権限のアカウントでは、保存時に削除されることがあります。そうなっても、ポスターは動画にリンクしたままです。通常のiframeに切り替えることもできます。 - Squarespace、Wix、Webflow、Shopify:コードブロックか埋め込みブロックを使ってください。標準の動画ブロックを使うと、通常のプレーヤーがそのまま戻ってきてしまいます。
- 静的HTML:動画を置きたい場所に貼り付けます。1ページに複数の動画を置く場合は、それぞれのコードを丸ごと貼り付けてください。スクリプトはすでに実行済みかどうかを自分で確認します。
- Content-Security-Policy:
frame-srcでwww.youtube-nocookie.comまたはplayer.vimeo.comを許可してください。インラインスクリプトを禁止するポリシーではクリック読み込みのスクリプトがブロックされるため、自分で配信するファイルに移してください。
タイトルの欄は必ず入力してください。iframeのtitleと再生リンクのラベルになり、スクリーンリーダーが読み上げるのはそれです。空欄にすると、聞いている人には「YouTube動画」としか伝わりません。
よくある質問
youtube-nocookie.comは本当にCookieを設定しないのですか?
プレーヤーが待機している間は、トラッキングCookieを設定しません。それでもプレーヤーのスクリプトはGoogleから読み込まれ、ブラウザのローカルストレージを使うことがあります。訪問者が再生を押したあとは、YouTubeはほかの視聴とほぼ同じようにセッションを扱います。クリック前に何も送らないのは、クリック読み込み版だけです。
埋め込み動画にもCookieの同意は必要ですか?
適用される法律によります。これは法的な問題で、このツールでは判断できません。技術的には、ポスターを自分のサイトでホストしたクリック読み込みの埋め込みは、訪問者が操作するまで第三者にリクエストを送りません。これは多くの同意ルールが求める動作です。プライバシーポリシーでは動画プラットフォームについて触れておきましょう。
一部のスマホで2回タップしないと再生されないのはなぜですか?
コードはクリック後に自動で再生を始めるようプレーヤーに求めます。一部のモバイルブラウザや省電力モードのスマホは、iframe内での音声付き自動再生をブロックします。その場合、プレーヤーは一時停止の状態で表示され、もう1回タップが必要になります。
クリック読み込みの埋め込みでページは速くなりますか?
はい。しかも測定できます。ページは最初にプレーヤーのスクリプトをダウンロードしなくなり、動画1本あたり数百キロバイトと、メインスレッドの処理のかなりの部分が減ります。ページサイズの内訳で前後を比べてみてください。
Vimeoの動画がプレビューでエラーになります。なぜですか?
おそらく動画が限定公開か、制限付きになっています。Vimeoの「共有」ボタンから取得したリンクを使ってください。vimeo.com/123456789/abc123def4のような形です。後半はプレーヤーが必要とするキーです。動画が特定のドメインに限定されている場合は、Vimeoのプライバシー設定にあなたのサイトを追加してください。
リンクの代わりにiframeのコード全体を貼り付けられますか?
はい。貼り付けたテキストにsrc="…"属性が含まれていれば、ツールはその中のアドレスを読み取り、そこから埋め込みコードを作り直します。