前回の記事でははてなブログからエクスポートした記事データの修正を途中まで行いました。
今回はこの続きからになります。
前回までのおさらい
修正項目
- hタグの修正
- 目次の削除
- 画像データのダウンロード・・・前回の記事はここまで
- 記事URLの変更・・・今回はここから
最後の記事URLの変更について説明を行います。
記事URLの変更
はてなブログで記事URLフォーマットが「標準」の場合は記事URL変更が必要
はてなブログで記事URLのフォーマットを「標準」にしていると、必ず記事URL(パーマリンク)を変更する必要があります。記事URL(パーマリンク)を変えずにWordPressに記事データをインポートすると記事が表示されません。なぜ変更が必要なのか、については他の方がブログに書かれているので参照ください。
https://tokushitai.com/entry/wordpress-trouble-cause-hatenablog/
記事URL変更に伴い対応しなければいけないこと
対応しなければいけないことは以下の4つですが、この記事では2,3だけを説明します。
- 新規作成記事のパーマリンク設定変更・・・別途説明(WordPressの設定で変更)
- 過去記事のURL(パーマリンク)変更・・・今回記事で説明
- リダイレクト設定・・・今回記事で説明(準備段階だけ。設定はWordPressで行う)
- 内部リンクのURL変更・・・別途説明(WordPressに記事データインポート後に修正)
過去記事のURL(パーマリンク)変更方法
はてなブログで記事URLのフォーマットを「標準」にしていると、記事のURLを指定していないときのURLフォーマット(パーマリンク)は以下の通りです。
ドメイン名/entry/YYYY/MM/DD/hhmmss
そして、はてなブログからエクスポートした記事データの中にはURL(パーマリンク)を示す部分があります。テキストファイルを開いて見てみると、下画像のBASENAMEの部分です。BASENAMEの部分にentry/以下のYYYY/MM/DD/hhmmss(年/月/日/時分秒の意味)というURLの末尾が記載されています。

このBASENAME部を記事毎に修正後のURL(パーマリンク)末尾に置換する作業を行います。
一つずつ手作業で変更してもよいのですが、記事数だけ変更が必要になるので膨大な作業になってしまいます。
そこで記事毎に変更前後のURL一覧を作成し、フリーソフトを使って記事データ(.txt)内で一括置換します。このURL一覧は後述するリダイレクト設定にも使うので作っておいた方が良いです。
手順は以下のとおりです。順番に解説していきます。
- 記事URL一覧の取得
- 新しいURL(パーマリンク構造)を決める
- 記事URL一覧に変更後のURLを追加する
- 記事データ(.txt)内のBASENAME部を一括置換する
記事URL一覧の取得
はてなブログから記事URL一覧を取得する方法はこちらの記事に詳細書かれています。
https://tokushitai.com/entry/acquisition-url-list-hatena/
この記事通りに作業すると下画像のように記事タイトル毎にURLの一覧表が取得できます。ちなみに、僕はグーグルのスプレッドシートで管理しました。表計算ソフトなら何でも良いです。

新しいパーマリンク構造を決める
並行して新しいパーマリンクを決める必要があります。ここで決めたパーマリンクに基づいて、過去記事のURL変更とWordPressへの設定を行うことになります。
僕はカスタム構造で、下の設定に決めました。
https://ドメイン名/%postname%/
この%postname%は記事毎に任意の文字列に設定できる設定です。
ちなみに、決めたパーマリンク設定は下画像のようにWordPressをサーバーにインストールした直後に設定することになります。

記事URL一覧に変更後のURLを追加する
パーマリンク構造が決まったら構造に沿って記事毎に新しいURLを決め、下画像のようにURL変更前後の一覧表を作ります。(後でリダイレクト設定でも使います)
後でフリーソフトで一括置換する時に使うので、検索文字列、置換文字列も列を追加して記載しておきましょう。

一応数式を使った作り方ですが、3行目のセルを例にとると、
・検索文字列:下のように数式を入れます。このように入力すれば”YYYY/MM/DD/hhmmss”部分だけが抽出できます。D3セルははてなブログの時のURLを指定しています。
=RIGHT(D3,17)
・置換文字列:URL末尾は任意の文字列を入力します。日本語は使わず、英数字でシンプルで意味がわかりやすい文字列が良いと思います。僕は1記事ずつ考えて決めたので少し時間がかかりました。
・引っ越し後のURL:下のように数式を入れます。これで変更後のURLができます。僕の場合は=”https://www.ebony-ivory.tokyo/”&F3 のように入力しています。
=”https://www.ドメイン名/”&F3
記事データ(.txt)内のBASENAME部を一括置換する
一覧表ができたら記事データ(.txt)内の文字列を置換していきます。テキストエディタを使って一つずつ置換しても良いのですが、記事数分だけ置換することになるのでとても大変です。僕はフリーソフトで一括変換しました。フリーソフトを使った置換方法は別途記事にまとめておきます。
これで「BASENAME:YYYY/MM/DD/hhmmss」だった部分が「BASENAME:任意の文字列」に置換されました。

今回はここまでです。これでWordPressにインポートするための記事データが完成しました。
次からは実際にWordPressに記事データをインポートする作業に移ります。