「SEOにおいてキーワードを埋め込むべき重要な場所はどこですか?」という質問に対して、title タグや h1 タグ、meta description 以外にも"URL"と忘れずに答えられる人は少ないかも知れません。しかし、URL に含まれるキーワードは SEO を考える上でも、また、検索結果の CTR を高めるためにも重要な要素のようです。
これぞ、SEOである。URL中に入った検索ワードというのは、非常に効果が高いのである。Wikipediaやはてなキーワードが検索で上位になる理由も、これが大きいと思われる。Pagerankのおかげで被リンク数がもてはやされるようになったが、Wikipediaの全てのページがあちこちからリンクされているわけではないし、Amazonの「テール」に至っては被リンク数はたかが知れているだろう。にもかかわらずそうしたページまで検索上位になるのは、これが最も決定的な理由ではないかと私は睨んでいる。
これをヒントに MovableType で作られたサイトでも、Amazon と同じように振舞う URL を実現できる MovableType プラグインを書いてみました。検索エンジン向けには URL に記事タイトルを含む URL をインデックスしてもらえるようになります。
クローキングと判断されることを懸念して自サイトで1 年くらいこっそり試験的に使ってみていますが、今のところ Google などの検索エンジンからサヨナラを言われてはいません。もし手法的にマズいのであればおそらく先に Amazon の方がどうにかなると思うので、ほとんど…いや、おそらくは…多分、大丈夫だと思います(自信なし)
例えば Google で "記事 日記 コピー"というキーワードで検索すると mixiSync がトップにヒットするわけですが、snippet 中のキーワードと同様に URL に含まれるキーワードについてもハイライト表示されているのがわかります。基本的な動作原理については、404 Not Found で詳しく解説されています。要は検索エンジンのクローラに対して、同じコンテンツに対してインデックスして貰うべき URL にリダイレクトすることで、これを明示するようにしているだけです。一方で検索エンジンのクローラ以外の場合には、日本語文字列を含まない URL へリダイレクトを行います。これは英語圏と違って URL に日本語が含まれると、一概に日本語文字列がエンコードされてしまって、人間が使う場合には長くなりすぎて不便極まりないので、日本語を含まない短い URL でも同様に同じコンテンツにアクセスできるようにしています。また、SBM などでブックマークされる URL を一つに集約させることもできるので、一つの記事に対する被ブックマーク数を分散させにくいという効果もあります。
ダウンロードしたアーカイブを解凍したファイルを MovableType のプラグインディレクトリにコピーします。その後、MovableType の管理画面から[システムメニュー]-[プラグイン]と進み、プラグイン一覧に表示されていることを確認します。
出力される個別エントリアーカイブページは PHP として動作することを確認してください。また、生成されたページにアクセスするための URL はディレクトリ形式(http://www.example.com/path1/path2/)でアクセスできる必要があります。URL の末尾にファイル名などを含む場合などにはご利用になれません。
個別エントリアーカイブページのアーカイブテンプレートの先頭に<MTRedirectSEOedUrl>
変数タグを記述して、全てのエントリを再構築します。この時、元の URL で従来どおりに記事が表示されることを確認してください。
.htaccess または Web サーバの設定ファイルに mod_rewrite の設定を記述します。3 行目の RewriteRule はサイト毎に個別エントリアーカイブの生成される URL に応じて適切に書き換えてください。本来の URL の末尾に何か適当な文字列を追加しても、本来のページが正しく表示できるようにします。例えば http://www.example.com/path1/path2/ が元の URL だった場合、http://www.example.com/path1/path2/hogefugapiyo でアクセスした場合にも同じページが表示できるようにします。
### Open MagicVox.net での設定の一例 ### 各サイトのURLに応じてルールは異なります RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^/archive/([0-9]+)/([0-9]+)/.+$ /archive/$1/$2/ [PT,L]
例えば、URL が http://www.example.com/path1/path2/ で表されるページがある場合;
MTRedirectSEOedUrl
変数タグMTEntrySEOedPermalink
変数タグMTEntryPermalink
)に UTF-8 エンコードされたタイトル文字列を付け足した URL を返します。タイトル中で使用されている半角スペースは _(半角アンダーバー)に置き換えられます。
master
) ... バグ修正や機能追加など開発途中のバージョンです。開発中の新機能などをいち早く利用できますが、新しいバグが生まれていたり、テストが不十分な場合があります。