そこで、今回は以下の2種類のリダイレクトで、少しでも新サイトへの導線を確保しようと思います。
- WordPress 内のコンテンツをリダイレクトする
- Blogger から新サイトへリダイレクトする
WordPress 内のコンテンツをリダイレクトする
今回、Blogger から移行したコンテンツには、旧サイトの URL が書いてあるものがありましたが、先日の Search Regex を使ったコンテンツ変換で http://azur256.blogspot.com を / に変えましたので、ひとまず、自サイト内のコンテンツと見なされるようになっています。
しかしながら Blogger のパーマリンクと WordPress のパーマリンクが異なるため単純にドメインを置換しただけではリンク切れのままです。
そこで個々のコンテンツを .htaccess でリダイレクトすることにします。つまり、こんな流れです
#1 でのリダイレクトができれば良いのですが Blogger に .htaccess ファイルを置けないので、ドメインを除くパーマリンクの変換は #3 の流れで新サイト側で変換することにします。ここで問題になるのは、#3 の個々のコンテンツをどうやって .htaccess に指定するか、ということなのですが、その方法は以下のサイトを参考にさせていただきました。
このやり方は WordPress の DB の中にある Blogger のパーマリンクと WordPress のパーマリングの情報を引き出して一覧を作るというものです。参考にさせていただいたサイトのコードは endforeach と endif が無かったので、そこだけ修正することで同じ手順でファイルを作ることができました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php /* Template Name: export */ ?> <?php $posts = get_posts('numberposts=1000'); global $post; ?> <?php if($posts): foreach($posts as $post): setup_postdata($post); echo "Redirect permanent "; echo get_post_meta($post->ID,'blogger_permalink',TRUE); echo " "; the_permalink(); echo "<br />"; endforeach; endif; ?> |
出力された情報を .htaccess に書き込めば完了です
これが終わったら Broken Link Checker プラグインを使ってリンク切れを調べてみましょう。リンク切れがなければ無事に設定できています。
(念のためブラウザでアクセスしてみると、無事にリダイレクトされました)。
BloggerからWordPressにリダイレクトする
先ほども書いたように Blogger でも .htaccess が配置できれば簡単なのですが、残念ながら Blogger では .htaccess を配置することができません。
そこで、あまりよろしい方法ではないようですが、Blogger から JavaScript を使って転送するようにします。
こんな感じに書いて、テンプレートに仕込めばOKです。
1 2 3 4 5 6 7 8 |
<script type='text/javascript'> newUrl = window.location.href.toString().replace('blogspot.jp','blogspot.com'); newUrl = newUrl.replace('azur256.blogspot.com','azur256.com') spritUrl = newUrl.split('?'); newUrl = spritUrl[0]; setTimeout(function(){window.location.href = newUrl;}, 10000); </script> |
ここで 10 秒ほど待たせているのは、単なるリダイレクトではなく、ブログが移転しました、というメッセージを読んでもらえるようにするため。移転のメッセージを表示するための Widget も Blogger に配置しておきます。
Widget の中身はこんな感じで。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<script charset="utf-8" type="text/javascript"><!-- newUrl = window.location.href.toString().replace("blogspot.jp","blogspot.com"); newUrl = newUrl.replace("azur256.blogspot.com","azur256.com") spritUrl = newUrl.split('?'); newUrl = spritUrl[0]; document.write("<div id=\"moving\" style=\"font-size:140%; border:1px; background-color:#dcdcdc; padding: 1.0em 1.0em;\">"); document.write("ブログを移転しました。新しいブログは <a href=\"http://azur256.com\">http://azur256.com</a> になります。<br /><br />"); document.write("このページは自動的に新しいサイトにリダイレクトします。"); document.write("新しいサイトのURLは<br /> <a href=\""); document.write( newUrl ); document.write("\">"); document.write( newUrl ); document.write("</a><br />"); document.write(" です。自動的に移動しない場合は、リンクをクリックしてください。"); document.write("</div>"); --></script> |
これで、旧ブログからの導線を確保できました。晴れて、移転作業は完了です。
この移転はコンテンツを2重に持っていて、かつ、リダイレクトしているので、パンダプログラムの発動を始めとする Google 様の動きがきになりますが、様子を見ながら問題があったら対策しようと思います。
(何かあったら Blogger のコンテンツを Index から消すようにすれば良いかな、とも思っています)。
WordPress 関連のエントリ
インストールや設定変更とデータ移行
プラグイン
バージョンアップ
カスタマイズ
Stinger 3関連
チューニング
MAMPを使ったバックアップサイトの構築
開発関連
最後まで読んでいただきありがとうございます。
左のアイコンをクリックして、このブログを Feedly に登録していただけると嬉しいです
Facebook ページでも情報を発信していますのでよろしかったら「いいね!」をお願いします
RSSリーダへの登録は こちら からどうぞ。
No commented yet.