きゅうりの王様

日々の日常の生活から役立つ情報をまとめた知恵袋ブログを目指す

【スポンサーリンク】

はてなブログの特定記事をWordpressにリダイレクトする設定方法

ブログ全体の移転の話ではなく、はてなブログの個別記事を別のブログの個別記事へ移転する方法についての注意点と紹介についてです。

この度、当ブログのスピンオフとしてミニサイトを作成しました。
まだまだデザインのカスタマイズや記事の修正などする事はたくさんあります。

サイト全体ではなく、個別記事、個別ページの移行についての記事になります。

リダイレクトとは?

「リダイレクト 301」とはあるサイトの元記事から新しいサイトの新記事に自動で飛ばすことです。
元記事がグーグル検索で上位にある場合は記事を削除して、新しいサイトにコピペなどで同じ記事を作っても同じように検索上位に上がるとは限りません。

記事が検索下位に落ちてしまい、埋もれてしまう可能性があります。

元記事を削除せずに同じ記事を新サイトにコピペすると、二重記事扱いになり、両方の記事が検索街に飛ばされる可能性もあります。

そこで役に立つのがリダイレクトです。
記事の移転を閲覧者・検索エンジンに教えてあげる必要があります。

記事の移行 元記事を残すデメリット

f:id:cucumberking231:20170630102655j:plain

当ブログから派生のミニブログ作成にあたり、ブログ全体ではなく一部の記事のみを移転する方法についてのコードがわからず、参考になるサイトがないか探しましたが、なかなか見つかりませんでした。
はてなブログからWordPressへ移転する人は多いのかもしれませんが、個別記事をリダイレクトする人は非常に少ないのでしょうか?

先ほどの通り、ミニサイトに記事を移行した時、元の記事を残しておくと以下の理由からSEO的に良くないと言われています。

* 重複コンテンツは同時に検索結果に表示されない * 被リンク評価が分散する

そして、一般的にブログを引っ越しする際には以下のようなことを実施します。

  • HTTPステータスコード301でリダイレクトさせる
  • headタグ内に link rel=“canonical” を設置する
    <link rel="canonical" href="移転先のURL">

という訳で、サイト全体を移転する際には通常であれば「link rel=“canonical"」 を利用して移転元の記事に同じように(link rel="canonical” )記述し、移転先の記事へリダイレクトする方法があります。

はてなブログの記事に貼り付けるコード

f:id:cucumberking231:20170702153452p:plain

「はてなブログ」では個別の記事ではURLに「entry」という文字列が含まれます。 これを利用して下記のスクリプトのように正規表現にマッチングさせて個別の記事でのみ実行されるようにすれば良いそうです。

<p>本記事は移転しました。</p>
<p>約3秒後にリダイレクトします。</p>
<p>リダイレクトしない場合は<a href="リダイレクト先のURL">ここ</a>をクリックしてください。</p>
<script type="text/javascript" language="javascript">
<!--
  // 現在のurl
  var href = window.location.href;
  // 記事ページのurl正規表現
  var re = new RegExp(".*entry.*");
  if (re.test(href)) {
    // 新url
    var url = "[リダイレクト先のURL]";
    // link rel="canonical" の変更
    // 「はてなブログ」ではheadタグの最初のlinkタグに以下がある
    // <link rel="canonical" href="xxx"/>
    var link = document.getElementsByTagName("link")[0];
    link.href = url;

    // リダイレクト
    setTimeout("redirect()", 3000); // 3 sec
    function redirect(){
      location.href = url;
    }
  }
-->
</script>

先ほどの紹介の通り、個別の記事の「entry」というURLをマッチングさせるのがミソのようですね。
上記のコードを元記事に記述します。
//リダイレクトの下の「3000」を「2000」に変更すると2秒後にリダイレクトします。

一般のサイトの移転の場合

元記事がはてなブログではなく、WordPressであれば「entry」の部分を以下のように削除すればリダイレクトします。

<p>本記事は移転しました。</p>
<p>約3秒後にリダイレクトします。</p>
<p>リダイレクトしない場合は<a href="リダイレクト先のURL">ここ</a>をクリックしてください。</p>
<script type="text/javascript" language="javascript">
<!--
  // 新url
  var url = "[リダイレクト先のURL]";

  // link rel="canonical" の変更
  // 「はてなブログ」ではheadタグの最初のlinkタグに以下がある
  // <link rel="canonical" href="xxx"/>
  var link = document.getElementsByTagName("link")[0];
  link.href = url;

  // リダイレクト
  setTimeout("redirect()", 3000); // 3 sec
  function redirect(){
    location.href = url;
  }
-->
</script>

ワードプレスからワードプレスへの移転の場合に上記のコードを記事に貼り付けます。

まとめ

f:id:cucumberking231:20170630102538j:plain

参考にさせていただいたのは下記サイトになります。
わからないことがあれば大体のことは誰かがインターネットに載せてくれています。
本当にありがたいです。

お世話になりました!!

参考
https://pepese.github.io/blog/move-article/