サイト移転やドメイン移行などで必ず必要になってくるリダイレクト処理があります。以前までのサイトを引き継がないのであれば別に必要のないことですが、何年もかけて作成してきたサイトやブログは知らないうちにどなたかが、
- リンクしてくれていたり、
- 意外とドメインパワーが高かったり、
- あちらこちらにブックマークされていたり、
- 意外とGoogleやBingやYahooなどの検索ポータルサイトにインデックスされまくっていたり、
- などなど
と、いろいろなことが考えられます。
- そういった場合に、サイト移転やサイト移行してしまうとそれまでのURLでは記事やホームページにアクセスできない状態が永遠と続いてしまいます。
- 以前の記事で、少し古いリダイレクト処理コードのRedirect permanentを使用しての一括自動リダイレクトコード作成方法を記載しました。
- 以前のRedirect permanentコードではなく、Redirect 301コード作成にて一括自動リダイレクト処理コード作成方法です。
- その後は、固定ページを新規作成します。
- ※.htaccessにリダイレクト処理コードを記載後、ディレクトリ直下にアップロードした後にサイトやブログが表示されなくなったりした場合には速やかに元のバックアップしておいて.htacceessに戻して記載ミスがないか確認してみましょう。
そういった場合に、サイト移転やサイト移行してしまうとそれまでのURLでは記事やホームページにアクセスできない状態が永遠と続いてしまいます。
そうなってしまってはとても勿体ないので、多くの場合リダイレクト処理を.htaccessに直接Redirect処理コードを記載して新しいサイトにリダイレクトにて、それまでのリンクして頂いたサイトなどからのアクセスも404エラーにならずに済みます。
ただ、記事数やホームページのコンテンツが多かった場合やパーマリンク設定が異なってしまう場合には、一苦労・一工夫が必要になります。
複数のパーマリンク構造の異なるパーマリンクURLを一行一行すべてのURLをリダイレクト処理コードを記載していくのはとても大変になります。
以前の記事で、少し古いリダイレクト処理コードのRedirect permanentを使用しての一括自動リダイレクトコード作成方法を記載しました。
その他にRewriteRuleによるリダイレクト処理方法もあります。
以前のRedirect permanentコードではなく、Redirect 301コード作成にて一括自動リダイレクト処理コード作成方法です。
ほんの少しだけ記述内容を変更するだけなのですが、いくつかの方法は知っていた方が選択肢の幅が広がります。
以下にまずpage.phpの内容を書き換えるphpコードを記載します。
<?php /*
Template Name: redirectexport
*/ ?>
<?php
$posts = get_posts('numberposts=1999');
global $post;
?>
<?php if($posts): foreach($posts as $post): setup_postdata($post);
echo "Redirect 301 ";
echo get_post_meta($post->ID,'blogger_permalink',TRUE);
echo " ";
the_permalink();
echo "<br />";
endforeach;
endif;
?>
上記内容を記述した後に、ファイル名は何でも良いのでRedirect.phpとでもして保存します。
そのRedirect.phpをFTPツールにて、サーバー内のthemeフォルダ内該当themeの子テーマ内にアップロードします。
その後は、固定ページを新規作成します。
新規作成後に、プレビューでも公開しても良いのですがどちらでも問題なく.htaccessに記載すべきリダイレクト処理コードが一括で複数行自動的に出力されます。
上記のようにRedirect 301にて複数行にパーマリンク構造の異なるURLを自動的にリダイレクト処理コード作成出力することができます。
あとは、.htaccessのバックアップをしてから上記をリダイレクト処理コード一覧を追記したものをディレクトリ直下の.htaccessに上書き保存にて書き換えます。
その後に、旧URLから新URLにしっかりとリダイレクト処理されているかの確認をしてリダイレクトされていれば成功です。
コメント