WordPressのパーマリンク設定を途中で変更する方法

WordPressのパーマリンクを変更してみました。
元々

/%category%/%postname%.html

だったのを、

/%postname%/

にしました。
パーマリンクを途中で変更することは、リンク切れが発生することになってしまうので、被リンクが多いサイトだと弊害が多いと思いますが、幸い(?)まだほとんど被リンクは無いので、思い切って変更することにしました。
それでも「いいね!」とかツイート、はてなブックマークされているURLは全部無効になってしまいますがね・・・。
もちろん、その対処法もちゃんとあるのでご紹介します。

なぜ、パーマリンクを変更したのか? -1

パーマリンクを変更した理由は 1 つあります。

1.SEO上長いURLは好まれない
2.カテゴリーの変更などすると面倒なことになる

今までのパーマリンクは、ドメインの後にカテゴリーを挟んで記事タイトル名(英語表記に自分で変更)、最後に.html を付け加えていました。

http://ドメイン/ カテゴリー / ポストタイトル(記事タイトル).html

で、問題はこのカテゴリーの部分です。カテゴリーの多くを 2 階層構造にしていたので、パーマリンク内のカテゴリーを示す部分が、親カテゴリー / 子カテゴリー という二段構えになっていました。
そのためURLが非常に長くなってしまったわけです。

http://ドメイン/ 親カテゴリー / 子カテゴリー / ポストタイトル(記事タイトル).html

長いURLは好まれない

URL はあまり長すぎると SEO 的によくないようです。
そのせいで順位が大きく変動したり、ペナルティをくらったりといったようなことは無いようですが、URL が長いと HTML のバイト数が肥大したり、リンクを貼ってもらいにくくなったり、クローラーに最後まで読んでもらえなかったりと、あまり好ましくないことが起こるようです。
そして何より、ぼくにとって衝撃だったのが、GoogleChromeのSorezki SEO Plus というアプリです。この Sorezki SEO Plus というアプリを SEO をチェックしたいページで使用すると、各種サーチエンジンやソーシャルメディアからのアクセス状況や、HTMLやCSSなどの記述に関する注意点などを教えてくれます。
その中に【URL Length】という項目があります。
そしてここをチェックすると、URL が長過ぎる!と思いっきし赤で × マークが表示されるのです。
URL Lengthの警告
いくら検索結果の順位に大きく影響しないと言われても、ここまではっきりと警告を突きつけられると、なんだか恐ろしくなって「なんとかせねば!」という衝動にかられるものです。

人は快楽より恐怖で行動する生き物

まったく話は変わりますが、人間の行動理由は大きく 2 つのタイプに分けられます。1つは得たい欲求から行動するタイプ。もうひとつは失う恐怖から行動するタイプです。
そしてこの2つを比べると、得たい欲求よりも失う恐怖の方が強烈に行動を喚起します。色々な商品やサービスが数量を限定したり、期間を限定したりして販促をしていうのは、この失う恐怖に訴求しているわけですね。
で、この SEO のメッセージも、思いっきり真っ赤に「×」と表示して、「やばいよ、キミ」みたいな感じで恐怖に訴えてくるものだから、思わず行動してしまったというわけです。
WordPress のパーマリンクに関しては、カテゴリーを挟んだ方がいいという人もいますし、日本語でも OK という人もいます。なので、まぁどれが正解というものでもないのかもしれませんが、とりあえずは検索エンジンロボットが読みやすい URL にしようと思ったわけです。

なぜ、パーマリンクを変更したのか? -2

パーマリンクを変更した理由は2つあって、ひとつは長い URL に警告が出ていたことに気付いてしまったから。そしてもうひとつは、カテゴリーを途中で変更すると面倒なことになってしまう、という点です。
パーマリンクを決める上で重要視しなければならない点は、その URL に永続性があるかないか、という点です。リンク切れを起こしたりしないかどうか、ということですね。
そして、カテゴリーを URL の中に含んでいると、途中でカテゴリーの名前を変更したときに URL が変わってしまうことになります。そうすると、過去の URL がリンク切れとなってしまうわけですね。
もちろん、リダイレクトの設定をしておけば、旧 URL にアクセスしても新URLに転送されるので、問題が発生しないように設定することはできます。でも、いちいち面倒ですし、万が一リンク切れを起こしてしまえば、ユーザビリティ的にも SEO 的にもよくありません。
なので、途中でカテゴリーを変更しても影響がでないように、パーマリンクにカテゴリーを含めることはやめることにしたのです。

後々影響が出そうな設定は避ける

カテゴリーに限らずタグなんかも、パーマリンクの中に含んでいると後々影響が出てしまう可能性があります。例えば、途中でタグを変更したり削除したりすると URL が変わってしまい、古い URL からはアクセスできなくなってしまいます。
パーマリンクを設定する際は永続性のある URL にするなどいくつか注意するべき点があるようですが、その他の観点も含めて「もうポストタイトルだけでいいや!」という結論に至りました。
でもドメインのすぐ後にポストタイトル(記事タイトル)を持ってくる設定は、WordPress 的には非推奨・・・のようですね。

【2015/6/25 追記】
現在は初期状態の設定に投稿名をパーマリンクに使用できるチェックボックスがあります。WordPress 的に非推奨というのは過去の話になったようですね。

途中でパーマリンクを変更する際のリダイレクト設定が簡単にできるプラグイン

パーマリンクを途中で変更すると、前の URL にアクセスした場合に、404 の Not Found が表示されてしまいます。
そのため、もし途中でパーマリンクを変更する場合は、古いパーマリンクにアクセスした場合に新しいパーマリンクへ自動的に転送してくれるように設定しておく必要があります。
そこでプラグインの出番です。
プラグインを使わない方法もあるようですが、素人は素直にプラグインを使って楽させてもらいましょう。

簡単にリダイレクトの設定ができるプラグイン Permalink Redirect

このプラグインは、必ず以下のURLのページへ行って、直接ダウンロードするようにしてください。
> Permalink Redirectのダウンロードはこちら
ダウンロードしたファイルは、FTPなどを使ってプラグインのフォルダの中へアップロードする必要があります。
要するに、WordPressの管理画面のプラグインページからプラグイン検索をしてインストールしてはいけない、ということです。同じ名前の違うプラグインがあるようなので、関係ないプラグインをインストールしてしまう可能性があります。

Permalink Redirectをアップロードする前に…

上記のサイトへ行くと、PHP 版と ZIP 版がありますが、どちらにしてもサーバー上にアップロードするのは、【 ylsy_permalink_redirect.php 】という PHP ファイルのみなので、注意してください(フォルダではなく、ファイルをアップロード)。
ディレクトリ名で言うと、

  • wp-content
    • ∟ plugins
      • ∟ ylsy_permalink_redirect.php

ということになります。
が、アップロードする前に、ちょっとだけファイルの中身を変更しておきましょう。具体的には以下のようにします。

if (!function_exists('wp_redirect')) {
function wp_redirect($location, $status=301) {
global $is_IIS;

405 行目に書かれている数字が 302 となっていますので、ここを 301 に変更します。302 は一時的なリダイレクト。301 は恒久的なリダイレクトです。パーマリンクの変更は一時的ではなく、ずっと変更したまま使い続けるはずなので、301 にしましょう。

Permalink Redirectを有効化する

プラグインを FTP などで直接サーバーにアップロードしたら、WordPress の管理画面からプラグインを確認することができます。プラグインを有効化しましょう。

旧パーマリンクから新パーマリンクへのリダイレクト設定

まずは、普通にパーマリンクの変更をしましょう。WordPressの【設定】から、【パーマリンク設定】へ行けば好きなように変更することができます。
次にプラグインの編集画面へ行きます。【設定】の一覧に【permalink Redirect】が表示されているはずです。
プラグインの編集画面では、以下のように新しいパーマリンクが表示されているはずです。間違いが無ければ、変更前のパーマリンク設定を【Old Permalink Structures】の部分に記載します。
Permalink Redirectの設定
後は【Update Options】を押して終わりです。簡単ですね。
もし、パーマリンクを変更しなければならなくなった場合は、活用してみてください。

参考にさせて頂いたサイト


投稿日

カテゴリー:

,

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です