WordPress 無料テーマの Cocoon を使ったブログで、特定の条件を満たしているとカテゴリー内でページ送りをすると2ページ目以降すべてが「 404 NOT FOUND 」エラーコードとなる問題が発生してしまいます。
この不具合で同じように困っている方、あるいは、これからブログを始めようとしている方が同じような問題に陥らないために、解決方法をシェアしておこうと思います。
なお、筆者は、たまたま WordPress 無料テーマの Cocoon を使用していましたので、ブログタイトルを『【Cocoon】カテゴリーのページ送りをすると「 404 NOT FOUND 」エラーが出る』としていますが、恐らく、 Cocoon に関係なく、どのテーマでも引き起こる問題じゃないかと考えています。検証はしていませんけど。。。 (;^_^A
それでは、さっそく、ページ送りをすると「 404 NOT FOUND 」エラーが出る問題の原因と解決策を見ていきましょう!
原因は、プラグインの「 Top Level Categories 」だった!
結論から先に言うと、
原因は、プラグインの「 Top Level Categories 」でした。
このプラグインを無効化すれば問題は解決します。
ただ、このプラグインを無効化すれば、今まで Google が認識していたカテゴリのURL が下記のように変わってしまいます。(下記のURLは、実際のURLではありません。例として紹介しているだけです。)
⇒ https://exsample.com/blog/
⇒ https://exsample.com/category/blog/
これ、気にする人は気にするし、気にしない人はまったく気にしない問題ですよね。
けど、なんで Top Level Categories を導入するとこんな問題が起きるのか疑問じゃありませんか?
なので、少し探ってみました。
結果、話は単純でした。
プラグインが古い。これが最大の原因です。
Top Level Categories の調べ方
まず、プラグインから、 Top Level Categories の「詳細を表示」を開いてみました。
そうしたら、「注意: このプラグインは現在使用中の WordPress バージョンではテストされていません。」と目に飛び込んできました。しかも、最終更新は14年も前の大昔でしたよ。こりゃダメなわけだぁー。
原因も分かったので、あとは、どう解決するかです!
カテゴリ内ページ送りの 404 NOT FOUND エラーの解決方法
この問題の解決方法は3種類考えられます。
1つ目は、プラグインの「 Top Level Categories 」を無効化する。ただし、カテゴリのURLが変わってしまうため、 Google からの評価も一時的に変わってしまう恐れが出てくる。
2つ目は、function.php を書き換える。ただし、技術的に万人受けしないので、この方法は極力避けたい方向です。
3つ目は、代わりプラグインを導入する。ただし、代用可能なプラグインがあればの話ですが。。。代用できるプラグインがないときは、上の2つの中から解決方法を選ばなければならない。
結果、筆者がとった解決方法は「代わりのプラグインを導入」する方法です。
導入したプラグインは↓こちらの「 FV Top Level Categories 」です。
FV Top Level Categories の導入方法(設定と使い方)
プラグインの導入方法はいつも通りの手順でおkです。
あとは、プラグインを有効化するだけです。
設定は特に必要ありません。デフォルトのままで大丈夫です。
これで、 WordPress のカテゴリページ送りの 404 NOT FOUND エラーの問題は解決できました!
↓この通り、2ページ目の表示ができました。
これで、カテゴリのページURLを変更することなく対策ができました。
まとめ
今回は、「 Top Level Categories 」というプラグインを使って、カテゴリのURLから「 category 」を消したのが原因で、404 NOT FOUND エラーとなってしまいました。
わざわざカテゴリのURLから category を消す必要はないのですが、URLを階層的に管理したい方にはまだまだ需要があるプラグインでもあります。(筆者は category を消したいタイプの人間です)
昔から WordPress でブログを運営していて、category を削除するのに Top Level Categories を使っているかも知れないという方は、大至急チェックしてみて、対策することをオススメします。
コメント