Webサイトを運営していると、YouTubeの動画やGoogleマップ、SNSの投稿などを自分のページに表示したいと思うことがあります。そんなときに活用できるのが「iframe」という技術です。iframeを使えば、外部のコンテンツを自分のWebページ内に簡単に埋め込むことができます。しかし、正しく設定しないとセキュリティ上の問題が発生したり、レスポンシブ対応ができなかったりするケースも少なくありません。本記事では、iframeの基本的な仕組みから実践的な埋め込み方法、注意すべきポイントまでを徹底的に解説します。初心者の方でも理解できるよう、具体的なコード例を交えながら説明していきますので、ぜひ最後までご覧ください。
- iframeの基本的な仕組みと役割
iframeはHTMLタグの一種で、外部コンテンツを現在のページ内に表示するためのインラインフレームを作成します
- iframe埋め込みの具体的な実装方法
YouTube、Googleマップ、SNSなど様々なコンテンツを埋め込む際の正しい記述方法とカスタマイズ手順を習得できます
- セキュリティとパフォーマンスの最適化
安全にiframeを使用するための属性設定や、表示速度を改善するための実践的なテクニックを学べます
iframeの基本的な仕組み
iframeの基本構文
iframeの最もシンプルな記述方法は、src属性に表示したいURLを指定するだけです。基本的な構文は以下のようになります。
| 属性名 | 説明 | 記述例 |
|---|---|---|
| src | 埋め込むコンテンツのURL | src=”https://example.com” |
| width | フレームの幅 | width=”560″ |
| height | フレームの高さ | height=”315″ |
これらの属性を組み合わせることで、任意のサイズで外部コンテンツを表示できます。
iframeが使われる場面
iframe埋め込みは様々な場面で活用されています。代表的な用途としては、動画配信サービスのプレイヤー表示、地図サービスの埋め込み、SNSの投稿表示などがあります。
特にYouTubeやVimeoなどの動画プラットフォームでは、公式に埋め込みコードが提供されており、コピー&ペーストするだけで簡単に動画を表示できます。これにより、動画ファイルを自分のサーバーにアップロードすることなく、高品質な動画コンテンツを配信することが可能になります。
iframeと他の埋め込み方法
Webページにコンテンツを埋め込む方法はiframe以外にも存在します。objectタグやembedタグなども埋め込みに使用できますが、それぞれ特徴が異なります。
| 方法 | 特徴 | 主な用途 |
|---|---|---|
| iframe | HTMLドキュメント全体を埋め込める | 外部サイト、動画、地図 |
| object | 様々な種類のデータを埋め込める | PDF、Flash(廃止) |
| embed | プラグインコンテンツの埋め込み | 音声、動画 |
現在のWeb開発においては、iframeが最も汎用性が高く、多くのサービスで標準的に採用されています。

iframeは外部コンテンツを手軽に埋め込める便利な技術です。まずは基本構文を押さえておきましょう。

iframe埋め込みの実装手順
YouTube動画の埋め込み
YouTube動画をWebサイトに埋め込む場合、YouTubeが提供する公式の埋め込みコードを使用するのが最も確実な方法です。動画ページの共有ボタンから埋め込みコードを取得できます。
YouTubeの埋め込みコードには、自動再生やループ再生などのオプションをパラメータとして追加することができます。これらのパラメータはsrc属性のURLの末尾に「?」と「&」で連結して指定します。
YouTube埋め込みで使える主なパラメータ
- autoplay=1(自動再生)
- mute=1(ミュート状態で再生)
- loop=1(ループ再生)
- controls=0(コントロールバー非表示)
Googleマップの埋め込み
Googleマップを埋め込む場合は、Googleマップの共有機能から埋め込みコードを取得します。地図を表示したい場所を検索し、共有メニューから「地図を埋め込む」を選択することでコードが表示されます。
サイズは小・中・大・カスタムから選択できるため、Webサイトのデザインに合わせて調整することをお勧めします。また、表示する地図の種類(航空写真やストリートビューなど)も設定可能です。
SNS投稿の埋め込み
X(旧Twitter)やInstagramなどのSNS投稿を埋め込む場合は、各プラットフォームが提供する公式の埋め込み機能を使用します。投稿の詳細メニューから「埋め込みコードを取得」などのオプションを選択できます。
SNSの埋め込みコードは、iframeだけでなくJavaScriptを含む場合もあります。この場合、scriptタグも一緒にコピーしてWebサイトに貼り付ける必要があります。
埋め込み時の注意点
iframe埋め込みを行う際には、いくつかの重要な注意点があります。まず、埋め込み元のサービスが許可しているかどうかを確認することが大切です。
| 確認項目 | 内容 | 対処法 |
|---|---|---|
| 埋め込み許可 | X-Frame-Optionsの設定確認 | 公式埋め込みコードを使用 |
| HTTPS対応 | 混在コンテンツの防止 | httpsのURLを使用 |
| 利用規約 | 商用利用の可否確認 | 各サービスの規約を確認 |
これらの点を事前に確認することで、埋め込みコンテンツが正常に表示されない問題を防ぐことができます。

公式の埋め込みコードを活用すれば、複雑な設定なしでコンテンツを表示できます。まずは試してみましょう。
バクヤスAI 記事代行では、
高品質な記事を圧倒的なコストパフォーマンスでご提供!

iframeの重要な属性設定
sandbox属性の活用
sandbox属性は、埋め込んだコンテンツに対して様々な制限を設けることができるセキュリティ機能です。この属性を指定することで、iframeで読み込んだコンテンツの動作を制御できます。
sandbox属性を空の状態で指定すると、すべての制限が適用されます。必要に応じて特定の機能のみを許可する値を追加していく形で設定します。
sandbox属性で許可できる主な機能
- allow-scripts(JavaScriptの実行)
- allow-same-origin(同一オリジンとして扱う)
- allow-forms(フォーム送信)
- allow-popups(ポップアップの表示)
loading属性による遅延読み込み
loading属性は、iframeの読み込みタイミングを制御するための属性です。「lazy」を指定することで、ユーザーがスクロールして表示領域に近づいたときに初めてコンテンツを読み込む遅延読み込みが実現できます。
遅延読み込みを活用することで、ページの初期表示速度を大幅に改善できるため、特に複数のiframeを使用するページでは積極的に導入することをお勧めします。
allow属性の設定
allow属性は、iframe内で使用できる機能を細かく制御するための属性です。カメラやマイクへのアクセス、全画面表示、自動再生などの権限を個別に設定できます。
| allow値 | 機能 | 用途例 |
|---|---|---|
| fullscreen | 全画面表示の許可 | 動画プレイヤー |
| autoplay | 自動再生の許可 | 背景動画 |
| camera | カメラアクセスの許可 | ビデオ通話ウィジェット |
| microphone | マイクアクセスの許可 | 音声入力機能 |
これらの権限は必要最小限に設定し、不要な機能は許可しないようにすることがセキュリティ上重要です。
title属性の重要性
title属性は、iframeの内容を説明するためのテキストを指定する属性です。アクセシビリティの観点から、スクリーンリーダーを使用するユーザーがiframeの内容を理解できるよう、適切な説明文を設定することが推奨されています。
検索エンジンもtitle属性の内容を参考にすることがあるため、SEOの観点からも設定しておくことが望ましいでしょう。

属性設定はセキュリティとパフォーマンスに直結します。sandbox属性やloading属性は特に重要ですよ。
バクヤスAI 記事代行では、高品質な記事を圧倒的なコストパフォーマンスでご提供!
バクヤスAI 記事代行では、SEOの専門知識と豊富な実績を持つ専任担当者が、キーワード選定からAIを活用した記事作成、人の目による品質チェック、効果測定までワンストップでご支援いたします。
ご興味のある方は、ぜひ資料をダウンロードして詳細をご確認ください。
サービス導入事例

株式会社ヤマダデンキ 様
生成AIの活用により、以前よりも幅広いキーワードで、迅速にコンテンツ作成をすることが可能になりました。
親身になって相談に乗ってくれるTechSuiteさんにより、とても助かっております。
▶バクヤスAI 記事代行導入事例を見る
iframeのレスポンシブ対応
アスペクト比を維持する方法
動画などのコンテンツでは、アスペクト比(縦横比)を維持しながらサイズを変更することが重要です。CSSのaspect-ratioプロパティを使用することで、簡単にアスペクト比を固定したレスポンシブ対応が実現できます。
YouTubeの標準的なアスペクト比は16:9です。この比率を維持しながら幅を100%に設定することで、どの画面サイズでも適切な表示が可能になります。
コンテナを使った実装
従来の方法として、iframeを囲むコンテナ要素を作成し、padding-topプロパティを使ってアスペクト比を維持する手法があります。この方法は古いブラウザでも動作するため、幅広い環境への対応が必要な場合に有効です。
コンテナ要素のposition属性をrelativeに、iframe要素のposition属性をabsoluteに設定し、幅と高さを100%にすることで、コンテナのサイズに合わせてiframeが伸縮します。
max-widthの活用
max-widthプロパティを設定することで、大画面でもiframeが必要以上に大きくならないよう制限できます。これにより、デスクトップとモバイルの両方で適切な表示サイズを維持することが可能です。
レスポンシブ対応のチェックポイント
- widthを100%またはパーセンテージで指定
- max-widthで最大幅を制限
- アスペクト比を維持する設定を追加
- 複数デバイスで表示確認を実施
メディアクエリでの調整
より細かい制御が必要な場合は、CSSのメディアクエリを使用して画面サイズごとにiframeのスタイルを変更することができます。特定のブレークポイントでサイズや配置を切り替えることで、各デバイスに最適化された表示を実現できます。
メディアクエリを活用する際は、一般的なブレークポイント(768px、1024pxなど)を基準に設定すると、多くのデバイスで適切な表示が期待できます。

レスポンシブ対応は必須の設定です。aspect-ratioプロパティを使えば簡単に実装できますよ。

iframe埋め込みのトラブル対処
コンテンツが表示されない場合
iframeのコンテンツが表示されない最も一般的な原因は、埋め込み先のサイトがiframeでの表示を禁止している場合です。これはX-Frame-Optionsヘッダーによる制限で、セキュリティ上の理由から設定されています。
この制限がある場合、公式に提供されている埋め込みコードを使用するか、代替手段(リンクでの誘導など)を検討する必要があります。
| 症状 | 考えられる原因 | 対処法 |
|---|---|---|
| 空白のまま表示されない | X-Frame-Options制限 | 公式埋め込みコード使用 |
| セキュリティエラー | 混在コンテンツ | httpsに統一 |
| 一部機能が動かない | sandbox制限 | 必要な許可を追加 |
SharePoint環境での問題
SharePointなどの企業向けプラットフォームでは、セキュリティポリシーによりiframeの使用に制限がかかっている場合があります。特に外部サイトのコンテンツを埋め込む際に問題が発生することが多いです。
SharePointでiframeを使用する場合は、管理者に確認して許可リストへの追加を依頼するか、Power Appsなどの代替ソリューションを検討することをお勧めします。
パフォーマンスの問題
複数のiframeを一つのページに配置すると、ページの読み込み速度が大幅に低下することがあります。各iframeは独立したドキュメントとして読み込まれるため、それぞれがリソースを消費します。
loading=”lazy”属性の活用や、本当に必要なiframeのみを使用するなど、パフォーマンスを意識した実装を心がけることが重要です。
クロスオリジンの制約
異なるドメイン間でのデータのやり取りは、ブラウザのセキュリティ機能により制限されています。iframe内のコンテンツと親ページ間で通信が必要な場合は、postMessageAPIを使用することで安全に情報をやり取りできます。
ただし、この方法を使用する場合は、送信元の検証を適切に行うなど、セキュリティに十分注意する必要があります。

トラブルの多くはセキュリティ設定に起因しています。公式の埋め込みコードを使うのが確実でしょう。
よくある質問
- iframeで埋め込んだコンテンツはSEOに影響しますか
-
iframeで埋め込んだコンテンツは、基本的に検索エンジンのクローラーによって親ページのコンテンツとしては認識されません。そのため、SEOの観点からは、重要なテキストコンテンツはiframeではなく直接ページに記述することが推奨されます。ただし、動画や地図などの補助的なコンテンツをiframeで埋め込むことは、ユーザー体験の向上につながるため問題ありません。
- iframeとembedタグの違いは何ですか
-
iframeはHTMLドキュメント全体を埋め込むためのタグで、外部のWebページをそのまま表示できます。一方、embedタグは特定のメディアコンテンツ(音声、動画、プラグインなど)を埋め込むためのタグです。現在はiframeの方が汎用性が高く、多くのWebサービスで標準的に使用されています。用途に応じて使い分けることが大切です。
- iframeで表示したコンテンツのスタイルを変更できますか
-
同一オリジン(同じドメイン)のコンテンツであれば、JavaScriptを使ってiframe内のスタイルを変更することが可能です。しかし、異なるドメインのコンテンツについては、セキュリティ上の理由から直接スタイルを変更することはできません。外部サービスの埋め込みでは、サービス側が提供するカスタマイズオプションを利用する形になります。
まとめ
iframeは、外部コンテンツを自分のWebサイトに簡単に埋め込むことができる便利なHTML要素です。YouTube動画やGoogleマップ、SNSの投稿など、様々なコンテンツを表示する際に活用されています。
正しく実装するためには、基本的な属性の理解に加えて、セキュリティ対策としてのsandbox属性やallow属性の設定、パフォーマンス改善のためのloading属性の活用が重要です。また、現代のWebサイトではレスポンシブ対応も欠かせません。
トラブルが発生した場合は、X-Frame-Options制限や混在コンテンツの問題を確認し、公式の埋め込みコードを使用することで多くの問題を解決できます。本記事で紹介した内容を参考に、安全で効果的なiframe埋め込みを実践してください。

