ホームページにて日本語URLを301ダイレクトしたのに404エラー。原因はエンコード《%e3%95》の大文字小文字でした。

ホームページにて日本語URLを301ダイレクトしたのに404エラー。原因はエンコード《%e3%95》の大文字小文字でした。

3日前の記事にて、WPプラグイン(All in One SEO Pack)を使用停止した事で、設定していたnoindex指定も無効に?を書きましたが、

WPプラグイン(All in One SEO Pack)を使用停止した事で、設定していたnoindex指定も無効に?
WPプラグイン(All in One SEO Pack)を使用停止した事で、設定していたnoindex指定も無効に? オウンドメディアで利用しているテーマを変更してもうすぐ1ヶ月が経ちますが、前回のワードプレステーマにてnoindex( ...

上記問題にて、過去にパーマリンクで日本語URLとなっていた箇所も全て英数字に変換して301リダイレクト設定を行いました。

日本語から英数字URLに変換した数が約600記事程。結構な数で大変でした。

で、本日過去のリンクを検索チェックした所、検索結果に出るURLリンクはまだ日本語表示で表示されておりましたので、一応クリックしてみたところ「301ダイレクトが正しく機能するページ」と「404エラーのページ(自社blog表示)」になるパターンがある事を発見しました。

同じ301リダイレクトをしたにも関わらず、どうして301が反映されないのか全く理由が分からず検索しておりました。

利用してるワードプレス301リダイレクトプラグインは「Redirection」と言うプラグインです。

このプラグインは404エラーのログも取ってくれます。そして404エラーを見ると3日前から、先ほど自分がテストアクセスして404となったログがびっしりと表示されておりました。

いわゆるリンク切れ状態の放置、これはかなりSEO的に良くない事です。しかも検索結果1位に表示されているのにも関わらずリンク切れとは最低最悪です。

取り急ぎ、検索結果上位の記事URL(日本語パーマリンク)を再度1つづ手動で変換する作業を行いました。

その時はプラグインRedirectionの「転送ルール」から新規追加にて行ったのですが日本語のままで「チェック」するとエラーとなりました。なので、

URLエンコード・デコード
URLエンコード・デコード|日本語URLをサクッと変換 | すぐに使える便利なWEBツール | Tech-Unlimited
日本語URLを取り扱うときに便利な変換ツールです。どのブラウザからでもアクセス可能な形式に変換します。

このツールでできること

  • URLをエンコード( あ → %E3%81%82 )できます。
  • デコード( %E3%81%82 → あ )も可能です。

出典:TECH-UNLIMiTED

を利用して、「あ→%E3%81」等へエンコードして設定する事になります。

そして保存し、再度検索結果からリンクを辿って見ると「見事に301リダイレクト成功」となりました。

で、何か違うのか?

良く良く同じエンコード(%E3%81)を404となってしまうパターンのURLと見比べてみたところ、

・エラー版:%e3%81〜
・成功版:%E%81〜

e / Eの小文字・大文字の違いがありました。

まさか?と思い小文字だったURLを大文字に変更してチェックしたところ、301リダイレクトされました!

なので原因は「英語の小文字」だった事が証明されたのですが、Redirectionプラグインでは「一括で」小文字を大文字にする事は出来ないようでした。

元々、%e3%81の小文字に変換されていた原因は、現在使用してるワードプレスのテーマに付属の拡張機能だったのですが、特に小文字・大文字の切り替えは無いようでした。

そして調べてみるとこちらのサイトを見つけました。

WPマスターが解説! 超簡単なWordPressのリダイレクト方法と注意点
【WordPress】リダイレクト方法と注意点ー.htaccessに書く方法とプラグインを紹介
WordPressのリダイレクト方法を解説します。.htaccessに書く方法ならプラグインなしでできます。また、プラグイン「Redirection」の使い方も紹介。 301は恒久的な転送を意味するコードです。当記事を読めば、PHPの知識がなくてもリダイレクト処理がすぐできます。

この中の文中に

URL options 入力したソースURLの判定条件を設定

 <選択肢>
・正規表現
・Ignore Slash(スラッシュを無視)
Ignore Case(大文字小文字を無視)
出典:株式会社ブレアパッチ
と書いてあり、Redirection>転送ルール>「ソースURL」の右にある選択タブ(URL oputions / Regex」からIgnore Case 
を選択し保存をしました。*ソースURLは小文字のままでOK。
結果、[e]の小文字のままでもキチンと301転送が反映され、問題解決となりました。
ただし「Redirection」にて「このIgnore Case」を一括で変換する機能は私には見つける事が出来ませんでした・・・。
と言う事で、ひたすら全800記事分を同じ修正(設定・保存)の繰り返しを行っております。(今現在19:00もまだ途中ですが、この日報ブログを先に・・・)
まさかの301リダイレクトが反映せずに404エラーとなったこの問題。
結局はパーマリンクを日本語にしていた事が発端です。
ブログを始めた当初はそこまで意識していなかったのですが、これからblogを始める方は必ずパーマリンクは英数字にする事をオススメ致します。
今回、参考にさせて頂きました「ネタ記事blog」の管理人様、本当にありがとうございました。
助かりました。お礼申しあげます。

以上、本日の日報を終わります。


シンプルだけど9割が印象に残る!

 《独立 開業 起業》
個人事業向け ホームページ制作ならお任せ下さい。 ロゴ・名刺もセットで対応致します。
良心価格で制作後の《サポート》もしっかり対応!

-東京都荒川区南千住-
カトリデザイン事務所 https://www.katori.co.jp

タイトルとURLをコピーしました