記事移行のやり方|二重投稿を作らずに既存記事を持ち込む

新しい基盤を入れるとき、いちばん時間が溶けるのが記事移行です。機械的に流し込むと同じ記事が2か所に出ます。元URLを正規URLにする、公開済みとして記録する、HTMLを痩せさせない、上書きしない。移行の手順をまとめます。

記事移行とは、既存サイトの記事を別の基盤へ持ち込む作業のことです。

新しい配信基盤を入れるとき、いちばん時間が溶けるのはここです。200本を手で貼り直すことはできず、かといって機械的に流し込むと、同じ記事が2か所に出る事故が起きます。

記事移行のやり方でいちばん怖いこと

二重投稿です。

移行した記事を「まだ公開していないもの」として取り込むと、次の配信でその記事が自社サイトへもう一度投稿されます。同じ内容のページが2つのURLで並び、検索エンジンはどちらを出すか決めきれなくなります。

これを避けるには、取り込みの時点で2つのことをします。

  1. 元のURLを正規URLとして持たせる。 その記事の原本はそこにある、と宣言します
  2. その配信先へは既に出したものとして記録する。 次の配信で対象から外れます

この2つが揃っていないと、canonical の設定をどれだけ丁寧にやっても、根本の重複は消えません。

HTMLをMarkdownに落とすときの落とし穴

既存サイトの本文はHTMLです。Markdownに変換するとき、扱えないタグを見つけたらタグだけを外して中身は残します。

タグごと中身を捨てると、本文が痩せます。文字数が減り、見出しの数が変わり、そのまま診断にかけると「本文が短すぎる」「見出しが足りない」と誤警告します。移行のたびに全記事へ誤った指摘が出ると、診断そのものが信用されなくなります。

一方で、script と style は中身ごと捨てます。本文ではないものが文字数に混ざるほうが害があります。

URLからslugを作る

移行元のURLがそのままslugになれば、いちばん分かりやすい形です。

/blog/ai-automation/ なら ai-automation を使います。ただし ?p=123 のようなクエリ文字列だけのURLでは、パスから取り出せません。その場合は、URLから決まる短い印を付けて作ります。同じURLからは同じslugが出るので、2回取り込んでも別々の記事にはなりません。

既にあるものは上書きしない

記事移行は、足すだけの操作にします。

同じslugの記事がすでにある場合、飛ばします。上書きにすると、移行を2回走らせただけで、こちらで直した内容が元に戻ります。何が入って何が飛ばされたかは、実行の前に全部見せます。

記事移行の下見を無料で行います いまのサイトのURLを教えていただければ、何本が取り込め、何本に手当てが要るかをお返しします。

記事移行の相談をする

中身の無い記事は入れない

タイトルか本文が空のものは、取り込みません。

変換に失敗した記事を「とりあえず入れて後で直す」と、空のページがサイトに増えます。診断も棚卸しも狂い、検索エンジンには薄いページとして見えます。飛ばして理由を出すほうが、後の手間が少なくなります。

記事移行のやり方の締め — 移行してから最初にやること

取り込みが終わったら、棚卸しを1回かけます。

移行した記事の中には、何年も前のもの、内容が重なっているもの、そもそも流入が無かったものが混ざっています。全部を新しい基盤に載せる必要はありません。移行直後は、どれを残すかを決める最初の機会になります。

内部リンクも張り直します。移行元でのリンクは移行先のURLを指していないことが多く、放っておくと孤立ページが大量に生まれます。

この基盤での扱い

SEOBuilder では取り込みの画面が4つの経路に対応しています。WordPress の REST API(外部のプログラムから記事を取り出すための窓口)、RSS / Atom、記事JSONの配列、そしてフロントマター付きMarkdown です。

既定は下見です。何が入り、何が飛ばされるかを先に全部見せます。取り込み元に届かないときは0件ではなく、理由を返します。接続できなかったのか、REST API が無効なのか、記事が1件も無かったのか。この3つは、次にやるべきことがそれぞれ違うためです。

用語の定義は用語集にまとめています。

記事移行の下見を無料で行います いまのサイトのURLを教えていただければ、何本が取り込め、何本に手当てが要るかをお返しします。

記事移行の相談をする

参考情報

SEO記事移行重複コンテンツcanonical

この記事はどう配信されたか

このページは自社ドメインにあたる primary の公開面です。同じ記事JSONから、canonical対応媒体には全文+正規URL、 非対応媒体には別原稿または要約が配信されます。

配信設定を見る 記事JSON