{"client_id":"demo","slug":"content-migration-2026","title":"記事移行のやり方｜二重投稿を作らずに既存記事を持ち込む","excerpt":"新しい基盤を入れるとき、いちばん時間が溶けるのが記事移行です。機械的に流し込むと同じ記事が2か所に出ます。元URLを正規URLにする、公開済みとして記録する、HTMLを痩せさせない、上書きしない。移行の手順をまとめます。","tags":["SEO","記事移行","重複コンテンツ","canonical"],"category":"SEO運用","cta":{"line_url":"https://aisnsiodev-seobuilder.hf.space/contact","offer":"記事移行の下見を無料で行います","label":"記事移行の相談をする","positions":["middle","bottom"],"lead":"**記事移行の下見を無料で行います**　いまのサイトのURLを教えていただければ、何本が取り込め、何本に手当てが要るかをお返しします。"},"social":{"linkedin":"記事移行でいちばん怖いのは二重投稿です。\n\n移行した記事を「まだ公開していないもの」として取り込むと、次の配信でその記事が自社サイトへもう一度投稿されます。\n\n取り込みの時点で2つ:\n・元のURLを正規URLとして持たせる\n・その配信先へは既に出したものとして記録する\n\nそしてHTML→Markdownでは、扱えないタグは中身を残す。タグごと捨てると本文が痩せ、診断が全記事に誤警告を出します。","x":"記事移行で二重投稿を防ぐには、取り込みの時点で「元URLを正規URLにする」「その配信先へは出したものとして記録する」の2つが要ります。\n\nどちらか片方だと、次の配信で同じ記事がもう一度出ます。"},"publish_at":"2026-09-05T10:00:00+09:00","draft":false,"fallback":"teaser","meta":{"keyword":"記事移行 やり方","intent":"howto","meta_description":"記事移行のやり方を、二重投稿を作らない手順として解説します。元URLを正規URLにする、公開済みとして記録する、HTMLを痩せさせない、既存slugを上書きしない、移行後に棚卸しをかける。"},"body_markdown":"**記事移行とは、既存サイトの記事を別の基盤へ持ち込む作業のことです。**\n\n新しい配信基盤を入れるとき、いちばん時間が溶けるのはここです。200本を手で貼り直すことはできず、かといって機械的に流し込むと、同じ記事が2か所に出る事故が起きます。\n\n## 記事移行のやり方でいちばん怖いこと\n\n二重投稿です。\n\n移行した記事を「まだ公開していないもの」として取り込むと、次の配信でその記事が自社サイトへもう一度投稿されます。同じ内容のページが2つのURLで並び、検索エンジンはどちらを出すか決めきれなくなります。\n\nこれを避けるには、取り込みの時点で2つのことをします。\n\n1. **元のURLを正規URLとして持たせる。** その記事の原本はそこにある、と宣言します\n2. **その配信先へは既に出したものとして記録する。** 次の配信で対象から外れます\n\nこの2つが揃っていないと、[canonical の設定](/blog/canonical-syndication-2026)をどれだけ丁寧にやっても、根本の重複は消えません。\n\n## HTMLをMarkdownに落とすときの落とし穴\n\n既存サイトの本文はHTMLです。Markdownに変換するとき、扱えないタグを見つけたら**タグだけを外して中身は残します。**\n\nタグごと中身を捨てると、本文が痩せます。文字数が減り、見出しの数が変わり、そのまま診断にかけると「本文が短すぎる」「見出しが足りない」と誤警告します。移行のたびに全記事へ誤った指摘が出ると、診断そのものが信用されなくなります。\n\n一方で、script と style は中身ごと捨てます。本文ではないものが文字数に混ざるほうが害があります。\n\n## URLからslugを作る\n\n移行元のURLがそのままslugになれば、いちばん分かりやすい形です。\n\n`/blog/ai-automation/` なら `ai-automation` を使います。ただし `?p=123` のようなクエリ文字列だけのURLでは、パスから取り出せません。その場合は、URLから決まる短い印を付けて作ります。同じURLからは同じslugが出るので、2回取り込んでも別々の記事にはなりません。\n\n## 既にあるものは上書きしない\n\n記事移行は、足すだけの操作にします。\n\n同じslugの記事がすでにある場合、飛ばします。上書きにすると、移行を2回走らせただけで、こちらで直した内容が元に戻ります。何が入って何が飛ばされたかは、実行の前に全部見せます。\n\n## 中身の無い記事は入れない\n\nタイトルか本文が空のものは、取り込みません。\n\n変換に失敗した記事を「とりあえず入れて後で直す」と、空のページがサイトに増えます。診断も棚卸しも狂い、検索エンジンには薄いページとして見えます。飛ばして理由を出すほうが、後の手間が少なくなります。\n\n## 記事移行のやり方の締め — 移行してから最初にやること\n\n取り込みが終わったら、[棚卸し](/console/inventory)を1回かけます。\n\n移行した記事の中には、何年も前のもの、内容が重なっているもの、そもそも流入が無かったものが混ざっています。全部を新しい基盤に載せる必要はありません。移行直後は、どれを残すかを決める最初の機会になります。\n\n内部リンクも張り直します。移行元でのリンクは移行先のURLを指していないことが多く、放っておくと[孤立ページ](/blog/internal-linking-2026)が大量に生まれます。\n\n## この基盤での扱い\n\nSEOBuilder では[取り込みの画面](/console/import)が4つの経路に対応しています。WordPress の REST API（外部のプログラムから記事を取り出すための窓口）、RSS / Atom、記事JSONの配列、そしてフロントマター付きMarkdown です。\n\n既定は下見です。何が入り、何が飛ばされるかを先に全部見せます。取り込み元に届かないときは0件ではなく、理由を返します。接続できなかったのか、REST API が無効なのか、記事が1件も無かったのか。この3つは、次にやるべきことがそれぞれ違うためです。\n\n用語の定義は[用語集](/glossary/duplicate-content)にまとめています。\n\n## 参考情報\n\n- サイト移転と重複ページの扱いについては Google の解説が一次情報です（<https://developers.google.com/search/docs/crawling-indexing/site-move-with-url-changes>）\n- 本文中の扱いは SEOBuilder の既定の動きで、外部の調査結果ではありません\n"}