RM-BLOG

IT系技術職のおっさんがIT技術とかライブとか日常とか雑多に語るブログです。* 本ブログに書かれている内容は個人の意見・感想であり、特定の組織に属するものではありません。/All opinions are my own.*

seesaaからはてなブログへ移行しました

この度seesaaブログからhatenaブログに移行しました。
まだ細かいところで完全移行完了してないんですが、とりあえず一旦移行及び新ブログでの運営開始を宣言したいので、節目として記事にします。
移行理由とか移行苦労話とかをば


 

1.移行理由


実は結構前からseesaaには細かい不満がいくつかあったんです。

…etc。
まあ長く使ってればどこであろうと大なり小なり不満は出てくるんでしょうけども…

特に意識したのは「httpsじゃない」ですな。
googleが将来的にhttpsサイトを検索結果に優先的に表示していく(httpのサイトは淘汰していく)ことを宣言していることもあって、いつまでもhttpでブログやっていることに焦りがあったのは事実。
seesaaはいつまで経ってもhttps対応しないので、この点の解決だけのために、独自ドメインとってWordpressとかにするかと考えたくらいです。

あと、「技術情報ブログとしては、はてなブログが一番人気」という記事を見つけたのも引っ越しの意識に対して拍車をかけました。
そういわれてみると、TwitterのIT系フォロワーさんの中で、ブログやってる人たちが使ってるのは、確かにはてなブログが多い印象です。
「情報を発信する」という点で、ブログという手段が今更効果があるのか?というのは若干疑問でもありますが(すごいアクセスのある大人気ブログとかならともかく)、趣味として・技術者としてのブログという意味で、そういったトレンドは意識したかったところでした。

一方で、seesaaで5年近くブログやってたことや、ブログコミュニティへの参加等も相まって、これでも一応平均して月1万PVはあったので(別にアドセンス仕込んでたりするわけでもないのでアクセス数多いからってなんだった話はあるんだが)、簡単に「手放す」という思考になれなかったのも事実でした。
加えて、仮に移行するにしても、数百に及ぶ記事を「移行」するという作業がとてつもなく億劫になり、重い腰が上がらなかったところもあります。
特に、いろんな記事で自ブログへのリンクを絶対パスで大量に貼っていたので、これを移行に際して手直しするのがとても面倒くさくて、実際これはまだ残ってるんですけども、まあ、そういう作業を考えると余計に億劫になって、やる気が出なかったのが実際のところでした。

とはいえ、どこかで踏み切らないとずーっとこのままだなと思い、意を決して移行することに決めたのでした。


 

2.移行について


多分どのブログサービスも実装していると思うんですが、ブログ記事はMT形式のテキストファイルでエクスポートすることができます。
リンクだ画像だ云々に目をつむれば、そのMT形式ファイルをインポートすることで、ただそれだけですんなり移行できます。

また、これははてなブログだけなのかわかってませんが、seesaa時代の記事URLがそのまま生きて移行されます。
例えば
http://rmrmrmarmrmrm.seesaa.net/article/aaa.htmlhttps://rmrmrmarmrmrm.hatenablog.com/entry/aaa.html
といった具合で、seesaa時に「aaa.html」だったURLは、はてなブログにいってからも「aaa.html」のまま移行されます。
このため、上述していた「自ブログ内へのリンクを絶対パスで大量に貼っていた」に関しては、エクスポートしたMT形式ファイルをテキストエディタで開いて、

とするだけで簡単に切り替えできるわけです。(これはとてもよかった)

あと、画像に関しては、はてなブログは画像移行オプションも付いているので、MT形式記事インポート後に、インポートした記事に付随していた画像を移行元サイトからクリック一つで移行してくることができます。
しかも、画像移行と同時に元記事内の画像URLも更新してくれる!
画像移行後に、いちいち記事開いて自分で画像張りなおさなきゃいけないのかと思ってたので、これはすげー助かりました。

というわけで「リンク」も「画像」も移行にはそんなに苦労しませんでした。
うーん結構簡単。
こんな簡単ならとっとと移行に踏み切っときゃ良かったなとw


 

3.移行問題


といいつつ、そんなすんなりといかないのがIT業界における「移行」の常っていうもので。。
上記以外に以下のような問題に遭遇しました。

  1. 記事タイトルにおける一部文字がHTML参照文字として移行される。例えば「Nothing's」が「Nothing's」になったりです(これが一番多かったw)
    一方で、記事本文内で同じ文字を扱っていても、そっちはHTML参照文字にならなかったので、たぶん、seesaaが、記事タイトルの値だけ、内部的にHTML参照文字にエスケープして保持していたんでしょう。
    MT形式ファイルには記事タイトルも記事本文もごちゃまぜになってるので、単純に「」とかで捕まえて置換するわけにはいかず、この辺が多いと苦労しそうだなと感じました。
  2. seesaa特有な気もしますが、画像を張った場合、画像そのものとは別に、画像へのリンクが一緒にくっついてきます。
    こんな感じ→<a href="画像へのリンク"> <img src="画像ファイルのアドレス"/></a>です。サムネイル機能とかいうんだったかな?
    もしかしたら画像の貼り方によっては制御できるのかもしれませんが、長年これでずっとやってきたので、俺の場合、「画像へのリンクタグ」と「画像ファイルのimgタグ」と2つが文字列として付与された形で移行されたんですね。
    うち、上述した、はてなブログの「画像移行オプション」で書き換えてくれるのは、imgタグだけのほうで、「画像へのリンクタグ」のほうは書き換えてくれません(まあ当然っちゃ当然かもしれないが…)
    このため、記事内で表示している画像は、はてなブログ内の画像URLでも、リンク先はseesaaという、ねじれ状態が生まれてしまいます。
    これが結構厄介でして、imgタグは残しつつ、それを囲っているaタグだけを除去しなきゃいけないわけですね。
    イメージで言うと<a ~> <img~ > </a>と、赤太字部分だけ除去する形です。
    これは単純な文字列置換だとうまくいかないので、なんか個別にプログラム組むとかしなきゃいけなくなりそうだったので、面倒だったのでやめたんですが、これを除去するのが大変手間取っています(まだ実施中。。。)
  3. seesaaの記事には「表示時に改行を<br>タグに変換する」というオプションがあります。これによって、記事自体に<br>タグをいれなくともちゃんと改行されて表示することができます。
    逆に言えば元記事内には<br>タグが存在しないわけなので、それをそのままもってくると当然改行なしで移行されることになります。
    seesaa時にはちゃんと<br>だった(というかseesaaが<br>をつけてくれていただけで実際には<br>はないのだが)のが移行後は改行なしになって(正確に言うと半角空白みたいのになる)、地続きでダラーっとつながる変な文章になります。
    これはまあ、当然っちゃ当然ですが、盲点でしたね。
    もともと「改行」がなかったので、移行後に「探す」のも難しい(かつてそこに改行があったのかどうかを移行後の記事から検索できない(しづらい))のも問題に拍車をかけます。
  4. 「続きを読む」が、移行直後の段階ではその通り移行される(一覧ページで記事を見たとき、seesaa時代の「続きを読む」と同じ個所に「続きを読む」が入る)んですが、はてな側で一度でも記事を開いて編集するとそれが消える(全部本文内に書かれている形になる)ようです。
    ただ、移行直後から「続きを読む」がきちんと機能しない記事もあるようで、これはちょっと法則性や発生原理が完全にはつかめていません。
    seesaaはてなの相性が悪いだけなのかもしれません。
    seesaaは「続きを読む」の前(本文)と後ろ(追記)を明確に分けて編集するスタイルだったのに対し、はてなはそうした境目が明確にはない(「続きを読む」コンポーネントを記事内の任意の箇所にいれることで実現させるだけで、あくまで1記事の編集として扱う)のが、この問題を起こす一つの理由なのかもしれません。
    ちなみにseesaa時の「続きを読む」箇所には、移行した記事に「==== 」という文字列が付いています。
    移行後はこの文字列で検索して、これがついてるなら「続きを読む」が機能していないと判断し、手で修正していく対応が必要になるかもしれません。
    なお、はてなで「続きを読む」をいれると破線のhorizon barみたいのが記事内につきますが、これは特定のHTML(カスタム)タグというわけではなくて、システム的にそこで「続きを読む」の区切りをいれる指示のようです。
    (つまり、はてな側の「続きを読む」はHTMLコードでは指示できないし編集もできないのでは、という予想)
  5. これは調べた感じだと俺が悪いんですが(;´Д`)、thタグが移行されませんでした。
    俺いつも<table><th>...</table>って、tableタグ直下に素っ裸で書いてたんで(実際それで思った通り表示されてたんで)すけど、正確に言うとtrタグで囲わないといけないんだそうです。
    参考:https://www.webnoiroha.net/webdesign/html/make-table/
    これはseesaaが頑張ってくれてた部分なのかなあ。
    ちなみにこれを移行すると
    <table> <th>見出し1</th> <th>見出し2</th> </table>

    <span>見出し1 見出し2</span>
    と、なりました。要するに表の見出しになっていた部分が抜き出されて表の外に出てしまったのです。
    これは結構探すの大変でしてね。。。
    しかし、もとの書き方が悪かったとはいえ、なかなかダイナミックな移行しますね…
  6. これは「問題」ってほどでもなく、まあ要するに「仕様差異」かな?とりあえず発見したので書いておきますが。
    seesaaには記事に「見出し画像」というのをつけることができます。
    一覧画面に出てくる、記事を象徴するというか、印象付ける画像です。
    これを指定しないと記事内で最初に出てくる画像が自動的に「見出し画像」に使われます。(※)
    が、はてなにはこの「見出し画像」機能がそもそも存在していません。
    このため「見出し画像」で指定した画像は全て捨てられて、(※)の考え方で自動的に見出し画像が選択されます。
    seesaaの「見出し画像」というのも確か割と最近できた(少なくとも俺がseesaaを使い始めた2014年頃にはなかった…と思う)はずだし、そもそもこの「見出し画像」機能を利用して(※)とは違う画像を意図的に指定させたケースが非常に稀だったので、逆に稀だったおかげで記事の変化(見出し画像がないこと)に気づいたというのもあるんですが、まあ、そこまで対応に困ったというほどでもないので、実際対応もせず放置しましたw(面倒だから)
    これは備忘録ですかね。


なお、今回、ブログの引っ越しに関しては、一人でのんびりと移行していくかあ~って感じでしたが(まあ個人の趣味ブログなんだからそれが当然なんだが)、とある友人がボランティアでテストを手伝ってくれまして、この辺の問題の洗い出しや対応がスムーズにできました。
この場を借りてその友人に御礼申し上げたいと思います。
ありがとうございました。