Wordpressからはてなブログに移行しました

当ブログ、m630.netをWordpressからはてなブログに移行しました。

Wordpressはエックスサーバーで運用、ドメインはバリュードメインで管理していました。

CMSを変えるのって手間ですよね。移行作業を振り返ってみたいと思います。

はてなブログProの契約

独自ドメインではてなブログを利用するので、有料版のProの契約が必要になります。

hatenablog.com

移行失敗も視野に入れて、1ヶ月コースで申し込みました。

公開設定を「自分のみ」にしておく

契約する時点で一時的にはてなのサブドメインでブログを開設することになります。

自分の場合は、以下のURLでブログを開設しました。

https://m630.hatenablog.jp/
(今は独自ドメインにリダイレクトされます)

移行元のWordpressの記事をインポートして編集するので、公開設定を「自分のみ」にすることオススメします。

移行作業中に検索エンジンのクローラーにインデックスさせないようにしたいからです。

独自ドメインの設定は、コンテンツの移行作業を終えてから行います。

WordPressから記事データをエクスポート

移行元のWordpressのダッシュボードを[ツール]⇒[エクスポート]の順に遷移し、デフォルトで選択されている「すべてのコンテンツ」のまま記事をエクスポートして下さい。

f:id:makoto_endo:20190806102859p:plain

XML形式のファイルが保存されます。

XMLファイルをテキストエディタで編集

編集する目的は、Wordpressで利用していたショートコードの除去とパーマリンクの一括置換です。

編集作業は、エクスポートしたXMLファイルのバックアップを取ってから行って下さい。

パーマリンクの置換を行う理由は、はてなブログへ記事をインポート後、二重にディレクトリ名が付いてしまうからです。

Wordpress当時、個別記事のパーマリンク構成は以下のような感じでした。「数字ベース」ですね。

https//m630.net/archives/3486

はてなブログ側で元URLにあわせて記事の配信ディレクトリをarchivesに変更します。

help.hatenablog.com

設定を終え、WordpressからエクスポートしたXMLファイルを未編集ではてなブログにインポートすると個別記事のURLが

https//www.m630.net/archives/archives/3486

といった感じになってしまいます。

ディレクトリが2重になるのをさけるためにエクスポートしたファイルからarchivesの表記を一括置換で削除しておきます。

エクスポートしたXMLファイル内に書かれている個別ページのURL

https//m630.net/archives/3486

これを

https//m630.net/3486

といった感じになるように置換しておきます。

置換作業で失敗してやり直せるように、重なりますが元のXMLファイルのバックアップは必ず取っておいて下さい。

画像のパスがhttpから始まっているか確認しておく

記事中の画像を全てWordpressのメディアライブラリで管理し、記事中に挿入していた場合は、この作業は不要です。

私の場合、相対パスで画像を参照していた記事があったので、httpから始まるパスになるようにXMLファイルを修正しました。

相対パスってこんな感じの記述です。src属性の値がhttpから始まっていない記述ですね。

<img src="/img/abc.jpg" />

これを

<img src="http://m630.net/img/abc.jpg" />

のように修正する感じです。

このように修正することで、はてなブログに記事をインポートする際、画像も同時にインポートできます。

エクスポートしたXMLファイルのインポート

インポートは、ヘルプページの見れば作業できると思います。

help.hatenablog.com

Wordpress側で個別ページごとに設定していた投稿名、ID等は引き継がれます。

インポートした記事の見直し

XMLファイルの編集だけだと抜けがあるので、インポート後に記事の見直しをオススメします。

  • 画像や外部サイトのリンク切れ
  • 除去しきれなかったショートコードの除去

などなど。私は全記事、見直しました。

独自ドメインの設定

設定方法はこちら

help.hatenablog.com

はてなブログのURLはサブドメイン形式

このブログの元URLは

https://m630.net/

でした。

はてなブログは、ドメイン名のみのURLでは運用できません。

運用するにあたり、移行後のURLを以下のようにすることとしました。

https://www.m630.net/

はてなブログの管理画面内だと以下のように入力して設定を保存

 

バリュードメイン側の設定

今回移行する独自ドメイン「m630.net」は、冒頭でも書いた通りエックスサーバーで公開し、バリュードメインで管理しています。

移行にあたり、エックスサーバーのデータはバックアップとして、そのまま残しておきます。

そして、バリュードメイン側で「m630.net」のネームサーバー変更とDNS設定を行います

ネームサーバー変更はヘルプページを参考にバリュードメインのネームサーバーに変更します。

www.value-domain.com

そして「m630.net」のDNSも設定します。設定内容は、こちらのブログ記事を参考にしました。

www.works4life.jp

wwwありをはてなブログで公開、wwwなしをXREAで公開するような設定です。

XREAで元URLを公開する理由は、元URLから新URLへのリダイレクトを行うためです。

SSLの設定

はてなブログはデフォルトでSSLに対応しています。SSL証明書は「Let's Encrypt」により発行されています。

運用していたエックスサーバーも、無料SSLは「Let's Encrypt」なので、エックスサーバーの管理画面でSSLの設定を削除しておきます。

リダイレクトに使うXREA側では、別途、SSLの設定を追加しておきます。

XREA側のSSL設定が抜けるとリダイレクト(後述)時に警告画面が出るので注意が必要です。

「Let's Encrypt」の仕組みなどはこちらのサイトをご覧下さい。非公式ですが参考になりましたよ。

free-ssl.jp

ドメインの設定反映には24時間くらいかかる

ヘルプページにも書いてあるんですが、DNS設定の反映には24時間近くかかる場合があるようです。

実際、私がそうでした。

待っている間、いろいろ設定を確認したくなると思いますが、変更を加えず待った方が良いです。

リダイレクトの設定

ドメインの設定が反映されたら、最後にリダイレクトです。

.htaccessのコード内容

以下のコードを書いた.htaccessを先に設定したXREAにアップロードします。

.htaccessの改行コードはLF、文字コードはUTF-8にして下さい。

(※記事用に一部編集しています)

RewriteEngine Off
RewriteEngine On

RewriteCond %{REQUEST_URI} !(^/archives/category/)
RewriteCond %{REQUEST_URI} !(^/kanrinin)

RewriteCond %{HTTP_HOST} ^(m630\.net)$ [NC]
RewriteRule ^(.*)$ https://www.m630.net/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.m630.net/$1 [R=301,L]

Redirect permanent /archives/category/company/company https://www.m630.net/archive/category/会社経営
Redirect permanent /kanrinin https://www.m630.net/about

コードについて補足します。

RewriteCond %{REQUEST_URI} !(^/archives/category/)
RewriteCond %{REQUEST_URI} !(^/kanrinin)

これは、カテゴリページと固定ページのリダイレクトを除外する記述です。

元の環境でのカテゴリページ、固定ページのURLは以下のような構成でした。

カテゴリページのURL
https://m630.net/archive/category/company

全てのカテゴリページのURLに/archive/category/がディレクトリ名が含まれるので、その配下を除外するという意味で

RewriteCond %{REQUEST_URI} !(^/archives/category/)

という記述によってリダイレクトを一旦除外。

固定ページのURL
https://m630.net/kanrinin

Wordpressの固定ページはトップURLの後に固定ページのIDか名前が続くので上記の場合なら

RewriteCond %{REQUEST_URI} !(^/kanrinin)

のように書くことでリダイレクトを一旦除外。リダイレクトしたい固定ページが複数ある場合は、その数だけ除外する必要があるかと思います。

RewriteCond %{HTTP_HOST} ^(m630\.net)$ [NC]
RewriteRule ^(.*)$ https://www.m630.net/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.m630.net/$1 [R=301,L]

この記述はwwwありなしの統一、httpsへの転送です。

この記述のみだとカテゴリページや固定ページも自動で転送され、はてなの404ページになってしまうので、先に書いたようにリダイレクトを一旦除外する必要があります。

 

はてなブログのカテゴリページのURLは、/archive/category/が含まれた構成になっています。そしてカテゴリ名は日本語です。

こんな感じ
https://www.m630.net/archive/category/WEB関連

カテゴリ名は英数字でも設定できますが、私の場合はインポートした時点でカテゴリ名のURLに日本語が含まれる形式になっていました。

Wordpressの固定ページですが、はてなブログに固定ページという機能はありません。

記事を投稿し、そのURLに個別にリダイレクトするなどして対応するしかないかと思われます。

 

以下がカテゴリページ、固定ページを個別にリダイレクトするコードです。

Redirect permanent /archives/category/company/company https://www.m630.net/archive/category/会社経営
Redirect permanent /kanrinin https://www.m630.net/about

Wordpressで運用していた記事のURLに日本語が含まれる場合は、エンコードせず日本語をそのまま書いて下さい。

移転先のはてなブログのURLに日本語が含まれる場合もエンコードせずにそのまま.htaccessに書いて下さい。

固定ページについては、私の場合は運営者情報のページしか無かったので、はてなブログのaboutページにリダイレクトしています。

リダイレクトの確認

リダイレクトは301のステータスでできているか確認します。

使うウェブサービスはこれ

neoinspire.net

フォームに元URLを入力して、ステータスコードが301で転送され、200で表示となっていれば正常にリダイレクトされています。

公開設定の変更

リダイレクトの設定が完了したら、はてなブログのダッシュボードで公開設定を「すべての人に公開」に変更して下さい。

これを忘れるとインデックスされないので注意です。

はてなブログ内の設定

サーチコンソールやアナリティクス、Googleタグマネージャーなどの設定を追加しました。

この辺の設定は、元環境によって必要・不必要が分かれるかと思います。

 

以上が、Wordpressからはてなブログへの移行作業でした。

移行作業も無事に済んだので、Proの契約コースを1年に変更しました。

はてなブログへ移行しようと思った理由

自分のブログの内容が、Wordpressを使うほどの内容じゃないなって思ったのが一番大きな理由です。

パーソナルな内容も多いので、無料ブログレベルの機能で十分だよな、と。

WEB系の記事も多いので、はてなと相性がいいかもしれないし、アクセスがちょっと増えたらいいなって下心もあります。

今回、超久しぶりに長めの記事を書きましたが、使いやすいですね。はてなブログ。

いろいろ弄ってみたいと思います。