2017年9月17日日曜日

ウェブリブログに投稿した記事をWordpressにインポートしたとき意外と大変だった話

ウェブリブログからWordpressへ引っ越したときの概要

何年も前にウェブリブログ(旧ブログ)を使っていたけど数年前にWordpress(現ブログ)に移行した。そのときから旧ブログの投稿を現ブログにインポートしようと思っていた。ただちょっと面倒なので引越しに関する情報だけ集めてた。

そして先日思い切ってインポートしたんだけど多少の手間はあっても簡単に終わるとおもった。ただちょっとしたこだわりを入れたら意外といろいろなことをやらなきゃいけなかった、というおはなし。

旧ブログをどうするか

現ブログに移行しても旧ブログは削除せずそのままにしておくことにしていた。なんとなくもったいないし入り口が多い方がいいだろうから。
とすると同じ内容のブログがふたつあることになる。Googleさんはそれをあまり良しとはしてないらしい。ひとつの投稿の文字数がそんなに多いわけではないし閲覧数もごくわずかな自分のブログはそんなこと気にしなくても良さそうではある。
でも一応ちゃんとしておきたい。車がほとんど通らない道でも信号はちゃんと守る、みたいな感覚。

こういうとき301リダイレクトというものをやるのがいちばんいいらしい。けどウェブリブログではそれはできない。次点でrel="canonical"という指定をHTMLのhead部に書けばいいらしいがそれもできない。
検索するとブログの引越しに関する記事はおおいけれどウェブリブログからの引っ越しはほとんど見つからない。そんな中ひとつみつけた記事でJavascriptでhead部に書き込むという方法。なるほど。GoogleさんもJavascript実行後のhead部を見ると書いてある。
といわけでそれを採用。

旧ブログから現ブログへインポート

ウェブリブログがエクスポートしたデータ形式はMT形式。とくに問題はない。テキストエディタで写真のリンク先を修正するぐらい。
写真もダウンロードして現ブログ用のサーバーにアップロード。
インポートしたらカテゴリー・タグ変換ツールを実施。ウェブリブログにはカテゴリーやタグというものはなく代わりにテーマというのがある。これがたしかタグとして取り込まれるのでカテゴリーに変換し現ブログに合うように調整。そのときタグも追加する。
変換は一発でできるけどカテゴリー・タグの調整は記事ひとつずつ行ったので時間がかかった。
この時点では引っ越してきた記事はまだ非公開の状態。とりあえずこのまま公開してもいいんだけどやりたいことがあったので(それは次項で)。
ここまでやってしばらく放置してた。

旧ブログからインポートしたことを明確にしたい

引っ越してきた旧ブログの記事と現ブログで書いた記事を区別できるようにしたい。記事画面の上になにか文言をいれるとか背景の色を変えるとか。
そしてその違いをどう判定するか。投稿日時が旧ブログ最終記事以前であれば旧ブログと判定するのがいちばん簡単なんだろうけどこれだとこれから新しく書く記事すべてでも常に判定する処理が入るのでなんかかっこわるい。
これをどうしたらいいか解決策を思いつくのに時間がかかった。

カスタム投稿タイプを使うというアイデア

どうしたらいいかとずっと思っていたところ思いついたのがWordpressのカスタム投稿タイプという機能。これなら判定処理は必要ないと思った。カスタム投稿タイプ用に背景の色を変えるCSSを追加で読み込ませるようにテンプレートに書くだけだ。
これはいいアイデアを思いついたと思って実行したのだけどこれが簡単ではなかった。全く別のブログの開発するのに近い手間がかかってしまった。

CSSの変更は背景色だけというわけには行かないし、カスタム投稿タイプ用のカテゴリー・タグを表示するテンプレートを用意しないといけないし、サイドバーも全く別のものになるし。自分のブログにさえ対応していればいいと作ったパンくずリストも改造がひつようだし。
まあおかげでWordpressの知識は増えました。ほかに活用する機会は無いけど。

そんなこんなを次の投稿からもう少し詳しく書いていこうと思う。


0 件のコメント:

コメントを投稿