複数の記事アーカイブテンプレートでリダイレクト - MovableType.net

  • 投稿者:
  • カテゴリ:
このエントリーをはてなブックマークに追加

この記事は「Movable Type Advent Calendar 2022」16日目の記事です。

長くウェブサイトを運営しているとサーバー移転などでウェブサイトを別の場所に移動させる必要が出てくることがあると思います。

HTMLファイルなどをダウンロードして、そのまま新サーバーにアップロードするだけということもありますが、CMSなどを使って運営していたウェブサイトを移行する場合に、ついでにページのファイル名なども整理して変えたいということもあると思います。

旧URL:https://exsample.com/entry_yyyymmdd_hhmmss.html
新URL:https://exsample.com/entry_basename.html

こういった場合はURLが変わるのでリダイレクトの設定をすると思います。

ソフトウェア版の MovableType なら .htaccess をインデックステンプレートで作ってリダイレクトさせるなどができるのでテンプレートを書くだけで済むということもあると思います。

また、MovableType.net には .htaccess を作成しなくても、簡単にリダイレクトを設定できるリダイレクト機能があります。
リダイレクト(設定/削除)
https://movabletype.net/support/setting/redirect.html

しかし、簡単にリダイレクトを設定できる MovableType.net のリダイレクト機能ですが、ファイル名が変わっている場合は、すべてのページを登録する必要があります。

ウェブサイト移転後に「とりあえずリンク切れは避けたい。」ということであれば、MovableType.net では同じタイプのアーカイブテンプレートを複数作成できるので、この機能を使うことでリンク切れを回避でき、すべてのページを登録しなくても旧URLページから新URLページへ遷移させることができます。

以前、ソフトウェア版のMovableTypeで運営していたブログを、途中で MovableType.net に移転しました。その時にURLも変更したことがあります。

当時の総ページ数はわかりませんが、一件ずつ登録することは考えられなかったので、記事のアーカイブテンプレートを2つ使って旧URLと新URLのページを作成するようにし、旧URLから新URLに遷移するようにしました。

各記事のページが2つできることになりますが、旧URLのページを書き出すテンプレートのアーカイブパスは旧URLに合わせて、新URLのページを書き出すテンプレートのアーカイブパスは新たに設定したものにします。

旧URLのページ:https://honda-beat.jp/beat_life/archives/2005/05/15_083233.html
新URLのページ:https://honda-beat.jp/beat_life/mtb2005.html

あとは旧URLのページを書き出すテンプレートを編集してページ移転のお知らせが書き出されるようにしたり、新URLへ遷移させる JavaScript を読み込ませるようにしたり、Canonicalの設定をするだけです。

きちんとページの評価などを引き継がせてリダイレクトをするよりはSEO的には不利な部分はあると思いますが、外部からのリンクが多い場合などはリンク切れを起こさないというのはメリットになるのではないでしょうか。

ところで、同一記事のページが2つ書き出されますが、「MTEntryPermalinkタグ」などを使った場合どうなるの?ということがあると思います。

同じ種類のアーカイブテンプレートが複数ある場合、どれか一つが優先アーカイブとなります。新URLを書き出すアーカイブページを優先アーカイブとすることで、MTEntryPermalinkタグなどで書き出されるURLは新URLとなります。

20221216222247_blogpix.png

複数のアーカイブを書き出すことで、PC版とスマホ版で出し分けたり、複数の言語で出し分けたりできるなど、工夫次第でいろいろな使い方ができそうです。

このエントリーをはてなブックマークに追加