一部のWPBeginner読者から、WordPressウェブサイトで投稿のoEmbedを無効にする方法について質問がありました。デフォルトでは、WordPressは組み込みのURLブロックを使用して、どのユーザーでもあなたの投稿を自分のウェブサイトに埋め込むことを許可しています。
これはコンテンツの拡散に役立つ可能性がありますが、投稿が表示される場所や方法を自分で制御できなくなることも意味します。さらに、自分のサイトにサードパーティのコンテンツを埋め込む機能は、ウェブサイトの速度とパフォーマンスに影響を与える可能性があります。
この投稿では、WordPressブログまたはウェブサイトで投稿の埋め込みを無効にする方法を説明します。コードを使用する方法とプラグインを使用する方法の2つの簡単な方法をカバーします。

WordPress で埋め込みを無効にする理由
oEmbedは、WordPressユーザーがコンテンツを埋め込むことを可能にするテクノロジーです。例えば、WordPressのブログ投稿に動画を埋め込んだり、SoundCloudからオーディオプレーヤーを追加したり、X/TwitterのツイートやYouTube動画を表示したりできます。
エンベッドやiFrame はコンテンツに多様性を加えることができますが、WordPress サイトにとって無効化することが有益な場合もあります。
主な懸念事項の1つは、ウェブサイトのパフォーマンスです。埋め込みには、wp-embed.min.jsファイルを読み込むための追加のHTTPリクエストが必要です。このJavaScriptは、特に多くの埋め込みコンテンツがある場合、積み重なってウェブサイトを遅くする可能性があります。
埋め込みを無効にすると、ウェブサイトの読み込み速度と全体的なパフォーマンスを向上させることができます。
埋め込みを無効にすることを検討するもう1つの理由は、意図しないトラフィックの急増を回避することです。デフォルトでは、WordPressウェブサイトに誰かのコンテンツを埋め込むことができる場合、WordPressのURLブロックを使用して誰でもあなたのコンテンツを埋め込むことができます。

これは諸刃の剣になり得ます。人気のサイトがあなたのコンテンツを埋め込んだ場合、それはあなたのブログのトラフィックを増やす可能性があります。しかし、あなたのウェブサイトのリソースを圧倒する突然のトラフィックの急増につながる可能性もあり、それはあなたのWordPress ホスティングプランによって異なります。
最後に、埋め込みを無効にすることはセキュリティ対策となり得ます。ログインページや会員エリアなど、埋め込みを通じて一般に公開されたくない特定のコンテンツがある場合があります。埋め込みを無効にすることで、他のウェブサイトに表示されるコンテンツをより細かく制御できます。
これを踏まえて、WordPress ウェブサイトで投稿 oEmbed を無効にする方法を見てみましょう。使用したい方法に直接ジャンプするには、以下のクイックリンクを使用してください。
- 方法1:カスタムコードを使用してWordPressでoEmbedを無効にする(推奨)
- 方法2:Disable Embeds WordPressプラグインをインストールする(クイック)
- WordPressの速度とパフォーマンスを向上させるためのボーナスヒント
方法1:カスタムコードを使用してWordPressでoEmbedを無効にする(推奨)
WordPressの投稿で埋め込みを簡単に無効にする最良の方法は、コードスニペットプラグインを使用することです。
ウェブサイトにスニペットを使用すると、リンクを使用してコンテンツを埋め込もうとする人は誰でも代わりに空白のページが表示されるようになります。これは、オンラインストアやメンバーシップサイトを運営している場合に特に役立ちます。これにより、チェックアウトページ、ログインページ、その他の重要なページが埋め込まれるのを防ぐことができます。
同じコードスニペットは、サイトでの埋め込みを無効にもするため、サイトの速度とパフォーマンスが向上する可能性があります。
ウェブサイトにコードを追加する最も簡単な方法は、無料の WPCode プラグインを使用することです。
WPCodeは、WordPressのカスタムCSS、PHP、HTMLなどをWordPressウェブサイトに追加できる、最高のコードスニペットプラグインです。また、ウェブサイト全体で埋め込みを無効にする既製のコードスニペットも備えています。
ただし、これによりWordPressユーザーが既に埋め込んでいるコンテンツが削除されるわけではないことに注意してください。しかし、他のウェブサイトがあなたのコンテンツをさらに埋め込むのを停止します。
まず、無料のWPCodeプラグインをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。
プラグインが有効化されたら、コードスニペット » スニペットを追加 に移動します。

ここでは、サイトに追加できる既製のスニペットのWPCodeライブラリが表示されます。これらには、コメントを完全に無効にする、通常WordPressがサポートしないファイルタイプをアップロードする、添付ページを無効にするなどのスニペットが含まれています。
右側のスニペットを見つけるには、「スニペットを検索」フィールドに「埋め込みを無効にする」と入力するだけです。

「埋め込みを無効にする」スニペットが表示されたら、マウスカーソルを合わせます。
まだWPCodeスニペットライブラリに接続していない場合は、「ライブラリに接続してロック解除」ボタンが表示されます。

これにより、無料のWPCodeアカウントを作成し、50以上の無料コードスニペットをアンロックできるポップアップが表示されます。
名前、メールアドレス、ユーザー名、パスワードを入力します。次に、「登録」ボタンをクリックしてください。

これが完了したら、WordPress のダッシュボードに戻り、「無効にする埋め込み」コードスニペットにカーソルを合わせます。
表示されたら、「スニペットを使用」ボタンをクリックする必要があります。

このコードスニペットは、すべての設定が構成された状態で読み込まれます。スニペットを有効にするには、単に「非アクティブ」スライダーをクリックして「アクティブ」と表示されるようにしてください。
その後、「更新」をクリックできます。

これで、WPCodeはコードをWordPressテーマのfunctions.phpファイルに追加し、ウェブサイト全体で埋め込みを無効にします。同時に、スニペットは他のウェブサイトがあなたのコンテンツを埋め込むのを停止します。
ある時点で、ウェブサイトで埋め込みを許可したり、他のユーザーがあなたのサイトであなたのコンテンツを表示できるようにしたい場合があります。この場合、[コードスニペット] » [コードスニペット]に移動するだけです。
ここで、無効化する埋め込みスニペットを見つけ、その「ステータス」トグルを無効にするためにクリックする必要があります。

これにより、WordPress ウェブサイト全体でコードスニペットが無効になります。
方法2:Disable Embeds WordPressプラグインをインストールする(クイック)
ウェブサイトにカスタムコードを追加したくない場合は、代わりにDisable Embedsを使用できます。これは設定不要のシンプルなプラグインで、有効化するとWordPressの埋め込みが無効になります。
注意: Disable Embeds プラグインは最新の WordPress バージョンでテストされていないことに気づくかもしれません。心配しないでください。自分でテストしたところ、この目的には問題なく機能しました。WordPress のバージョンでテストされていないプラグインの使用について詳しく知りたい場合は、このトピックに関する詳細ガイドをご覧ください。
まず、Disable Embedsをインストールして有効化する必要があります。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。
これが完了すると、プラグインは他の WordPress ブログでの投稿の oEmbed を無効にします。また、Gutenberg ブロックエディターからサードパーティのコンテンツを埋め込むこともできなくなります。
前述したように、これはWordPressウェブサイトからコンテンツを削除するものではありません。WordPressのキャッシュの仕組みにより、サードパーティが既にページまたは投稿を埋め込んでいる場合、そのウェブサイトに表示され続けます。
WordPressの速度とパフォーマンスを向上させるためのボーナスヒント
WordPress で埋め込みを無効にすることは、ウェブサイトの速度とパフォーマンスを向上させる素晴らしい方法です。WordPress のパフォーマンスを向上させる他の方法を探している場合は、次のことができます。
- WP Rocket のようなキャッシュプラグインをインストールします。
- WordPressで画像を最適化して、品質を損なうことなくウェブパフォーマンスを向上させる方法
- コンテンツ配信ネットワークを使用する。
- WordPressデータベースを最適化する。
詳細については、WordPressのパフォーマンスに関する完全ガイドをご覧ください。
この記事がWordPressで埋め込みを無効にするのに役立ったことを願っています。また、WordPressでoEmbedの最大幅を設定する方法に関するガイドをご覧になるか、サイトへのトラフィックを増やすのに役立つ最高のSEO(検索エンジン最適化)プラグインとツールの専門家のおすすめをご覧ください。
この記事が気に入ったら、WordPressのビデオチュートリアルについては、YouTubeチャンネルを購読してください。 TwitterやFacebookでもフォローできます。

イジー・ヴァネック
質問があります。例外を設けて埋め込みを無効にすることは可能ですか?例えば、YouTube以外のすべてに対して埋め込みを無効にしたいのですが。一般的に埋め込みを無効にしたいのですが、ウェブサイトでYouTube動画を使用しており、例外として許可する必要があるのはそれだけです。これは達成可能ですか?
WPBeginnerサポート
現時点では、埋め込みを選択的に無効にするための特定のコードはありませんが、推奨するスニペットがあれば必ず共有します!
管理者
イジー・ヴァネック
ご回答ありがとうございます。私も解決策を探してみます。YouTube 動画は私にとって重要なので、ウェブサイトのセキュリティのために何かできることをもっとしたいと思っています。いずれにしても、お時間とご回答に感謝いたします。
デビッド
試しましたが、うまくいきませんでした。助けてください
WPBeginnerサポート
プラグインのサポートに連絡すれば、問題の原因を調べてもらえるはずです。
管理者
エレナ
こんにちは
クローラーがoembedを使用して制限なくリンクをクロールする場合、これは役立ちますか?
WPBeginnerサポート
クローラーの種類によりますが、主な目的はRSSフィードをクロールするものを防ぐことではなく、oembedを使用して投稿が埋め込まれるのを防ぐことです。
管理者
ニール
埋め込み機能は壊れたリンクを表示しますか?
デイブ・キンスキー
こんにちは。私の懸念は、他の人が私のコンテンツを埋め込めるかどうかではなく、代わりに、私が他のサイトへのリンクを含める際に、WordPress が私のページで iframe 埋め込みを PREVENT したいということです。どうすればそれができますか?
あるサイトで、人々を助けるためのリンクのリストを含めているのですが、リンクの1つが、すべてのAppleデバイスのSafariブラウザで外部サイトの登録ポップアップを表示させてしまいます。しかし、外部ページにアクセスすると、登録ポップアップはありません。
It’s very off-putting and confusing for any visitor to my site to encounter a pop-up registration box from an external site about 5 seconds after loading the page from my site. I would also like the option to block oembeds when I include links to external sites on a page. How can I do that? I haven’t been able to find any way to stop my own site’s pages from including embeds in iframes on my pages. Can anyone offer a solution? Thanks in advance!
グラント
キャプションには「…そしてなぜ無効にすべきか」とありますが、本文には「ウェブサイトで有効にしたままでも害はありません」と書かれています。後者に同意しますが、何か見落としているかもしれません。
私たちのコンテンツが役立つと見つけた人が、自分のサイトに簡単に要約を投稿できる機能を無効にしたいと思う理由は何でしょうか?新しい機能にセキュリティホールのような欠点がある場合や、リソースを大量に消費する場合などを除けば、メリットしかないように思えます。
WPBeginnerサポート
その通りです。新しい機能に欠点はありません。ただし、無効にしたい場合は、無効にできます。
管理者
Øyvind
「欠点なし」… wp_head 関数によって追加される oembed スクリプトがサイト所有者のユーザー名を表示するという点を除けば。ハッカーの仕事は半分になっただけです。
WPBeginnerサポート
ユーザー名は表示されず、代わりに著者名が表示されます。WordPressのプロフィールを編集し、「公開名」の下でユーザーのニックネーム(名、姓、またはニックネーム)を選択できます。セキュリティをより重視する場合は、推測されにくいユーザー名を使用することもできます。
Øyvind
author_nameフィールドには著者の名前が表示されます。しかし、author_urlフィールドはユーザー名のスラッグで終わります。管理パネルでニックネームを変更し、データベースでnicenameを変更しましたが、JSON形式ではまだこのようにユーザー名が表示されます。
"author_url": "http:\/\/website.com\/author\/username\/"
M. Qtips
はい、このバグには間違いなく欠点があります(これは機能ではなく、機能とはあなたが*望む*ものであり、取り除くために余分な手順が必要な、望まないものではありません)。私のブログでコード例を投稿する能力をイライラさせるほど妨げていることについての、私の別の提出済みコメントを参照してください。
M. Qtips
うーん、これはオプトインではなくオプトアウトであるべき非常に愚かな機能です。私はテックブログを運営していますが、apache mod_rewriteルールについて投稿しようとしており、例にURLを使用できません。なぜなら、投稿をタイプしたままにせず、コンテンツを「親切に」埋め込もうとするからです。私の例のコードを台無しにしています。完全にイライラします。
Wajid Ali Tabassum
WordPress 4.4でimg HTMLタグの「srcset」属性を無効にするにはどうすればよいですか?
Chris
ヒントをありがとうございます。
たとえば、別のプラグインではなく、functions.php にコードスニペットを追加するオプションはありますか?
mensmaximus
多くのコードを追加するのではなく、oembed 機能が行うように、他のサイトがあなたのコンテンツを iframe で表示することをブロックすることをお勧めします。次の行を .htaccess ファイルに追加してください:
X-XSS-Protection "1; mode=block" を設定します
X-Frame-Options SAMEORIGIN を常に追記します
X-Content-Type-Options: "nosniff" を設定します
mensmaximus
コメントで一部のコードが削除されました。次に試してください:
´
X-XSS-Protection "1; mode=block" を設定します
X-Frame-Options SAMEORIGIN を常に追記します
X-Content-Type-Options: "nosniff" を設定します
´
mensmaximus
さて、ここにコードを投稿する方法はまったくわかりません。3行は条件付きの「ifModule mod_headers.c」の間に配置する必要があります。しかし、「より小さい」/「より大きい」矢印が付いた行は、コメントでフィルタリングされます(これはHTMLタグのストリップ機能だと思います)。
WPBeginnerサポート
はい、コードを [html] … [/html] で囲んでみてください。
mensmaximus
2回目の試行
1-click Use in WordPress
ダグ・ウィルソン
誰かがこれを言及するだろうと思っていました。404エラーの多くは他のサイトからのものだと賭けられます。検索エンジンが削除されたコンテンツや画像へのリンクをたどっているなど…