HTTP 301ヘッダで、MT2.xのアーカイブからMT3.xのアーカイブにリダイレクトする  

新しいURLに移ったページをきちんとGoogle先生にインデックスしていただくためには、HTTP 301ヘッダで「永久的な移転」を知らせ、リダイレクトさせる必要がある(参照→ウェブマスターのための Google 情報)。

サーバー移転に伴ってMT2.661からMT3.2にバージョンアップしたが、2.x系と3.x系では、パーマリンクのURLの作られ方が違う。旧ブログ「小林Scrap Book」はもう更新しないので、リビルドせずに2.661で生成したアーカイブを全部移し、静的HTMLとしてだけ置いている。だからURLは変わっていない。

一方「のだめカンタービレからのクラシック入門」の方は、全部のアーカイブのURLが変わっている。なので、HTTP 301ヘッダを出してアーカイブの1ファイルごとに移転を知らせる必要がある。知ってはいたのだけど面倒で放置していたら、見事にGoogleからハブられていた(´・ω・`) このままではイカンと、やり方を調べてみた。以下メモ。

解説があった。
ミケコの.htaccessリファレンス
リニューアルで古くなった URI を新しい URI にリダイレクト(hxxk.jp)

ディレクトリごと移転する場合はこのようにすれば良いようだけど、「絶対パス」がどこのパスを指すのかイマイチ分からないし、ファイル1本ごとの場合も説明されていない。しばらく試行錯誤した結果、やり方が分かった。

例えば、このURLから、
http://classic.heartlogic.jp/archives/000453.html

こちらのURLにリダイレクトしたい場合は、
http://classic.heartlogic.jp/archives/2005/01/post_11.html

http://classic.heartlogic.jp/に.htaccessを置いて、

Redirect permanent /archives/000453.html http://classic.heartlogic.jp/archives/2005/01/post_11.html

のように書く。百本以上のアーカイブ全部についてこのように新旧URLの対応を列記する必要があるが、2.x系で生成していたarchives.htmlと3.x系で生成したarchives.htmlを取り出して、テキスト整形スクリプトか何かを使えばすぐにできる。私はExcelを使った。

これをアップロードして、恒久的リダイレクトの設定は完了。やってみれば調べる段階も含めて30分程度の作業だった。面倒がらずに早くやっておけばよかった。

  • 次の記事 »
  • Clip to Evernote
  • このエントリーをはてなブックマークに追加
  • « 前の記事