はてなブログを始めたきっかけは、Azure Web Apps 上の WordPress で構築していたブログに接続できなくなってしまったことでした。
Twitter で情報を頂いたおかげで、2年ほど書いていた過去の記事を移行することができたので、その顛末をまとめておきます。
WordPress のブログを復旧する
ClearDB がバックアップを取っているので、サポートに連絡すればリストアしてもらえることが分かりました。早速、ClearDB のサポートに連絡すると、回答が来ました。
The most recent backup we have was taken on November 28th at 0758 UTC.
To restore, please create a new, empty db and then open a Support ticket attached to the new db requesting the restore and including the connection string.
We'll load the backup into your new db.
11月28日時点のバックアップがあり、新しい空のデータベースを作れば、そこにリストアしてもらえるようです。
Azure Web Apps のリンク済みリソースとして MySQL データベースを作成したかったのですが、GA したポータルからできなかったので、クラシックポータルを使いました。
ClearDB の管理ポータルから確認できる接続文字列をサポートに連絡してリストアしてもらい、新しいデータベースの接続文字列を2か所に設定することで、WordPress のブログが復旧しました。
- Azure ポータルから Web Apps の接続文字列
- Kudu から wp-config.php の接続文字列
WordPress のデータをはてなブログに移行する
staff.hatenablog.com
こちらの手順通りに「WordPress 形式」を選択すれば、そのままインポートできて便利だったのですが、なぜか複数の月をまとめてインポートするとエラーになってしまい、やむを得ずひと月ごとにインポートしたのは面倒でした。あと、ソースコードの表示が崩れていたので、そのあたりの調整も必要でした。
WordPress からはてなブログにリダイレクトさせる
Google の検索結果に同じ記事を複数ヒットさせたくなかったので、こちらの記事を参考にリダイレクトさせました。
blog.ch3cooh.jp
Kudu から Web.config に URL Rewrite の要素を追加して対応しました。
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="gooner.azurewebsites.net/2015" stopProcessing="true"> <match url="^2015/(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^gooner\.azurewebsites\.net$" /> </conditions> <action type="Redirect" url="http://gooner.hateblo.jp/entry/2015/{R:1}" redirectType="Permanent" /> </rule> <rule name="gooner.azurewebsites.net/2014" stopProcessing="true"> <match url="^2014/(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^gooner\.azurewebsites\.net$" /> </conditions> <action type="Redirect" url="http://gooner.hateblo.jp/entry/2014/{R:1}" redirectType="Permanent" /> </rule> </rewrite> </system.webServer> </configuration>
画像データは WordPress 側に置いたままなので、記事の URL だけをリダイレクトさせました。
- 旧URL・・・http://gooner.azurewebsites.net/2015/mm/dd/xxx/
- 新URL・・・http://gooner.hateblo.jp/entry/2015/mm/dd/xxx/
あとは、Google が 301 リダイレクトを受けてサイトを引っ越したと認識して、検索結果へ反映してくれるのを待ちます。
まとめ
半ば諦めていた過去の記事を移行できたのは、Twitter で情報を頂いた皆様のおかげです。ありがとうございました。今後は、Azure でマネージドな MySQL データベース が提供されると安心だなと思いました。