WordPressのエクスポートXMLをMarkdownに変換する方法|記事を.mdにするには

WordPressのエクスポートXMLをMarkdownに変換する方法|記事を.mdにするには

この記事にはプロモーションが含まれています

WordPressから記事をまとめて取り出せた!……けど、XMLってどう扱えばいいの?

WordPressには、記事などのデータをまとめて取り出せるエクスポート機能があります。
管理画面の、

  • 「ツール」→「エクスポート」

からデータをダウンロードすると、WordPressで書き溜めてきた記事をXML形式のファイルとして保存できます。
WordPressでは、このエクスポート形式をWXR(WordPress eXtended RSS)と呼んでいます。

前の記事では、

  • WordPress → XMLでまとめて取り出す → Markdownへ変換する

という流れをご紹介しました。

WordPressの記事をMarkdownに変換する方法|過去記事をまとめて再利用するには

ただ、このXMLファイル。
実際に開いてみると、記事本文だけがキレイに並んでいるわけではありません😅

xmlファイルは読みにくい

記事らしき文章と一緒に、

  • タイトル
  • URL
  • 投稿日
  • カテゴリー
  • タグ
  • <○○>のような記述
  • WordPressで利用するさまざまな情報

…などが、ひとつのファイルの中に入っています。
つまり、

  • 記事はちゃんと取り出せているけれど、そのまま文章ファイルとして使うには扱いにくい状態 😥

なのです。

せっかく頑張ってデータを取り出したのに、どうしたら良いの…😭

そこで今回は、このWordPressのエクスポートXMLから、

  • 記事の情報を取り出して、Markdownファイルとして使える形にするにはどうしたらいいのか?

を詳しくご紹介します。

WordPressからエクスポートしたXMLには何が入っているの?

まずは、このXMLファイルが何なのか?から確認していきましょう。

英語のWordPress公式ページでは、エクスポートファイルについて次のように案内されています(日本語要約してみました)。

WordPress公式では、エクスポートされるWXRファイルには、投稿・固定ページ・コメント・カスタムフィールド・カテゴリー・タグなどが含まれると案内されています。

出典:Learn WordPress「Tools: Import and Export」

……と書くと、一気に難しく感じてしまいますが😅
ここでは、

  • WordPressの記事本文だけではなく、記事に関係するいろいろな情報をまとめて持っているファイル

くらいに考えておけば大丈夫です 👌
たとえば、ひとつのブログ記事の中にも、

  • 記事タイトル
  • 本文
  • 公開日
  • スラッグ
  • カテゴリー
  • タグ
  • 投稿タイプ

など、本文以外の情報があります。
WordPressは、こういった情報も使いながら記事を管理しているんですね 😉
XMLには、それらの情報がまとめて入っている…というわけです。

XMLは「記事本文だけを保存したファイル」ではない

ここが、Markdownへ変換するときのポイントです。
私たちが欲しいのは、

  • 記事として読める文章

だったとしても、WordPressのXMLは文章だけを保存するためのファイルではありません
WordPress側で記事データを扱うための情報も一緒に入っています。

xmlを読みやすく

そのため、

  • 「本文だけ読みたい」
  • 「記事を文章ファイルとして保存したい」

という場合は、XMLの中から必要な情報を取り出して整理する必要があります。

XMLファイルの「.xml」を「.md」に変えるだけで良いんじゃないの?

Markdownファイルは通常、

  • 記事名.md

のようなファイル名になっています。…ということは、WordPressからダウンロードした、

  • wordpress.xml

というファイルを、

  • wordpress.md

に変更すれば、Markdownになるのでしょうか?

残念ながら、ファイル名を変更するだけではMarkdownにはなりません。

ファイル名の変更だけだったら、とっても簡単なのになぁ 😥

.xml.mdはファイル名の一部です。
名前だけを変更しても、ファイルの中に書かれている内容そのものは変わらないため、ファイル名を変更するだけではMarkdownにはならないのです 😭

  • 箱に貼ってある「XML」という名札を「Markdown」に付け替えても、中身までは変わらない

とも言い換えられるかな?と思います。

どうすれば、XMLファイルをMarkdownとして使える?

ここで必要になるのが、XMLの中から記事本文を取り出して、Markdownの形に整える作業です。

「え、そんなの難しそう……」と思うかもしれませんが、やることの流れはシンプルです。
なにかしらの方法で、

どうやってmarkdownにしようかな
  1. XMLファイルを読み込む
  2. 記事のデータを探す
  3. タイトルや本文を取り出す
  4. 本文内のHTMLをMarkdownへ変換する
  5. 必要な記事情報を整理する
  6. .mdファイルとして保存する

という作業を行います。

もちろん、これを全部自分でやろうとすると大変です 😱
なのでまずは

  • 「XMLの中から記事を取り出して、読みやすい形に整える作業なんだな」

という感じで読んでもらえればOKです 👌

XMLファイルをMarkdownファイルにする手順

ここからは、XMLをMarkdownとして使える形に整えるまでの流れを、もう少し詳しく見ていきます。

1. XMLの中から記事を見つける

最初に、XMLの中から変換したい記事を探します。

WordPressのXMLには、投稿以外のデータも含まれる場合があります。
WordPressのエクスポート機能自体も、投稿だけでなく固定ページなど複数のコンテンツを扱えます。

そのため、

  • 「このデータは記事として変換するものなのか?」

を確認して、対象となるデータを取り出します

どの投稿タイプまで変換するのか?は、利用するプログラムやツールによって違います。

2. タイトルや本文を取り出す

次に、ひとつひとつの記事から必要な情報を取り出します。
たとえば、

  • 記事タイトル
  • 本文
  • 投稿日
  • スラッグ
  • カテゴリー
  • タグ

…などです。
XMLの中にはこれらが混ざって入っているので、

  • Markdownの記事として残したい情報を選んで整理する

必要があります。

3. WordPressの記事本文にあるHTMLをMarkdownへ変換する

WordPressの記事本文には、文章の構造を表すHTMLが使われています。
たとえば、見出しなら、


<h2>大きな見出し</h2>

という形になっています。Markdownでは同じ見出しを、


## 大きな見出し

…のように書きます。
リンクも同じように、HTMLでは


<a href="https://example.com">リンク</a>

ですが、Markdownなら、


[リンク](https://example.com)

…と書きます。
つまり、WordPress XMLをMarkdownに変更する際には、XMLから記事本文を取り出したあと、

  • 本文内のHTMLを読み取り、Markdownの書き方へ置き換える

という処理も必要になります。

4. WordPressの管理に使う情報などを整理する

XMLには、文章ファイルとして使うときには、そのまま本文へ持っていく必要のない情報も入っています。
そこで、

情報を片付け
  • 記事として利用するうえで必要な情報を残し、それ以外の管理用データなどを整理する

処理を行います。
ここで大事なのは、

  • XMLの文章を単純に削って短くしているわけではない

ということです。
記事本文やタイトルなど、あとから利用したい情報は残しつつ、Markdownの記事として扱いやすい形へ整理していきます。

タイトルや日付などを、本文とは分けて持たせる方法もある

Markdownでは、本文とは別に、

  • タイトル
  • 投稿日
  • スラッグ
  • カテゴリー
  • タグ

などの記事情報をファイルの先頭へ記録する方法もあります。
たとえば、


---
title: "記事タイトル"
date: "2026-08-19"
categories:
  - WordPress
  - Markdown
---

のような形です。
この部分はYAMLフロントマターなどと呼ばれます。

  • 本文とは別に「この記事のタイトルや日付はこれですよ」と記録しておける場所

くらいに考えておけば大丈夫です 👌

どの情報を残すのか、どんな形で出力するのかは、利用する変換方法やツールによって変わります。

5. 最後にMarkdownファイルとして保存する

ここまで処理して、ようやく.mdファイルとして保存できる形になります 😀
つまり、

  • WordPress XML → Markdown変換

というのは、XMLの記号を別の記号へ機械的に置き換えるだけではなくて

  1. XMLの中から記事を探して
  2. 必要な情報を取り出し
  3. 文章構造をMarkdownとして組み直す

という処理なんですね。

結構、手間がかかります 😅

XMLから取り出した記事をMarkdownにすると、文章構造を残しやすい

「Markdownにすると何が便利なの?」という話題は、前の記事で詳しくご紹介しました。

WordPressの記事をMarkdownに変換する方法|過去記事をまとめて再利用するには

なので、ここではXMLとの違いだけ簡単にご案内します 😉

まずは、Markdownではない形で保存する場合から考えてみます。
たとえば、

  1. XMLから記事本文の文字だけを抜き出して
  2. 普通のテキストファイルとして保存する

という場合です。でも、それでは、

文章構造をわかりやすく
  • どこがタイトル?
  • どこが見出し?
  • どこが箇条書き?
  • どの文字にリンクが付いていた?

といった文章の構造が分かりにくくなってしまいます。
Markdownなら、


# 記事タイトル

## 大きな見出し

本文です。

### 小さな見出し

- 項目1
- 項目2

のように、簡単な記号を使って文章構造を残せます
そのため、

  • 「XMLから本文だけを抜き出す」のではなく、記事らしい形をできるだけ残して保存する

方法としてMarkdownが使いやすい、と言えるのです 😀

Markdownへ変換すると、元の記事構造もキレイに直るの?

ここは、変換するときに知っておきたいポイントです。
WordPressの記事で、

  • 見出しとして正しくH2が設定されている部分

なら、変換時にその情報を読み取って、


## 見出し

のようにできます。ですが、たとえば、

  • 見出しのように見えるけれど、実際には文字を太く・大きくしただけ

だった場合、通常のMarkdown変換は、そこまで文章の意味を考えて修正するものではありません
たとえば、

見出しの設定は?
  • 見出しにしたつもりだけれど、実際には普通の段落+太字
  • H2・H3の使い方が元記事で崩れている
  • 箇条書きのように見えるけれど、普通の文章として入力している
  • 特殊なHTMLを使っている

といった場合です。
Markdownへの変換は基本的に、

  • 元の記事に設定されているHTML構造を、Markdownへ置き換える作業

なので、

  • Markdown変換と、記事構成そのものを判断して直す作業は別

と考えておくと分かりやすいと思います。

なので、変換方法によって多少の違いはありますが、基本的には元の記事にあるHTML構造をもとにMarkdownへ置き換える…と考えると良いかと思います 😉

WordPress XMLをMarkdownへ変換する方法

では実際に、この変換(WordPress XML → Markdown)はどうやって行うのでしょう?
大きく分けると、

  1. 自分で変換の仕組みを作る
  2. WordPress XMLに対応した変換ツールを使う

という方法があります。

方法1:自分で変換プログラムを作る

自分でどうにかしたい!場合は、自分で仕組みを用意して変換する方法もあります。

とはいえ、普段からそういった作業に慣れていない場合は、難しいです 😅

自分で作るメリットは、

  • 自分のWordPressに合わせて細かく調整できること。

たとえば、

  • この情報は必ず残したい
  • この独自HTMLは、この形に変換したい
  • この投稿タイプも対象にしたい

といった独自ルールを作れます…が、

「記事をMarkdownにしたいだけなんだけどな…」

という場合は、変換の仕組みそのものを自力で作るのはとてもハードルが高く・方向性が全く違うものになってしまいます😅

方法2:WordPress XML対応の変換ツールを使う

そこでもうひとつの方法が、WordPress XMLに対応した変換ツールを使う方法です。
自分でXMLを解析する仕組みを用意するのは大変なので、

  • XMLを読み込む
  • 記事を取り出す
  • HTMLをMarkdownへ変換する
  • 記事情報を整理する
  • Markdownとして保存する

といった処理をツールに任せます。

そうだ!この変換作業をまとめてできるツールがあったら便利かも。
面白そうだし、作ってみよう!

…というわけで、WordPress XML用のツールを作ってみました 😀

WordPress XMLをMarkdownへ変換する「mdShift」

mdShift
mdShift

mdShift(エムディーシフト)は、WordPressからエクスポートしたXMLを読み込んで、記事をMarkdownへ変換するためのWebツールです。

WordPress XMLをMarkdownへ変換する「mdShift」

mdShiftを作った理由

mdShiftを作ったきっかけは、WordPressの記事をまとめてMarkdownにしたいと思ったことでした。
WordPressに何十・何百記事とある場合、1記事ずつコピーしてMarkdownへ変換するのは、さすがに大変です😅

XMLでまとめて取り出せても、そのままでは記事として使いやすい形にはなっていません。

せっかく記事をまとめて取り出せたのに、ここからまた手作業するのはむちゃくちゃ、面倒…。

そんな手間を減らしたくて作ったのが、mdShiftです。

いろんなXMLをMarkdownへ変換する汎用ツールではありませんが、かなりMarkdown化の手間が省けるWebツールになったんじゃないかな?と思ってます 👍

mdShiftはWordPressのエクスポートXMLに特化したツールです
公開済みの通常投稿(post)が変換対象で、固定ページ・カスタム投稿タイプ・下書き・予約投稿などは対象外となっています。

mdShiftでは、どんな変換処理をしているの?

mdShiftで変換

mdShiftでは、

  1. WordPress XMLを読み込み
  2. 対象となる記事を取り出して
  3. 本文に含まれるHTMLをMarkdownへ変換

します。
たとえば、見出し・リスト・リンク・画像など、記事本文の中にある文章構造をMarkdownとして扱いやすい形に整えます。

ただし、mdShiftはCSSやレイアウト情報・WordPress独自の機能まで、そのまま再現するツールではありません 🙇

そのため、まずはお試し(無料)の変換結果を見て、

  • 「自分の記事だと、どんなMarkdownになるのかな?」

と確認してみるのがおすすめです。

Markdownへ変換したあとに確認したい箇所は?

WordPress XMLからMarkdownへ変換できたら、それで作業終了!

…と言いたいところですが、変換後の確認はしておきましょう 😉
WordPressの記事には、サイトによっていろいろな記述が使われています。

ショートコードや特殊なHTML

確認しておきたいのは、たとえば

  • ショートコード
  • プラグイン独自の記述
  • 特殊なHTML
  • 埋め込みコンテンツ
  • WordPress独自の記述

などです。
Markdownには、WordPressの機能をそのまま全部置き換えられる仕組みがあるわけではありません
なので、

  • Markdownへ変換したら、元の記事を100%そのまま再現できるわけではありません

Markdownに変換できたら、

  • 見出しは意図した形になっている?
  • 箇条書きは残っている?
  • リンクは正しい?
  • 不要な記述がそのまま残っていない?
  • 必要な文章が抜けていない?

などを確認しておくと安心です 😀

画像は「Markdown本文」と「画像ファイル」を分けて考える

チェックする時に、少し分かりにくいのが画像の扱いです。
XMLの中に画像に関する情報が含まれていても、

  • XMLをMarkdownへ変換しただけで、WordPressにある画像ファイルそのものが全部パソコンへ保存されるとは限りません

Markdownでは画像を、


![](画像のURL)

…とこんなふうに、画像がある場所を参照する形で書くことができます。
現在のmdShiftでも画像ファイルそのものをダウンロードするのではなく、記事内の画像参照をMarkdownとして扱う仕様です。

そのため、もしもWordPressから別の環境へ完全に移行する場合にmdShiftを使うときは、

  • 記事本文をMarkdownへ変換する
  • 実際の画像ファイルをどこに保存しておくか?考える

という2点をあらかじめ考えておきましょう。

Markdownにした記事の使い道は、前の記事で詳しくご紹介しています

Markdownにした記事は、AIの記事作成用の参考資料や、過去記事の整理・保存、別のブログへ移すための素材としても使えます。

詳しい使い道は前の記事でご紹介しているので、今回は関連記事として案内しておきます😀

WordPressの記事をMarkdownに変換する方法|過去記事をまとめて再利用するには

まとめ:WordPress XMLから「記事として使いやすいデータ」を取り出す

WordPressのエクスポートXMLは、記事本文だけを保存したファイルではありません。
タイトルや投稿日、カテゴリー、タグなどの情報も含まれているため、名前を.mdに変えるだけではMarkdownにはなりません。

Markdownとして使うには、XMLの中から記事を取り出し、本文のHTMLをMarkdownへ変換して、あとから使いやすい形に整える必要があります。

自分で仕組みを作る方法もありますが、

「WordPressの記事をMarkdownにしたいだけで、XMLを解析するところから作るのは大変…」

という場合は、WordPress XMLに対応した変換ツールを使う方法もあります。

その選択肢のひとつとして作ったのが、mdShiftです。

WordPressから取り出したXMLを見て、「このファイル、どうやって記事として使えばいいんだろう?」となったときは、まずXMLの中から記事を取り出してMarkdownへ整える、という流れを思い出してもらえればと思います。

それでは!