WordPressでうっかり設定してしまいがちな日付つきパーマリンクと日本語URLスラッグ。気づいて修正しようとした時の手間はどのくらいか、手間に対して十分なメリットはあるのかといったところを備忘録がてら記事にしていきます。
標準の設定で発生する問題
古来よりHTMLではURLに2バイト文字(日本語)はご法度という共通認識があります。この前提はWordPress全盛の現在に於いても残っているのですが、WordPress側ではシステムが英語ベースのためこれが考慮されていません。
また、URL構造に日付などが含まれる設定も「リンクが長くなるためよろしくない」と言われています。
日本語タイトルがそのままURLスラッグになる
これについては、現在のブラウザでは日本語URLが解決できない・表示できないといった問題は起こりません。検索エンジンにも日本語URLが表示されますし、Analyticsのページ名も日本語URLが表示されますのでむしろ見やすいです。
ただしこれはHTML表現の中だけの話で、ひとたびメールやメッセンジャーなどHTMLを解釈しないアプリに貼り付けるとおなじみの解読できない文字化け(文字コード?)が画面を覆い尽くします。(正確には日本語に化けてる(エンコードされてる)だけで本来の姿はこの文字コードとも言えますが…)
対応できないわけではないですが、完全対応しないクライアントが存在する以上は使うべきでない、というのがURLスラッグにおける日本語の扱いですね。
URLの途中に日付が入る
これについても、検索エンジンやQRコードなどが発達した現在に於いてはURLが多少長くなったところで不便を強いられるということはまず無いと言えます。大規模サイトなどで管理上必要な場合は活用する場合もあるかも知れません。
ただし殆どの中小サイトでは細かなURL構造は必要なく、シンプルで短いに越したことはないという扱いです。あとはリライトを続けているのに日付URLから古い記事と敬遠される懸念くらいでしょうか。
パーマリンク設定の変更と日本語URLスラッグの書き換え
では一旦きれいに書き直そうとした場合、どのくらいの作業が必要でしょうか。ソースを直接いじることはできない前提で、WordPressの機能とプラグインのみで解決していきます。
301リダイレクト
URLの変更には301リダイレクトによる転送設定が必須です。新URLが検索エンジンに登録されるまで流入を途切れさせることなく、旧URLのページ評価を引き継げます。
動作としては、旧URLをリクエストされたら新URLに転送した上で、検索エンジン側に「そのURLは更新されたよ」と申し送りをするものです。
これにはプラグイン「Redirection」を使用します。
URLスラッグ設定
テーマ『Cocoon』にはURLの変更を監視して自動的に301リダイレクトを設定してくれる機能がありますが、パーマリンク変更は監視対象になっていません。これはプラグイン「Redirection」の監視下でも同じで一切追従されません。
よって最初にソースURLスラッグを個別に書き換えることで自動的に転送ルールを生成します(日本語URLを英語またはローマ字のURLへ書き換えます)。
パーマリンク設定
前述の通り、パーマリンクの日付を消しても自動ではリダイレクトされません。「Redirection」に生成された転送ルールからターゲットURLの日付部分を一つ一つ消す必要があります。10や20ならまだいいですが、多いと大変です。また、その間は検索エンジンからリンク切れとなるので注意が必要です。
AMPページ
AMPページを有効にしている場合はもうひと手間必要になります。AMPページへ誘導する起点はサイトではなく、検索エンジン側がユーザーのデバイスを見てAMPページURLを発行します。つまり…
モバイルユーザーは旧URL/?amp=1に飛んでくるので
それを新URL/?amp=1に転送するルールを作らないと404が表示されてしまいます。
そこまでする必要があるか?デメリットなど
ここまで苦労してURLを書き換えても獲得していた被リンクは書き換わらないので、被リンクがある場合は転送ルールは半永久的に残す必要があります。ですが、転送するだけとは言えアドレスの解決に1クッション挟まるのは無駄なリソースのように思えます。
301リダイレクトについてGoogle側の見解を解説してくれてるエントリーがありました。
301は永続的に置いててもいいということで、サイトの速度などに影響は少ないということでしょう。
まとめ
HTMLの作法に沿ったサイト構築は基本としてありますが、周辺環境の日本語対応なども進んできているので慌てて修正しなくて大きな問題は起こりません。SEO的にも「良くは無い」と言われていますが逆もしかりです。サイトが大きく育っている場合は無理して対応することでもないでしょう。
コメント