IMUZA.com

<<WordPress(ConoHa)<<はてなブログ

ホーム / javascript / はてなブログのカテゴリーを階層化し別ブログに統合した

はてなブログのカテゴリーを階層化し別ブログに統合した

2019/04/22 javascript, WebTips, はてなブログ

ブログはワンテーマワンブログのほうがいいとは思いますが、更新もままならず休止中にしておくのもどうかと思い、別ブログに統合して書く意欲を奮い起こそうと思います(笑)。

この件、すでに「はてなブログ間の記事移動はJavascriptとcanonicalでリダイレクト」の記事であつかっており、その時は統合先のブログの一つのカテゴリーに入れてしまおうと思ったのですが、今回はカテゴリーを階層化して統合することにしました。

  • 統合先のカテゴリーの階層化
  • 元ブログのカテゴリー変更
  • 統合した結果
  • 元ブログのリダイレクト

統合先のカテゴリーの階層化

まず、統合先のブログを階層表示可能にしておく必要があります。詳しくは以下の記事をご覧ください。

www.imuza.com

はてなブログは階層カテゴリーに対応していませんので、あくまでも擬似的に表示のみそのように見せているだけです。階層化するにはカテゴリーを「親カテゴリー-子カテゴリー」とハイフンで結びます。

元ブログのカテゴリー変更

統合する元ブログのカテゴリーを階層化対応の「親カテゴリー-子カテゴリー」形式に変更します。

方法は、「はてなブログ間の記事移動はJavascriptとcanonicalでリダイレクト」のようにエクスポートしたテキストファイルをエディターで変更する方法でも可能ですが、今回のようなケースではエクスポートする前に 管理画面 > カテゴリー から変更する方法が一番簡単です。この階層化は親カテゴリーがあってもなくても階層化されますので、この方法ですべてのカテゴリーを「親カテゴリー-子カテゴリー」形式にすればOKです。

統合した結果

こうなりました。

www.tokotokotekuteku.com

元ブログのリダイレクト

「はてなブログ間の記事移動はJavascriptとcanonicalでリダイレクト」にも書いていますが、元ブログは Javascript で統合先のブログにリダイレクトしておきます。

今回はカテゴリーのリダイレクト先を階層化カテゴリーにそれぞれ置き換えています。

<script>
if(location.pathname.indexOf('entry') !== -1){
    var url = 'http(s)://統合先のドメイン' + location.pathname;
}else if(location.pathname.indexOf('/archive/category') !== -1){
    var cat = location.pathname.match(/\/archive\/category\/(.+)$/);
    // 子カテゴリーを変更する場合
    // if(cat[1] === encodeURI('元の子カテゴリー')) cat[1] = encodeURI('統合先の子カテゴリー');
    // 
    var url = 'http(s)://統合先のドメイン' + encodeURI('親カテゴリー-') + cat[1];
}else{
    var url = 'http(s)://統合先のドメイン/archive/category/' + encodeURI('親カテゴリー');
}


document.getElementsByTagName('link')[0].href = url;
var elem = document.createElement('div');
elem.innerHTML = '当ブログは「' + 統合先ブログ名 + '」に統合しました。<br />5秒後に新しいブログに移動します。<br /><br /><a href="' + url + '">統合先ブログ名</a>';
elem.setAttribute('style', 'width:100vw;height:100vh;padding-top:100px;text-align:center;background:#fff;font-size:20px;font-weight:bold;position:fixed;z-index:9999;line-height:2;');
var parent = document.getElementById('container');
parent.insertBefore(elem, parent.firstChild);


setTimeout(function(){
location.href = url;
}, 5000);
</script>

これを元ブログの ヘッダ > タイトル下 に入れます。

ということで、統合したブログがこちら、リダイレクトします。

mankan.hatenablog.jp

はてなブログのカテゴリーを階層化する(jQueryなし)
はてなブログの特定のカテゴリーをエクスポートする
Twitter
Facebook
ブックマーク
LINEで送る

最初のサイドバー

最新記事

2022/08/13

はてなブログProを解約したらエェ〜?!

2022/08/10

WordPress にプラグインなしで fancybox4 導入

2022/07/29

WordPressでiframeが表示されない(解決)

2022/07/14

WordPressのデータベースを入れ替える

2022/07/7

WordPress:テーマをゼロから作ってみる(3)

最新記事を一覧で見る

よく読まれている記事

よく読まれている記事を一覧で見る

カテゴリー

  • はてなブログ214
  • WebTips108
  • javascript96
  • Joomla!88
  • Windows68
  • CSS62
  • Joomla!更新53
  • Linux49
  • はてなテーマ45
  • Wordpress38
  • Plamo33
  • Google32
  • はてなプラグイン25
  • php19
  • Node.js18
  • SASS16
  • Ubuntu16
  • laravel415
  • Chrome10
  • cms-style10
  • iPhone9
  • genesis6
  • Git入門6
  • ConoHa WING5
  • Python4
  • Android4
  • SSD3
  • Docker3
  • スマートフォン3
  • Facebook3
  • Firefox3
  • 静的サイトジェネレーター3
  • Blankslate3
  • Mactype2
  • GitHub2
  • rails入門1
  • はてなブクマ1
  • Twitter1
  • 映画1
  • youtube1

Footer

My Web Sites

  • @半径とことこ60分
  • そんなには褒めないよ。映画評
  • IMUZA.com
  • GitHub

Another Sites

  • WordPress公式
  • WordPress関数リファレンス
  • PHPマニュアル

Contact Us

  • お問い合わせフォーム
  • Twitter
  • Facebook
  • Feedly

Copyright © 2022 · IMUZA.com