WordPress 2.3の新機能「カノニカルURL」

WordPress 2.3から導入された「カノニカルURL(標準URL)」。これってなかなか優れものなんですが、あまり話題になっていないような…。カノニカル、だなんて聞き慣れない単語だし、まあタグとかに比べると地味といえば地味かもしれませんが、なかなかすてきな新機能なんですよ。

まずは先日もリンクしましたが、ja.wordpress.orgブログからWordPress 2.3の新機能リストを再度引用。カノニカルURLの簡単な説明です。

標準URL(カノニカルURL)」と名付けたシステムにて、URLまわりをすっきりさせました。これにより、WWW がドメイン名の頭につかないよう強制的に変更したり、記事スラッグが変更された記事の古いURLをリダイレクトしてリンク切れをなくすようにしたり、メール内の途中で途切れたURLを、似たURLへリダイレクトしたりするなどの機能が追加されました。これらの機能は、ユーザーが迷ってしまうのを防ぐだけではなく、各記事に「標準URL」を割り当てることにより、検索エンジン最適化にも役立ちます。

と、これだけでは具体的には分かりにくいかもしれませんので、以下、追加説明を。

「パーマリンク設定」をいじったことがある方はお分かりかと思いますが、WordPress管理画面では、かなり自由にブログ内のURLが設定できるようになっています。つまりWordPressのパーマリンクというのは今まで、実はパーマリンクではなかったのです。設定を変更してボタンをクリックすれば、ブログ全体のURLルールがあっという間に変更されてしまうのは便利ですが、運営を始めてしばらくたったブログでそれをやってしまうと「外部サイトからのリンク切れ」という悲しい状態が起こったりしていたわけです。

また、記事スラッグをURLに含めていて、スラッグを手動で変更したときにも同じ問題がありました。ページを書き出したあとでスペルミスに気づいても、RSSフィードからのリンクが壊れてしまうので修正するにできない…という思いをしたことがある方もいるのでは。

さらにもうちょっと詳しく見てみましょう。
例えば http://ja.naoko.cc/ というWordPressサイトのトップページへたどりつくためのURLには、なんとこんなにたくさんのバラエティがあります。

  • http://ja.naoko.cc/
  • http://www.ja.naoko.cc/index.php/
  • http://ja.naoko.cc/index.php/
  • http://www.ja.naoko.cc/?paged=1
  • http://ja.naoko.cc/?paged=1
  • http://www.ja.naoko.cc/page/1/
  • http://ja.naoko.cc/page/1/

冗談みたいですが本当です。しかし当サイトでは現在バージョン2.3+にしているため、上記のURLはすべて http://ja.naoko.cc/ へきちんとリダイレクトされ、アドレスバーに「カノニカルじゃないURL」が表示されてしまうことはなくなりました。

それで、それのどこがそんなに「すてき」なの?と疑問に思った方は、続きもお読みください。

複数のURLで同じコンテンツを表示するのは、検索エンジンに好まれないサイトの動作です。URLが違うおかげでまるで2つの別のページがあるように思われてページランクが分散してしまったり、最悪の場合検索インデックスから削除されてしまったりします(詳しくは参考ページにて:Google ウェブマスター向けヘルプ センター: 重複するコンテンツ)。

今までのバージョンのWordPressではわざとではなくても、パーマリンクの変更で過去にクロールされたURLが変わってしまったり、間違ったURLで外部サイトからリンクされたりした場合、これが起こってしまっていました。そこで今回、301リダイレクトを使うことでこの問題を解決し、常に一つのURL(これが、カノニカルURL)へ誘導するようになっています。

このように、読者にも検索エンジンクローラーにもよけいな混乱をさせないための、地味だけど便利な機能なのです。

最後に…

  • IISサーバーを使っている場合、この機能は無効化されます。
  • www.example.comをexample.comにリダイレクトするようなルールを.htaccessに書いている場合は、うまく動作しません。そのルールを削除してください。
  • 何らかの理由でこの機能を使いたくない場合は、Mark Jaquith氏の「Disable Canonical URL Redirection 」プラグインを使いましょう。

ここに書いただけではなくって、Mark Jaquith氏のところにもうちょっと詳しい説明があるので(この記事も主に彼の記事をもとにしました)、興味のある方は読んでみて下さい。
WordPress 2.3: Canonical URLs (英語)

WordPress 2.3の新機能「カノニカルURL」」への10件のフィードバック

  1. 分かりやすい解説をありがとうございます。
    また、リンクさせていただくと思います。

    ところで、GoogleReaderでこちらのRSSを購読しているのですが、先日から日本語部分が文字化けするようになりました。
    内容が分からないので、かえってエントリー自身を読むようになったのですが、対処法がお分かりでしたら、教えて下さい。

  2. Nao の発言:

    ジローさん
    Feedの件、ご指摘ありがとうございました。
    うーむ、自分のGoogle Readerでは問題なく表示されていたんですよね。しかし、フィードvalidatorでチェックしたら、数日前の記事に不正な文字が入ってしまっていました。そのせいで全体がうまく取得されていなかったみたいです。どうでしょう、直っていますでしょうか?
    いっぱい更新フィードが届いていたら申し訳ありません 🙁
    自分では気づいていなかったので、ほんと、感謝です!

  3. はい、今日は正常に表示していました。

    「WordPress.comの機能説明をしてみます。」も参考になりましたし、ツールとしてのWordPressの良さに激しく同意です。

  4. すばらしい機能ですね。
    知らなかったです。
    2.3には、まだ様子見で、アップしていないのですが、再検討してみます。

  5. aka の発言:

    スラッグを変更するとどうしてもリンク切れが出てくるのでRedirectionを使っていたんですが (それの対策でパーマリンクを /yyyy/mm/dd/post_id/にしてるんですけど),これを使わなくて良いようになるのかもなのか…いいなあ。

  6. Nao の発言:

    >ジローさん
    よかった!ありがとうございました〜

    >Ninaさん
    2.3.1も出ましたので、ぜひぜひ 🙂

    >akaさん
    わたしもこっち(日本語ブログ)ではまだpost idのURLなんですよねー。昔の記事にいちいち英数字のスラッグを入れるかどうか、考え中です…

コメントを残す