ワイヤード・パンチ

サイトタイトル変えたい…。もうメカメカしいの関係なくなった…。

他のブログからWordPressに移転した際に便利な、画像置き換えプラグイン「External image replace」

2018年1月19日

当ブログはかつてTumblrで運営していましたが、現在はWordpressに移転して運営しています。

インポートツールがあるので記事の移し替え自体は可能なのですが、その際に問題になるのが、記事内にある画像。

画像のURLが以前のブログのままであり、そのブログがなくなると画像も消失するおそれがあります。

かといって手動ですべてダウンロードして記事を書き換えていくのは多大な手間なため、一括で置き換えできるプラグインを作りました。

広告

プラグインのダウンロード。

External image replace

正直言って、英語の意味があってるかどうか微妙ですが、とりあえずこのままで。

処理の流れ。

開始の手順。

wordpressに当プラグインをインストールすると、管理画面のツールメニュー内に「外部URL画像置き換え」という新しいメニューが追加されています。

ページを開くと、置き換え対象となる画像が含まれている全記事一覧および、記事内の対象画像数が表示されます。

どのような記事が対象になるかというと、現在使っているブログのドメインとは異なるURLが指定されている画像が対象になります。

たとえば当ブログの場合だと、現在のドメインは「wiredpunch.com」なのに、記事内の画像のURLが以前の「mu60.net」のままになっているが対象。

HTMLタグで言うと、<img src=”http://mu60.net/xxxxx.jpg”>とか。

そして記事一覧から、置き換えを行いたい記事をチェックボックスで選び、必要な記事を選び終わったら、上部の「置き換えを実行」をクリックすることで始まります。

除外する画像の指定。

記事一覧の下には、改行区切りでドメインを入力する欄があります。

ここに入力されているドメインを含んでいる画像は置き換え対象にならず、すべての画像が置き換え対象外だった記事は、一覧に現れません。

一部だけ置き換え対象外だった場合は、該当画像数のカウントから外れています。

アフィリエイトのブログパーツに含まれている画像は置き換えたくない、というときなどにお使いください。

ただ、この入力ボックスに入力した内容はリアルタイムで反映されるわけではありません。

入力ボックスを編集後に、下にある保存ボタンをクリックすることで、入力内容が保存され、その内容をもって改めて記事を検索しなおします。

処理開始後の流れ。

初めの画面で実行ボタンを押したら、進捗を見ながらあとはしばらく待つだけです。

裏でどのようなことが行われているのか、いちおう説明。

まずは、記事内に記載されている画像を順番に、wordpressのuploadフォルダーにダウンロードします。

ダウンロードが終わると、メディアライブラリにその画像を登録し、サムネイルも作成され、記事との紐付けも行われます。

あとは記事内にある古い画像URLを、メディアライブラリに登録された画像のURLに置き換えて、記事を保存する。

という流れです。

これを、選択された全記事分、一件ずつ行われます。

どのように記事が変わるかというと、まず上の写真は処理前の本文です。

imgタグは古いドメインのままです。

そしてこちらが処理後の本文です。

ドメインが現在のブログのものに変わっています。

メディアライブラリにも登録されており、なおかつアップロード先のリンクも、元記事と紐付けされています。

使用上の注意。(2019/1/23)

当プラグインは、PHPのバージョンを最低でも5.4以上にする必要があります。

テスト環境ではPHP7なので、できれば7以上にすることをおすすめします。

また、プラグインを起動するサーバのphp.iniから「allow_url_fopen」の値をtrueにする必要があります。

上記の値がfalseの場合、画像のダウンロードに失敗してしまいます。

プラグインについてのお問い合わせ。

不具合を発見した場合やご要望があれば、GithubメールTwitterからどうぞ。