リモート画像を WordPress へ安全に取り込む:権利・検証・公開チェックリスト

リモート画像を WordPress へ安全に取り込む

2026年9月1日の訂正:この記事は2011年に書かれ、WordPress 2.9.2/3.0 向けに改変された Auto_Save_Image 2.2.2 の圧縮ファイルを紹介していました。旧ダウンロード先は第三者のファイルサイトです。作者、ソース、完全性、WordPress.org 上の項目との関係を現在の一次情報から確認できないため、リンクを削除しました。このファイルをインストールすべきではありません。歴史的背景は残しつつ、以下の運用案を現在の合法かつ安全性を考慮したメディア取り込み手順へ改めます。

2011年の記録を現在どう読むか

実際の問題は今も残っています。外部埋め込み画像は移動・削除されたり、埋め込みを拒否されたりし、手作業で一枚ずつ保存するには時間がかかります。しかし、「有益な記事を転載」し、画像を一括取得し、外部リンクを消し、共通の透かしを付ける方法は、現在の健全な運用ではありません。取り込みは新しい複製を作ります。出典を消したり自分の透かしを付けたりしても許可は生まれず、読者を誤認させるおそれがあります。

旧名称に対応する WordPress.org の auto-save-image 項目は現在閉鎖され、ページには2018年7月12日から “Unused” を理由にダウンロード不可と記されています。似た名前の auto-save-remote-images は別項目で、ディレクトリ上では最終更新が2012年、テスト対象は WordPress 3.4.2 までです。残っている証拠から旧記事の第三者 ZIP がどちらかを確定することはできず、いずれも現在の推奨にはできません。

技術より先に利用権を確認する

公開 URL から見えることは、複製自由を意味しません。取り込み前に少なくとも一つの確かな根拠が必要です。自分が制作した、権利者から書面で許可を得た、記録可能な明確なライセンスが用途をカバーする、または該当法域に詳しい有資格者が例外の適用を確認した、のいずれかです。範囲は複製、公衆表示、改変、透かし、商用利用、再配布など実際の行為を含まなければなりません。

元ページ、直接ファイル URL、作者または権利者、ライセンス名と版、表示条件、取得日、ライセンスページの保存記録または書面許諾を残します。出典 URL は来歴であり、ライセンスではありません。著作権、肖像、商標、プライバシー、地域制限が不明なら、先に取り込まず、元ページへリンクするか、許可が明確な代替画像を選びます。

直リンクも永続的な代替ではありません。閲覧者は配信元へファイルを要求し、その帯域を使い、削除、改名、直リンク防止、規約変更の影響を受けます。アクセス制御、ログイン、ペイウォール、robots 規則、配信元の埋め込み制限を回避してはいけません。

保守可能で安全性を考慮した現在の手順

1. 出典台帳を作り、権利審査を終える

候補画像ごとに、元ページ、ファイル URL、使用予定記事、権利根拠、必要なクレジット、担当確認者を一行で記録します。重複を除き、アバター、追跡ピクセル、広告、第三者コメントの画像、目的不明の素材を外します。インポーターには審査済み URL だけを渡し、サイト全体を走査して既定で全部取得させません。

2. バックアップを取り、ステージングで小さく試す

データベースとファイルの両方を保存します。データベースだけでは uploads ディレクトリを復元できません。復元可能なことを確かめ、本番に近いステージング環境で少数の代表例を試します。前後の添付 ID、記事 ID、元 URL、結果、エラーを記録し、人が最初の一群を確認してから段階的に広げます。各バッチにはロールバック経路が必要です。

3. リモート要求をすべて信頼できない入力として扱う

出所不明の ZIP や任意 URL を取得する即席処理ではなく、保守されている WordPress コアのメディア API と HTTP API を優先します。media_sideload_image() はリモート画像を添付として処理し、_source_url を保存します。任意 URL の取得は、最初の宛先とリダイレクト先を検査する安全な HTTP 経路を使います。

それでも既定値より狭い方針が必要です。承認済み HTTPS ホストだけを許可し、URL 内のユーザー名・パスワードを拒否し、リダイレクト、タイムアウト、同時数、ファイル単位とバッチ単位のバイト数、展開後の画素数に上限を設けます。リダイレクトごとに宛先を再確認し、ループバック、プライベート、リンクローカル、マルチキャスト、クラウドメタデータのアドレスを拒否して、サーバーサイド・リクエスト・フォージェリ(SSRF)を抑えます。内部 URL を通すために保護を無効化してはいけません。

4. ダウンロード後に実体を検証する

拡張子やサーバー申告の Content-Type を信用しません。一時ファイルについて、WordPress の許可形式、実 MIME と拡張子の一致を確認し、画像ライブラリで実際にデコードできることを確かめます。HTML エラーページ、スクリプト、空ファイル、偽装ファイル、許可外形式は拒否します。巨大画像や展開爆弾に備えて画素数とメモリの閾値を設け、サイト運用にマルウェア検査があれば保存前に通します。

リモート取り込みには独自の業務上限も必要です。wp_max_upload_size() は PHP のアップロード上限を示すもので、リモート取得方針全体ではありません。応答ヘッダーが小さい値を示しても、ストリーム受信中に上限を強制し、失敗時は一時ファイルを削除します。

5. 理解できるファイル名とメディア情報を作る

WordPress のファイル名サニタイズと一意化を使います。パス断片、クエリ、秘密情報、長い乱数を公開ファイル名に残しません。メディアタイトルは検索しやすくし、作者、出典、ライセンス表示を説明またはキャプションに残します。代替テキストは現在の文脈での画像の役割を説明し、装飾だけの画像はキーワードやファイル名を繰り返さず空の代替テキストにします。

元 URL、元ページ、取り込み時刻、権利根拠、必要に応じてコンテンツハッシュを保存します。_source_url は来歴に役立ちますが、ライセンス記録の代わりにはなりません。切り抜き、圧縮、透かしは許可範囲内だけで行い、自分の印で作者表示を覆いません。

6. 人が確認し、置換とロールバックを管理する

公開前にサムネイル、本文サイズ、モバイル表示、代替テキスト、キャプション、クレジット、重複添付、記事リンクを確認します。画像 URL は添付の取り込みと審査が成功した場合だけ置換します。一件の失敗で記事を半端な状態にせず、本文の外部出典リンクを自動削除しません。バッチごとの成功、スキップ、失敗を残し、バックアップとロールバック期間を確認してから一時ファイルを片付けます。

公開後は訂正・削除依頼の窓口を用意します。権利状態が変わった、許可が撤回された、元素材が差し替えられた場合に、来歴記録からすべての使用箇所を特定して再審査できるようにします。

少数の画像と一括移行では経路を分ける

  • 少数を手作業で編集:許可を確認後、画像ブロックの「URL から挿入」を使い、続いて「メディアライブラリへアップロード」を選びます。生成された添付、代替テキスト、キャプション、クレジットを確認します。古いプラグインを入れるより監査しやすい方法です。
  • 管理された移行:信頼できる出所で保守中かつ安全審査済みのインポーターを選ぶか、開発者が WordPress コアのメディア API と安全な HTTP API を使って制限付きタスクを作ります。台帳の数件をステージングで試し、境界のあるバッチで進めます。
  • 権利または境界が不明:取得しません。元ページへのリンクを残し、許可を求めるか、自作またはライセンスが明確な画像へ置き換えます。

この記事は汎用の一括取得コードを意図的に掲載しません。安全性はホスト許可リスト、DNS とリダイレクトの再確認、取得上限、内容検証、権限、ログ、ロールバックに依存します。文脈なしに「ダウンロードできる」だけのコードは本番運用ではありません。

Go / No-Go 公開チェックリスト

確認GoNo-Go
権利保存した許諾またはライセンスが用途をカバーする「ネットで公開」、出典表示だけ、未審査のフェアユース判断
出典ページ、ファイル、権利者、ライセンス記録が揃う短縮 URL、ミラー、匿名ファイルサイト、制御の回避
ネットワークHTTPS ホスト許可リスト、全リダイレクト再確認、私設/メタデータ宛先の拒否任意 URL、内部向け例外、SSRF 検査の無効化
内容実 MIME、拡張子、デコード結果が一致する接尾辞やヘッダーだけを信頼し、想定外の script/HTML/SVG を許可する
上限ファイル、バッチ、画素、時間、同時数に上限がある無制限の一括実行、または PHP 上限だけに依存する
メディア記録明確で一意のファイル名、文脈的な代替テキスト、追跡可能なクレジット・出典・許可乱数名、代替テキストなし、来歴削除、無許可の透かし
運用ステージングの小バッチ成功、DB とファイルを復元可能、ログとロールバックあり検証済みバックアップなしで本番全量実行
判断必須行がすべて Go のときだけ公開必須項目が一つでも No-Go なら停止して修正

現在の一次資料

これらは現在の WordPress の挙動と米国著作権の基本原則の一つを示す資料であり、あなたの法域に対する法律助言ではありません。重要または争いのある利用については、資格のある専門家へ相談してください。

Leave a Reply