Seesaaブログのリダイレクトについての研究成果
皆さんこんにちは!
先日、旧ブログを新デザインに適用するべく、新たにブログを立ち上げた記事を書きました。
当然のことながら、旧ブログと新ブログのurlは別物になりました。ここで必要なのが、SEO対策! と言っても、ブログを副収入にしているわけではないので、そんなに掲載順位を気にしなくていい身分なのですが、新しい記事を書いても、だれの目にも止まらないのもなぁ~。。。
と思い、旧ブログから新ブログへリダイレクトをすることにしました。
リダイレクトの方法を 色々調べた結果、Seesaaブログは、間借りの環境ですので、「.htaccess」ファイルを使用したリダイレクトが行えない。そのかわり「html」コマンドを利用したリダイレクトが可能であることが解りました。
しかし、web検索すると、SeesaaからWordPressへ移行した記事と、リダイレクトする方法はたくさん見つかるのですが、SeesaaからSeesaaへ移行した記事&リダイレクト方法は、いくら調べてもみつかりません。。。
なので、ここ数日、webからの情報を頼りに独学で、スクリプトを活用したリダイレクト方法を見出しました。(と言っても、色んな先駆者の方の知恵を切り貼りで吸収しただけですけど。。。)
そこで、私と同じように、SeesaaからSeesaaへブログ移行を行おうと考えている方への参考になればと記事にしてみました。
※スクリプトに詳しい方で、今回紹介するスクリプトがおかしい場合は、お手数ですがご教授願えると幸いです。
・SeesaaからSeesaaへのブログ移行_ステップ1
まずは、旧Seesaaブログから、記事ファイルをエクスポートする。
旧ブログの「設定」画面から →「エクスポート」画面へ
ここで、取得範囲(ブログを書いていた期間)、移行に必要な情報(コメント
/トラックバック/タグ、生成対象カテゴリー)に、チェックを入れる。
(ここは自身の環境によって変わります)
・SeesaaからSeesaaへのブログ移行_ステップ2
新ブログの「設定」画面から →「インスポート」画面へ
ここで、旧ブログからエクスポートしたファイルを「ログファイル 」で指定。
「basename取込 」に必ずチェックを入れる。その後、「Seesaaブログ利
用規約に同意する」にチェックを入れてインポートする。
※旧ブログから、新ブログへのリンクでは、basenameを利用して記事ごと
のリダイレクトを行いますので、必ず「basename取込 」に必ずチェック
を入れてください。
・SeesaaからSeesaaへのブログ移行_ステップ3
旧ブログのhtmlを編集するため、「デザイン」 →「HTML」で、htmlを開
き head から /head の記述の間に、以下スクリプトを貼り付けます。
※後述で、htmlへの貼り付け用テキストをのっけときます。
<上記、画像のスクリプト説明>
①=旧ブログの記事urlから、リダイレクトで使用するbasename部分を抽出し
ます。
・1行目で、旧ブログの記事urlを「/」単位で、ブロックに分ける
・2行目で、「-1」(左から1番目の意味)のブロックを切り出し
②=①で切り出したbasunameの頭に「a」を付与する。
新ブログで、旧ブログのBasenameを「basename取込 」にチェックを入
れて取り込むのですが、なぜか新ブログのbasenameの頭には「a」が付
与されるのでその解決のためにしています。
旧ブログのbasename 新ブログで取り込んだbasename
「1111111111」 → 「a1111111111」
③=②で作成したbasunameを 新ブログのアドレスhttps://〇〇.com/article/
のあとにくっつけます。
④=旧ブログ記事から、新ブログにある同じ記事にリダイレクトします。
⑤=canonical の書き換え
canonical(カノニカル)属性とは、Google、Yahoo!、MSNなどの大手検索
エンジンがサポートするURLを正規化するためのタグ。
この記述により、canonical指定をしたURLを正規ページとしてインデックス
するように検索エンジンに伝えます。
以上で、無事に記事ページごとのリダイレクト指定が完了です。
以下、スクリプトのテキストファイルを添付しておきます。
<% if:page_name eq 'article' -%>
<script>
setTimeout("link()",0);
function link(){
var $dir = location.href.split("/");
var $dir2 = $dir[$dir.length -1];
blog_page_url = 'a'+ $dir2;
permalink_new = 'https://新アドレス〇〇〇.com/article/' + blog_page_url;
location.href = permalink_new;
var link = document.getElementsByTagName("link")[0];
link.href = permalink_new;
}
</script>
<% /if -%>
<script>
setTimeout("link()",0);
function link(){
var $dir = location.href.split("/");
var $dir2 = $dir[$dir.length -1];
blog_page_url = 'a'+ $dir2;
permalink_new = 'https://新アドレス〇〇〇.com/article/' + blog_page_url;
location.href = permalink_new;
var link = document.getElementsByTagName("link")[0];
link.href = permalink_new;
}
</script>
<% /if -%>
また、上記は記事ページのみのリダイレクトになりますので、追加で記事ページ
以外の「index」「category」「tag」を旧ブログで指定されても、新ブログの
トップページにリダイレクトする記述を加えておきます。
以外の「index」「category」「tag」を旧ブログで指定されても、新ブログの
トップページにリダイレクトする記述を加えておきます。
<% if:page_name eq 'index' -%>
<link rel="canonical" href="https://新アドレス〇〇〇.com/">
<meta http-equiv="refresh" content="0;url=https://新アドレス〇〇〇.com/">
<% /if -%>
<% if:page_name eq 'category' -%>
<link rel="canonical" href="https://新アドレス〇〇〇.com/">
<meta http-equiv="refresh" content="0;url=https://新アドレス〇〇〇.com/">
<% /if -%>
<% if:page_name eq 'tag' -%>
<link rel="canonical" href="https://新アドレス〇〇〇.com/">
<meta http-equiv="refresh" content="0;url=https://新アドレス〇〇〇.com/">
<% /if -%>
<link rel="canonical" href="https://新アドレス〇〇〇.com/">
<meta http-equiv="refresh" content="0;url=https://新アドレス〇〇〇.com/">
<% /if -%>
<% if:page_name eq 'category' -%>
<link rel="canonical" href="https://新アドレス〇〇〇.com/">
<meta http-equiv="refresh" content="0;url=https://新アドレス〇〇〇.com/">
<% /if -%>
<% if:page_name eq 'tag' -%>
<link rel="canonical" href="https://新アドレス〇〇〇.com/">
<meta http-equiv="refresh" content="0;url=https://新アドレス〇〇〇.com/">
<% /if -%>
以上、簡単ですが、今日はこんなところで。。。
この記事へのコメント