Cloudflareを使っているWordPressで「Error 1011: Access Denied (Hotlinking Denied)」が表示されたら、画像の直リンクを防ぐHotlink Protectionが、その要求を外部サイトからの利用と判定して拒否しています。
自分のサイトでは画像が見えるのに、提携先ページ、別ドメイン、RSS、SNSなどでは表示されないことがあります。画像ファイルの破損やWordPressへのアップロード失敗と決め付けず、「画像の置き場所」と「どのページから読み込んだか」を組にして調べます。
最初に1011画面、対象画像の完全なURL、画像を表示しようとしたページURL、発生時刻、再現したブラウザを保存してください。保護を全面停止する前に、意図して止めた無断利用なのか、許可したい共有先まで巻き込んだのかを確認します。
先に結論:Error 1011は8段階で確認する
- 1011画面、画像URL、表示元ページ、発生時刻を保存する
- 自サイト内、画像URL単体、外部ページで結果を比べる
- 画像のホスト名、パス、拡張子を確認する
- ブラウザのNetworkで画像要求とHTTP Refererを確認する
- Cloudflare Hotlink Protectionの有効状態と適用範囲を確認する
- その外部利用を許可すべきか運用方針を決める
- 必要なら特定ホスト・フォルダ・画像だけ例外にする
- 自サイト、外部共有先、検索・SNS・RSS、帯域保護を再確認する
WordPressへ画像自体を追加できない場合は、WordPress画像アップロードエラーの確認順を使います。画像は取得できるもののHTTPとHTTPSが混在する場合は、Mixed Contentを安全に直す手順へ進んでください。
Cloudflare Error 1011とは?

Cloudflare公式のError 1011は、Hotlink Protectionを使うリソースへの要求が、直リンク防止によって拒否された状態です。サイト所有者が行った遮断なので、Cloudflare Supportが訪問者の依頼だけで設定を上書きすることはできません。
「Hotlink」は、別サイトがあなたのサーバー上の画像URLを自分のページへ直接埋め込み、その画像転送をあなたの配信環境へ負担させる使い方です。Hotlink Protectionは無断利用と帯域消費を抑える一方、意図して許可した外部掲載にも影響する可能性があります。
Hotlink Protectionの判定方法
Cloudflare公式のHotlink Protectionによると、画像要求のHTTP Refererに自分のWebサイトのドメインが含まれず、かつRefererが空でもない場合にアクセスを拒否します。
そのため、画像URLをアドレスバーへ直接入力すると見えるのに、外部ページへ埋め込むと1011になる場合があります。直接アクセスではRefererが空になることがあり、外部ページからの読み込みでは外部ドメインがRefererとして送られるためです。
対象として公式に示されている拡張子は、gif、ico、jpg、jpeg、pngです。画像URLの末尾、実際の配信ホスト、WordPressが出力したsrcやsrcsetを確認します。
1011と他の画像トラブルの違い
| 症状 | 主な確認点 | 最初の対応 |
|---|---|---|
| Cloudflare 1011 | 外部参照とHotlink Protection | 画像URL、表示元、Referer、適用範囲 |
| 一般的な403 | WAF、サーバー権限、アクセス制限 | 応答元と対象ルールを特定 |
| 404 | 画像URL、ファイル移動、生成サイズ | 実在URLとWordPress出力を確認 |
| Mixed Content | HTTPSページ内のHTTP画像 | 元URLとHTTPS配信を修正 |
| アップロード失敗 | 容量、形式、権限、PHP、REST API | 管理画面の保存処理を確認 |
| 表示が遅い | 容量、寸法、形式、遅延読込 | 画像最適化と配信を確認 |
Cloudflareの1011がなく、単に画像が重い場合はWordPress画像最適化のやり方を確認します。一般的な403なら、WordPressの403 Forbiddenを直す確認順で拒否した層を切り分けてください。
画像URLと表示元を確認する

1. 三つの開き方を比べる
- 自分のWordPressページ内で画像を見る
- 画像URLを新しいタブで直接開く
- 問題が起きた外部ページから画像を読み込む
自サイト内と直接URLでは成功し、外部ページだけ1011なら、Hotlink Protectionの参照元判定と整合します。三つすべてで失敗するなら、DNS、配信ホスト、ファイルの存在、権限、別のセキュリティ設定も確認します。
2. 画像のホスト名を確認する
ページがwww.example.com、画像がcdn.example.netのように別ドメインなら、所有しているサービス同士でも参照元判定では外部扱いになる可能性があります。WordPressのサイトURL、メディアURL、CDN置換、サブドメイン、独自ドメインの対応を一覧にします。
3. Networkで実際の要求を見る
ブラウザの開発者ツールでNetworkを開き、問題の画像要求を選びます。Request URL、Status、Referer、Response Headers、Initiatorを確認し、1011画面の内容と一致するかを見ます。認証情報やCookieを含む記録を第三者へ渡すときは、秘密値を削除してください。
Hotlink Protectionの適用範囲を確認する
CloudflareダッシュボードでHotlink Protectionが有効かを確認し、いつ・何の目的で有効にしたかを記録します。設定変更前には、現在の値、対象ゾーン、利用中のConfiguration Rules、画像配信ホスト、共有が必要な外部サービスを保存してください。
Cloudflare for SaaSでカスタムホスト名を使う場合、公式資料は、初期状態では自分のゾーンをRefererに持つ要求だけが許可されると注意しています。顧客のカスタムホスト名を止める可能性があるため、Configuration RulesやCustom Rulesを含め、サービス構成に合う範囲を設計します。
その外部表示を許可すべきか判断する
| 利用場面 | 判断の例 | 適した対応 |
|---|---|---|
| 無関係なサイトの無断転載 | 許可しない | 保護を維持し、必要なら利用者へ画像削除を依頼 |
| 自社の別ドメイン | 表示が必要 | 対象ホストや画像フォルダだけ例外化 |
| 提携先・配信先 | 契約上必要 | 共有用画像と利用範囲を分ける |
| RSSメール | 読者体験上必要 | RSS用画像フォルダを選択的に許可 |
| 検索・SNS | 集客方針により必要 | プレビューと画像表示を実機で確認 |
| 会員限定画像 | 直リンク防止だけでは不十分 | 認証や署名URLなど別のアクセス制御を検討 |
Hotlink Protectionは、画像をどこから参照したかを基にする機能です。会員限定・有料素材の機密性を保証する仕組みと同一視せず、公開範囲に認証が必要ならWordPressや配信基盤のアクセス制御を別に設計します。
安全な修正方法
特定の画像フォルダだけ対象外にする
Cloudflare公式は、特定の画像フォルダを対象にしたConfiguration RuleでHotlink Protectionを選択的に無効化する方法を案内しています。共有用と保護用の画像をフォルダで分けると、サイト全体を無効にせず運用できます。
hotlink-okディレクトリを使う
外部利用を許可する画像は、サイト内の任意の場所にhotlink-okという名前のディレクトリを作って配置できます。たとえば/images/hotlink-ok/logo.pngは直リンク確認の対象外になります。WordPressで既存画像を移動するとURLが変わるため、本文、OGP、構造化データ、外部配信先の参照更新も計画してください。
保護を全体で無効にする
すべての画像を外部利用可能にする運用なら、全体で無効化する選択肢もあります。ただし、無断直リンクによる帯域利用を防ぐ目的は失われます。変更前後の転送量、外部参照元、検索・SNS表示を比較し、運用方針として記録します。
検索・SNS・RSSへの影響
Cloudflare公式は、Hotlink Protectionはクロール自体には影響しない一方、Google Images、Pinterest、Facebookなどで画像が表示されなくなると説明しています。検索ロボットがページを読めることと、外部サービス上で画像が見えることは分けて確認します。
RSSリーダーやメール配信も、画像を外部環境から取得します。記事本文が配信できても画像だけ欠ける場合があるため、実際の購読環境でテストしてください。OGP画像はサービス側の取得方法やキャッシュも関係するため、設定変更直後の一回だけで判断せず、新しいURLまたは再取得機能で確認します。
やってはいけない対処
- 外部サイトからの一件の報告だけで保護を全面停止する
- 1011を画像破損と決め付け、元画像を何度も再アップロードする
- 表示元ページとRefererを確認せず、無関係なWAFルールを削除する
- 共有用と保護用の画像を同じフォルダで無計画に管理する
- URL変更後にWordPress本文、OGP、RSS、提携先の参照を放置する
- 外部サービスで一度見えたキャッシュだけを成功判定にする
- 会員限定画像の保護をReferer判定だけに任せる
「外部で画像が見えること」と「無断直リンクを防ぐこと」の両方を満たすには、必要な画像・フォルダ・ホストだけを選択的に共有します。一括のオン・オフではなく、画像の用途ごとに公開範囲を決めてください。
修正後に確認すること

- 自サイト内の本文画像、アイキャッチ、ロゴが表示される
- 画像URLを直接開いたときの結果が想定どおり
- 許可した外部ページで1011が消えた
- 許可していない外部ページでは保護が維持される
- PCとスマホ、ログイン中と未ログインで表示できる
srcとsrcsetの各画像サイズが取得できる- Google Images、SNS、RSS、メール配信の方針と結果が一致する
- OGP画像とサイトアイコンが必要なサービスで表示される
- 画像URL変更後の404やMixed Contentがない
- Cloudflareとオリジンの転送量が想定外に増えていない
設定変更後も1011が続くとき
正しいCloudflareゾーンを変更したか、画像が別ホストや別CDNから配信されていないか、Configuration Ruleの条件が対象パスと一致するかを確認します。WordPressのsrcsetには複数サイズの別URLが入るため、一枚だけでなく実際に失敗したURLを調べます。
設定を直しても外部サービス側の古い1011応答が残る場合は、サービスの再取得方法を確認します。自サイト側のキャッシュを無差別に削除する前に、新しいブラウザ要求でCloudflareの現在の応答を確かめ、必要な範囲だけを更新します。順番はWordPressキャッシュ設定の基本も参考にしてください。
よくある質問
画像URLを直接開くと見えるのに、なぜ1011になりますか?
直接アクセスではHTTP Refererが空になり、外部ページからの埋め込みでは外部ドメインがRefererとして送られることがあるためです。問題ページのNetworkで実際の画像要求を確認してください。
Hotlink Protectionを切ればSEOに有利ですか?
一律には言えません。公式資料ではクロール自体には影響しない一方、画像検索や一部SNSでの表示には影響します。画像流入、共有、帯域保護のどれを優先するかで対象範囲を決めます。
hotlink-okへ移せば既存記事はそのままでよいですか?
いいえ。移動で画像URLが変わるなら、WordPress本文、アイキャッチ、OGP、構造化データ、RSS、外部掲載先などの参照更新が必要です。旧URLをどう扱うかも決めてから移します。
まとめ
Cloudflare Error 1011は、Hotlink Protectionが外部からの画像利用を拒否したときのエラーです。1011画面、画像URL、表示元ページ、時刻を保存し、自サイト内・直接URL・外部ページで結果を比較してRefererと適用範囲を確認します。
許可したい利用まで止まっている場合は、保護全体をすぐ切らず、Configuration Ruleやhotlink-okで共有用画像だけを分けます。修正後は自サイトと外部表示だけでなく、検索・SNS・RSS、URL整合、無断直リンク防止、帯域利用まで確認してください。