WordPressでサイトを作成していると、何かの拍子に「404エラー」となってしまった経験を持っている人もいるかと思います。
かなり焦ると思うのですが、1つ試してもらいたいことがあります。
それが「パーマリンクの無変更保存」です。
かなり昔に弊社でも起こった問題であり、久しぶりに発生したため、同じ問題を抱えている人に向けて情報を共有しておきます。
「WP No Category Base」を無効化したことが原因
弊社が運営するサイトでは「WP No Category Base」というプラグインを使用しているサイトがあります。
これはサイトURLの「category」という文字列を削除するものです。
たとえばこのサイトであれば、ドメインは「https://dekita.net/」です。
「ホームページ制作」のカテゴリーであれば「https://dekita.net/hp/」となっています。
WPのデフォルト設定では「https://dekita.net/category/hp/」となってしまいます。この「category」という文字列は必要ないと考えています。これはすべてのカテゴリでいえることです。
そこで「WP No Category Base」を使用することで、「category」という文字列を消すことができるのです。
Yoast SEOが代わりとなる
当サイトでは「Yoast SEO」というSEO系の有名なプラグインを使用しています。
このプラグインの設定で、「category」という文字列を非表示にすることができます。
WPでサイトを運営するなら、なるべくプラグインを使いたくないという思いが弊社ではあります。
そこで同じ機能を持つプラグインを2つも入れる必要がないため、その他の機能も充実している「Yoast SEO」を使って「category」という文字列を消すことにしました。
404エラー発生
WPの管理画面左側のサイドメニューから「Yoast SEO」⇒「設定」⇒「カテゴリーとタグ」⇒「カテゴリー」まで移動します。
ページ下部に行き「追加設定」の「スラッグにカテゴリーのプレフィックスを表示する」を「赤から灰色」にします。下の画像のようにします。
このボタン、少しややこしいのですが、赤ではなく灰色の状態でOKです。
次に「WP No Category Base」のプラグインを無効化しました。
そして「category」という文字列が消えているか確認をしに行ったところ404エラーが発生していました。
パーマリンクを無変更保存
このような問題が発生した場合、パーマリンクの無変更保存を試してみるのも1つの方法かもしれません。
WPの管理画面のサイドメニューに「設定」があります。そこから「パーマリンク」に移動してください。
この際、どこも変更しないようにしてください。パーマリンクを変更するとSEO的に非常に不利な状態になってしまう可能性が十分に考えられるためです。
なにも変更せずにページ下部の「変更を保存」を押してください。
すると404エラーは解消されていました。
categoryが消えるかテスト
404エラーが解消されていたら、はじめの目的である「category」という文字列が消えているかを確認しました。
「https://dekita.net/category/hp/」にアクセスすると自動的に「https://dekita.net/hp/」に転移します。これでOKです。
何か変更する際にはバックアップ
WPのサイトにおいて、プラグイン系やfunction.phpなどを触る際には必ずバックアップをしたほうがよいでしょう。
毎回バックアップするのは大変かもしれないため、1ヵ月に1度はしておいた方がよいです。
万が一うまく直らなかったとしても、最後のバックアップのサイトの状態にまでは復元できるためです。
今回のように突然の404エラーが発生した場合、弊社であればまずこの作業を行うと思います。もちろんバックアップは取った状態でです。
ただしこの方法で直らない場合もあるかと思います。
※今回の方法はあくまでも弊社が行う方法であり、推奨しているわけではありません。この方法を行う場合には自己責任でお願いします。