WP no category baseは便利なプラグインです。しかし、一方では「地雷プラグイン」とも呼ばれています。
うかつに利用すると、記事ページがすべて404エラーで表示されなくなることもあります。
WP no category baseプラグインを利用されている方は必読です。
WP no category baseを利用している理由
わかったブログは以前はMovabletypeで運営していました。WordPressはデフォルトで「/Category/」以下にカテゴリーページが配置されます。Movabletypeではドメイン直下に配置していました。
URL構造を合わせるために、利用したのがWP no category baseプラグインでした。
カテゴリースラッグが日本語の時に問題発生
WP no category baseプラグインは、日本語の利用時に致命的な問題を抱えています。技術的は下記の記事を読んでもらうとして、簡単に言うと「小文字のURLしか通らない」のです。
WP No Category Baseと日本語カテゴリー名で404になる問題
カテゴリーのスラッグを日本語にすると、WP no category baseプラグインは小文字でエンコードしたURLを出力します。WP no category baseプラグインは小文字でできたURLを期待しています。
ところがブラウザは日本語を大文字でエンコードします。
他のブログがリンクしてくれても、URLをブラウザでコピペするでしょう。大文字エンコードのURLなので、行き先は404エラーとなってしまいます。
致命的な現象です。SEO的に大問題です。WP no category baseプラグインを使っている方は日本語スラッグのカテゴリーページがあれば、ブラウザで表示させて、URLをコピペして、別のページで表示させてみてください。404エラーが発生することが理解できるはずです。
当ブログは最初から英語やローマ字をスラッグにしていたので、偶然にも問題はありませんでした。
日本語スラッグのカテゴリーURLを通すには、WP no category baseプラグインを改造するか、他の方法を探すしかありません。
- URL から category を取り除く方法 | deadwood
- category baseはどのプラグインで削るか | ZAKKINKS
- WP No Category Baseと日本語カテゴリー名で404になる問題
良い方法を知っている方がいれば、ぜひ@kankichiまで教えて頂けると嬉しいです。
WP no category baseを停止→削除(アンインストール)時の問題
上記のような問題に気がつくと、WP no category baseを停止して、削除(アンインストール)してしまいたくなる衝動に駆られるでしょう。
しかし、WP no category baseを停止&削除すると、記事全ページが404 not Foundエラーになってしまいます。
おそらく、頭の中が真っ白になるでしょう。WordPressのプラグインを迂闊にインストールしてはいけないと、初めて悟らされることになります。
大丈夫です。復旧の方法はありました!
WordPressの管理画面から、右サイドバーの「設定 > パーマリンク設定」へ。何も変更せず、そのまま「変更の保存」ボタンを押してください。
404エラーが出ていた記事が、すべて表示されるようになるはずです。
▼▼▼▼
日本語URLはSEOに有効だという意見もありますが、エンコードされるとURLが長くなってしまいます。カテゴリー階層が深くなると、更にURLが長くなります。
カテゴリーは英語orローマ字で、タグは日本語で行くのが良いかなと思ってます。
同じようなプラグインで、WP no tag base というプラグインがあります。タグページのURLを簡略化するプラグインです。
こちらも同じような問題が発生します。後日ポストします。
コメント