【WordPress】プラグインテーマとPHPのバージョンアップ後に生じた不具合の修正とプラスアルファ

WordPress

重い腰を上げてようやくテーマやPHPのバージョンアップを終えたところだが、今回諸々気になってところの修正が出来ていなかったので対応した。最近証券会社での詐欺とか有名企業へのサイバー攻撃も増えてきているので、念のため個人ブログであっても最低限の対策をしておくのが良いだろう。

とりあえず、以下に前に書いた記事も示しておく。

reCAPTCHAが認識されなくなってたので再設定した

プラグイン「Invisible reCaptcha for WordPress」によりスパム対策のreCaptchaを設定してたのだが、バージョンアップ後に表示されなくなっていた。
調べてみたところ、PHP8.0以降のバージョンで不具合が発生するようだった。プラグイン自体の更新も止まっているようなので、代替プラグインを探すことにした。
代替プラグインとして「Advanced Google reCAPTCHA」を追加することにした。wpformsも試してみたが、ログインだけで良かったので選択肢から外れた。
設定項目としては、キャプチャのタイプを選び、Google reCAPTCHAで設定したサイトキーとシークレットキーを入力して保存する。一つキータイプ無効のエラーが出たが、Google reCAPTCHAを再設定することで解消された(reCAPTCHAのv2とv3は単なるバージョンの違いではないので注意)。
Google reCAPTCHAは月最大10,000 件までなら無料で運用できる。個人ブログなどアクセス数がそこまでないサイトであれば十分だと思う。reCAPTCHA自体は新しいサイトを登録した後で、サイトキーとシークレットキーが発行されるので、それをWordPressのreCAPTCHAの設定で保存していく流れ。
ちなみに、実際に保護されたトラフィック数はGoogle CloudのreCAPTCHAで確認できる。

Google Authenticatorの導入

新たに二要素認証も加えてみることにした。プラグインで「Google Authenticator」をインストールに加え、スマホでも別途アプリをインストールする。
WordPressではユーザープロフィールからGoogle Authenticatorの設定で有効にしていく。
注意点として、ここで取得できるQRコードをスマホから読み取るのだが、機種変等で変わった場合には再度読み込みが必要になりログイン前に控えておかないと詰むので、忘れずに保存管理しておく。

SiteGuard WPの導入

ログイン画面のセキュリティを少しでも高めようということで「SiteGuard WP Plugin」を追加した。
これによりログインページに容易にアクセスされる機会を減らすことができる。
注意点として、「管理画面からログイン画面にリダイレクトさせない」オプションがあるがデフォルトでチェックされていないので、忘れずにチェックすること。一応Akismetとの併用も可能そう。
SiteGuardの導入で、変更前のログインページ(WPのデフォルトのやつ)でアクセスしたところ、Luxeritasテーマだと404時に余計な警告が表示されていた(他のテーマも同じなのか分からない)。breadcrumb_viewがUndefinedになっており、そのWarningが表示されてた。普通ならアクセスしないけど出しておきたくはないので、直接ファイルを変更することにした。
これを機にやってなかったサーバーの設定も諸々追加。FTP制限設定とSSH設定の追加。Xserverの場合にはサーバーパネルで簡単に設定できる。マニュアルも用意されており優しい。これは使用するサーバーによって異なると思うので環境に合わせて設定していく。FTPソフトでSFTPの設定もようやく行う(普段は記事の更新ぐらいなのであんまり触らないが)。
サーバーから原因となっていたファイルをダウンロード(忘れずにバックアップしてから)してきてVSCodeで編集後、サーバーに上げ直した。これで気になっていた警告は出なくなった。

Google Search Console から見るインデックス登録について

あと気になっていたのが、インデックス登録について。なぜだかバージョンアップ以降、インデックス登録が急激に増えてしまっていた。
原因は「All in One SEO」によるもの。テーマとPHPのバージョンに加えて、依存するプラグインのアップデートも行っていたのだが、どうやらこのときに設定が変わってしまったらしい。設定でいうと、検索の外観にある画像SEOで、ここで検索結果に含まれるように設定されていた。
やったこととしては、ただちに画像SEOのindexの設定をオフにし、念のためテーマ子ファイルのfunction.phpでメディアページをindexしないようにする設定を追記した(このファイルの設定情報は検索すれば出てくる)。画像は意図的に出したいとか特別な場合を除き、アクセサリーとしての役割であればそれ自体をインデックスするのは避けたい(単体ではコンテンツとしての価値が低いため)。価値が低い記事、ページを量産しているとなればサイト全体としての評価も下がってしまう。
また、タイミングも丁度良かったので、これを機にゲーム攻略系の記事に限りNoimageindexに変更した。著作権の問題もあるかもしれないし、そこをindexするつもりは元々なかったので(加えて、アナリティクスでイベント数が少ないことも把握していた。ゲーム攻略系の記事はイベントごとに情報の旬があるのでそれを過ぎると見られなくなる。まあ自分も見ないと思う)。
念のためサーチコンソールで非表示のリクエストも飛ばしていたが、URL検査で後程確認したところ、noidexに登録されているからインデックス登録できないと返ってきたので、とりあえず変更はされていた?ようだった(インデックス作成ページの表示には多少タイムラグがあるのかもしれない。経過観察はしないといけないが、一旦は解消されたっぽい)。

おわりに

というわけで、WordPressのバージョンアップ後に諸々気になっていたことを一部修正した。改善の余地しかないが、一つずつできることから対応していこうと思う。少しでも同じサイト運営者の参考になれば。

この記事の執筆者
ミラ

ミラ (異世界攻略班)
フロントエンド、バックエンドエンジニア。
PHP、Laravel、CodeIgniter、HTML/CSS、JavaScript、jQuery、Vue.js、Smarty、MySQL、Oracle、Go、Git、AWS。
『この世は異世界である』自由とは何かを求め模索する。
最近の趣味は散歩。
好きなものはお米。

wordpress

Posted by 異世界攻略班