今回WordPressをインストールしているディレクトリ名を変更し、画像の保存先も一緒に変更しました。
というのも、最近海外からの不正アクセスが増えてきたんですよね。
WordPressを使っている人は世界中にめちゃめちゃたくさんいます。
なので狙われやすいというのは知っていたんですが、うちは大してアクセス数ないし大丈夫と思っていたらその考えが一番良くないらしい(笑)。
普段アクセス解析をあまり見てないんですけど、久々に確認してみたら異常値というアラートが。
海外からアクセスの多い日があって、WordPressのセキュリティプラグインの方でブロックされていたけど数分で数百アクセス。
全部不正アクセスだったようです。
ルートディレクトリに直接ファイルを置いていないのでアクセスされることはないですが、
WordPressのデータがどこにインストールされているかは使っている人ならだいたいわかると思うので、念のためインストールしているディレクトリ名をランダムなものに変えることにしました。
ディレクトリ名の変更はBot対策になる程度でセキュリティ対策にはなりません。
表面上WordPressだとわかりにくくなるだけなので、きちんとセキュリティ対策するならセキュリティプラグインを入れるのが一番だと思います。
ディレクトリ名を変更する方法
以下のサイトを参考に変更しました。
※この作業をする前にサイトをメンテナンスモードに変更しました。
(プラグイン LightStart や SeedProd などを使用)
ディレクトリ名を変えるだけなので作業は簡単でした。
URLにディレクトリ名を表示しない方法はサイトオープン時に対応済みなんですが、やり方はこちらが参考になると思います。
画像の保存先を変更する
画像のURLからもWordPressのインストールされているディレクトリがわかるので、画像の保存先と画像パスも変更します。
こちらのサイトを参考にして画像フォルダをWordPressをインストールしているディレクトリの外へ移動しました。
WordPress設定のオプションを変えるページ(/wp-admin/options.php)でupload_pathとupload_url_pathを設定していると、設定 > メディア のページでファイルアップロードの保存場所が表示されるようになります。
upload_path(ファイルの保存場所)は相対パスを指定できるので、WordPressディレクトリの外に画像を保存できるようになりました。
プラグインで画像パスを書き換える
画像パスはプラグイン Search Regex を使用して一括置換すると記事内の画像URLを全て書き換えることができます。
他は使用しているテーマの画像パスを変更したり。
このサイトはCocoonを利用しているので、吹き出しで使われているアバターとか、OGP、404画像などを設定し直しました。
リンク切れチェック
ウェブツールなどでリンク切れがないかをチェックします。
※画像のリンク切れはチェックできないようです。
その後、Mac専用アプリ「Integrity」をインストールしてリンクチェックし直しました。
こちらは画像のリンク切れもチェックできて爆速で終わりました。
使えなくなるプラグイン
画像ディレクトリをWordPressディレクトリの外に変更すると使えなくなるプラグインがあります。
- Converter for Media
- EWWW Image Optimizer
いずれも画像最適化のプラグインです。
WordPressディレクトリの外にあるものはプラグインの対象外みたいなんですよね。
自動でJPEG・PNG画像をWebPに変換してくれる優秀なプラグインだったのに残念ながら使えなくなりました。
ひとまず画像最適化はWP外のディレクトリも対象にできる「Smash」プラグインで代用しました。
ひと手間かけて変更したものの、WordPress使ってます、Cocoon使ってますって公言してる時点でどうなの……と思いますけど。
ソースコードを読めばわかるし完全に隠すというのも無理なので完全な自己満足ですね。
不具合確認(2024年1月28日追記)
バックアッププラグインAll-in-One WP Migrationが使えなくなっていたので調べてみると、WordPressをインストールしているディレクトリ名を変更したことが影響していました。
バックアップデータは保存できているのにダウンロードができないという現象で、FTPで確認してみるとデータの保存先が古いディレクトリのままでした。
こちらはプラグインを入れ直すことで正しい保存先になり、バックアップデータをダウンロードできるようになりました。
画像最適化プラグインPlus WebPを導入
WPディレクトリ外にある画像をWebPに変換するプラグインがあったので導入してみました。
Plus WebPについての記事はこちら。