はてなブログ開発ブログ

はてなブログからの公式のお知らせを発信します。

独自ドメインを利用したブログを他のサービスからはてなブログへ移転する際に、記事のURLを引き継げるようにしました(はてなブログPro)

はてなブログでは、記事を配信するディレクトリをカスタマイズできる機能を、有料プラン「はてなブログPro」ユーザー向けにリリースしました。はてなブログの記事URL(例えばexample.hatenablog.com/entry/2016/09/01/000000のうち、ドメイン名に続くentryの部分を変更できます。

これにより、独自ドメインを利用したブログを他のサービスからはてなブログに移転する際に、元の記事URLを引き継ぐことができるようになりました。それまでのソーシャルシェアやWeb検索、はてなブックマークなどのリンクを維持したまま、はてなブログを利用できます。

※当機能は、独自ドメインのブログを新規にはてなブログへ移転することを想定したものです。また、移転元のURLの形式等によっては、引き継げないこともあります。以下の説明や注意点をお読みのうえでご利用ください。

はてなブログでは、さまざまなサービスから引っ越しやすく使いやすいブログを目指して、今後も改善を進めてまいります。

記事を配信するディレクトリを変更するには

はてなブログの管理画面で、左側のメニューバーから「インポート」を選び、他のサービスやソフトウェアからの移転を開始します。

ブログデータのインポートが完了すると、「URLの引き継ぎ」が案内されます。

URLの引き継ぎ

URLの引き継ぎ

記事を配信するディレクトリをここ」のリンクをクリックすると、新設した「記事のディレクトリ」ページに移動します。ここで、記事を配信するディレクトリをデフォルトのentryから変更できます。移転元のブログにディレクトリ部分がない場合には、ディレクトリを空白にも設定できます。

記事のディレクトリ

記事のディレクトリ

「初期状態に戻す」ボタンを押すと、デフォルトのentryに戻ります。

※ディレクトリとして、はてなブログで使用しているaboutarchiveなどを設定することはできません。

ディレクトリを変更する際の注意点

記事を配信するディレクトリは、新規にインポートした記事だけでなく、ブログ内のすべての記事に影響します。ディレクトリを変更した以降に投稿する記事はもとより、既存の記事のパーマネントリンクも変更されます。

すでに運用しているブログでディレクトリを変更すると(独自ドメインであるかどうかを問わず)、はてなブックマークやはてなスター、ソーシャルシェアなどは移行されません。ただし、以前のURLへのアクセスは、新しいURLにリダイレクトします。変更していたディレクトリを元に戻した場合も同様です。

独自ドメインの記事URLを引き継ぐ仕組み

ブログの記事URLは、一般的に次のような形式をしています。

http://blog.example.com/article/20160801

blog.example.comが、ブログのドメイン名です。記事のパスarticle/20160801のうち、articleが記事を配信するディレクトリで、20160801が記事名です。ブログの設定やサービスによっては、ディレクトリ部分がないこともあります。

このブログから記事をエクスポートし、はてなブログにインポートすると、次のようなURLになります(下記の「URLを引き継いでインポートするコツ」も参照してください)

http://example.hatenablog.com/entry/20160801

はてなブログProに加入し、移転元と同じ独自ドメインを適用すると次のようなURLになります。

http://blog.example.com/entry/20160801

今回の機能によって、記事を配信するディレクトリをentryから移転元と同じarticleに変更することで、記事URLをそのまま引き継ぐことができます。

URLを引き継いでインポートするコツ

記事URLを引き継ぐ仕組みをまとめると次の表のようになります。

URLの部分 引き継ぐ仕組み
ブログのドメイン名 独自ドメインを利用する(はてなブログPro)
記事を配信するディレクトリ 今回の機能により同一に設定する(はてなブログPro)
記事名 ブログデータに指定された値がインポートされる

インポートした際の記事名については、移転元からエクスポートしたブログデータで以下のように指定された値になります。

ブログデータ 影響する値
MovableType形式 BASENAMEフィールドの値
WordPress形式 link要素の値

記事名がうまく引き継がれない場合には、ブログデータのこれらの値を見直してみてください。

※記事名として?p=40のようなパラメーターをそのままインポートできないため、この形式のURLを引き継ぐことはできません。