SimpleScraperでStudioのCMS記事を抜き出すにはどうしますか?

結論

StudioにはCMS記事を一括で書き出す機能が用意されていません。そのため、外部ツールであるSimpleScraperを使い、公開されている記事一覧と詳細ページのURLを指定して、タイトルや本文のテキストをCSVやJSON形式で取り出す手順をとります。全記事を漏れなく集めるには、一覧ページの取得と個別記事の抽出を2段階に分けて実行するのが基本です。

データ・デザインの移行更新日

SimpleScraperでStudioのCMS記事を抜き出す手順は?

記事をよそへ移したくても、Studioの管理画面には書き出し用のボタンがありません。StudioはCMSデータの書き出しに対応していないためです。フォームの回答はCSVで落とせますが、記事とは別のデータです。

外部ツールを使って公開画面から記事を救い出す場合、Chrome拡張機能のSimpleScraperを活用する方法が役立ちます。ブラウザに対象の拡張機能を追加し、公開中のサイト上でタイトルや本文などの要素をマウスでクリックして指定すると、表示されているテキストをCSVやJSON形式で手元に保存できます。流れは次のとおりです。

  1. 拡張機能を入れ、ブログの一覧ページで記事へのリンクを選び、URLを集める設定を保存する
  2. 記事ページを1つ開き、タイトル・公開日・本文・カテゴリなど必要な項目を選んで、詳細用の設定を作る
  3. 詳細用の設定でBatch URLsタブを開き、Import from resultsで一覧の結果を読み込んで実行する
  4. 結果をCSVかJSONで書き出す

一覧ページが複数にまたがっている場合は、次へ進むボタンをクリックする設定か、画面を下へ送る無限スクロールの設定を指定します。ここで両方を同時に選ぶと正常に巡回できないため、サイトの表示形式に合わせてどちらか一方だけを指定してください。リンクがうまく検出されない場合は、Simplescraperの公式案内にもあるように、レシピを保存したうえでクラウド実行に切り替えると収集できるケースもあります。

ただし、画像のURLが取れても画像ファイルそのものは保存されません。Studioのページの作りによって取れる項目も変わるので、最初は数記事だけで試し、件数と本文の欠けを見てから全件を回しましょう。

Studioの全ページのURLはどうやって取り出しますか?

サイトの引っ越しを進める際、自社のStudioサイトに全部で何ページのURLが存在しているのか、どこから調べればよいのでしょうか。抜け漏れなくURLを洗い出すには、Studioが自動生成するXMLサイトマップを取り出すのが近道です。

プロジェクトの管理画面にある「設定」から「一般」項目へ進み、「サイトマップファイル」のスイッチを有効にしてサイトを公開すると、サイトのドメインの後ろに「/sitemap.xml」を付けたURLでサイトマップを開けるようになります。

Studioのサイトマップ機能では、ポップアップ表示のモーダルや検索除外(noindex)に指定したページを除く、すべての静的ページと動的なCMSページが含まれます。検索に出さない設定の記事がある場合は、その分だけ別に拾う必要がありますね。記事を公開したりページを更新したりするたびに自動で反映されるため、手作業で一覧を更新する手間はかかりません。もしサイトを非公開にしたままスイッチを入れた場合は、サイト全体を一般公開した段階でサイトマップのURLへアクセスできるようになります。

XMLのままでは扱いにくいので、表の形に直しましょう。Screaming Frog SEO Spiderなら「Mode > List」の「Upload」でサイトマップを読み込み、Exportボタンで書き出せます。Googleスプレッドシートを使うなら、IMPORTXML関数にサイトマップのURLとXPathを指定してURLを取り込む方法もあります。

集めたURLは、WordPressへ移したあとの転送設定にも使いますよ。古いURLごとに新しい行き先を決めて対応表を作っておくと、リダイレクトの設定漏れを防げます。

Studioにアップした画像・動画・PDFの元ファイルは取り出せますか?

記事の引っ越しで本文の書き出しがひと段落したあと、メディア一覧を開いて途方に暮れる場面があります。実際、Studioからファイルをまとめて受け取る方法は用意されていないと考えておくのが現実的でしょう。

画像の原本そのものは残っています。2025年5月以降の画像の扱いでは、アップロード時の自動圧縮とリサイズがなくなり、元の画質とサイズのまま保持されるようになりました。とはいえ、閲覧画面の大きさに応じて最適なサイズが自動配信される仕様に切り替わっています。

1枚ずつ確かめるなら、ChromeのデベロッパーツールでNetworkパネルを開きましょう。画像のリクエストを右クリックし、Copyから「Copy URL」を選ぶと、そのファイルのURLを控えられます。

PDFは、リンクとして設置していれば、閲覧者と同じようにリンク先から開いて保存できますね。動画は埋め込み方によって扱いが違います。どの種類のファイルでも、制作時の元データが社内のフォルダやデザイナーの手元に残っていないか、先に探すほうが早く済むことが多いです。

自社のStudioサイトをスクレイピングするのは規約上問題ありませんか?

自社で運営しているサイトのデータであっても、機械的なツールを使って情報を抜き出す行為は規約違反にあたらないのでしょうか。自社サイトなら自由に取ってよい、とはっきり書いた条文はありません。

Studioの利用規約の第20条では、ユーザーが作ったコンテンツとサイトの知的財産権はユーザーに帰属します。ただし、Studioのサービスに含まれるコンテンツ単体の部分は除かれます。自社で書いた記事の文章は自社のものですが、Studioが提供する素材まで自由に持ち出せるわけではありません。

気をつけたいのはサーバーへの負荷です。Studio利用規約の第21条は、本サービスやサーバーへの過度の負担と、通常意図しない効果を及ぼす外部ツールの利用を禁止しています。何百ページもの記事を一気に取りにいくと、この条文に触れるおそれがあります。

対策はシンプルで、リクエストの間隔を空けることです。SimpleScraperの技術解説でも、送信の頻度をあらかじめ抑え、待つよう求める応答が返ってきたら再試行を遅らせるやり方が紹介されています。

もうひとつ、記事の中に他社から借りた写真や引用がある場合は注意してください。StudioとSimpleScraperはどちらも、第三者の権利を侵害する使い方を禁止しています。

規約で判断がつかないときは、Studioと協議して解決すると第33条に書かれていますね。

抜き出した記事をWordPressに入れる時、Studioと同じ構造はどう作りますか?

StudioからCSV形式で記事を抜き出したものの、WordPressへ取り込もうとした段階でデータの当てはめ方に戸惑う声はよく聞かれます。StudioのCMSモデルに設定されていたカスタム項目やURLの形式が、WordPressの標準的な投稿画面と一致しないためです。

タイトルと本文は、WordPressの投稿の標準欄でそのまま受けられます。概要や著者名のようにStudioで独自に足した項目は、カスタムフィールドとして追加しましょう。Advanced Custom Fields(ACF)を使う場合は、投稿タイプを保存したあとにフィールドグループを作り、その投稿タイプに結びつけます。ACFだけで投稿タイプを作り、既存のカテゴリやタグを結びつけることもできます。

カテゴリーやタグなどの分類については、無理にカスタムフィールド化せず、WordPress標準のタクソノミー機能へ割り振るほうが管理しやすいでしょう。

Custom Post Type UIを使う方法もありますが、このプラグインが受け持つのは投稿タイプと分類の登録までです。つまり、プラグインで項目を登録しただけでは画面上の見た目まで再現されるわけではありません。抜き出したデータを流し込んだ後、WordPressのテーマファイル側で各項目の値を呼び出して表示させるテンプレートの作成が必要になります。

URLも合わせておきましょう。Studioの記事URLは動的ページのパスと各記事のスラッグで組み立てられており、スラッグは作成時に自動付与されたものを後から手動変更できる仕様になっています。だから、抜き出すときにスラッグも項目に含めておくと、WordPress側に同じ文字列を入れられますよ。URLを変える場合は、旧URLと新URLの対応表を作り、サーバーで旧URLから新URLへ転送する設定をします。

こんな聞き方も

  • SimpleScraperでStudioのCMS記事を抜き出す手順は?
  • SimpleScraperでStudio CMSの記事を抽出するには?
  • SimpleScraperでCMS記事を一覧ごと抽出するには?
  • Studioの公開サイトをスクレイピングするにはどんなツールがありますか?
  • 公開中のStudioサイトをスクレイピングして移行することはできますか?
  • Studioの公開サイトをスクレイピングしてCSVにする方法はありますか?
  • Studioのsitemap.xmlから全ページのURLを取り出すにはどうしますか?
  • Screaming FrogでStudioサイトの全URLを取得するにはどうしますか?
  • Studioにアップした画像の元ファイルは取り出せますか?
  • Studioにアップした動画やPDFも取り出せますか?
  • Studioで使ったアイコンやSVGを取り出すにはどうしますか?
  • StudioのファビコンやOGP画像を保存しておくにはどうしますか?
  • 自社のStudioサイトをスクレイピングするのは規約上問題ありませんか?
  • Custom Post Type UIとACFでStudioのCMSと同じ構造を作るにはどうしますか?
  • 画像のファイル名を一括でリネームするにはどうしますか?
  • 「GitHubでコードを納品」とはどういう意味ですか?

あわせて知りたい(関連する疑問)

QSimpleScraper以外にどんなツールがありますか?

SimpleScraperの操作がうまく合わなかった場合、Web上の記事や画像データを収集できるツールにはどのような選択肢があるのでしょうか。移行作業では、取得したい対象が記事のテキストなのか、サイト全体のファイル一式なのかによって選ぶべきソフトが変わってきます。

ツールできること向く場面
Screaming Frog SEO Spiderサイトを巡回し、見つけたURLを「Bulk Export」の「Links > All Inlinks」で書き出す記事URLの一覧づくり
HTTrackサイトをフォルダへ丸ごとコピーし、HTMLや画像を取得する移行前のバックアップ
GoogleスプレッドシートIMPORTXML関数でサイトマップからURLを取り込むソフトを入れずにURLだけ集めたい

Screaming Frogの書き出し結果には、画像やCSSなど記事以外へのリンクも含まれます。記事URLだけに絞る作業が別に必要です。

HTTrackは公開ページをオフラインで見るための保存ツールで、タイトルや本文を項目ごとに分けてくれるわけではありません。WordPressへ入れる記事データを作るなら、項目を選んで取り出せるSimpleScraperのほうが手間は少ないでしょう。

なお、SimpleScraperを引き続き使う場合でも、記事一覧の途中で選択が途切れてしまうときは「Include Similar」をクリックすると、類似した要素を自動認識して取得範囲を広げられます。

Q画像のファイル名を一括でリネームするには?

Web上から回収した画像ファイルの名前がランダムな英数字の羅列になっており、どの記事で使っていた素材なのか判別できずに頭を抱えるケースは珍しくありません。数が多いと1枚ずつ直すのは大変ですね。

Macなら標準の機能で一括変更ができます。Finderで画像をまとめて選び、Controlキーを押しながらクリックして「名称変更」を選びます。文字の置き換え、文字の追加、連番付きの名前への変更から選べますよ。くわしくはMacでの名前の一括変更に載っています。

Windowsを利用している環境であれば、マイクロソフトが提供するユーティリティ群「PowerToys」に含まれる「PowerRename」が便利に使えます。複数のファイル名を対象にして高度な検索・置換や正規表現を用いた書き換えが可能で、変更を実行する前にプレビュー画面で仕上がりを確認できるため、誤った名前で上書きしてしまう心配を減らせますね。PowerToysはWindowsに最初から入っていないので、先にインストールして有効にしておきましょう。

名前の付け方は、短くて写っているものが分かる名前が無難です。Googleも画像のファイル名を、画像の内容をつかむ手がかりの一つとして扱っています。

もっとも、「.jpg」や「.png」の部分まで変えると、作成したアプリで開けなくなる場合があります。Studioに残したままの画像の名前を変えるときは、アップロードパネルから操作してください。

Q「GitHubでコードを納品」とはどういう意味ですか?

外注先や制作会社から「完成したサイトのコードはGitHubで納品します」と案内された際、具体的にどのような形で資産を受け取ることになるのか疑問に思うかもしれません。新しく作ったサイトのソースコードをGitHubのリポジトリにまとめ、その所有権を依頼主のアカウントや組織へ移して引き渡す、という意味です。

Studioのサイトそのものが渡されるわけではありません。StudioにはサイトのHTMLコードを外へ書き出す機能がないため、ここで納品されるのはWordPressなど移行先で作り直したコードです。

GitHubでは、リポジトリを別のユーザーや組織へ移すと、新しい持ち主がコードや設定、課題の管理をそのまま引き継げます。移す側にはリポジトリの管理者権限が必要です。個人用アカウントへ移す場合は、受け取る側が1日以内に承認しないと招待が切れます。流れはGitHubのリポジトリ移管手順で確認できますよ。

自社のアカウントへリポジトリが移れば、NetlifyやCloudflare Pagesといったホスティング環境と連携させてWebサイトを公開できるようになります。Netlifyでは一般にリポジトリの管理者権限が求められ、Cloudflare PagesではGit連携を認可します。

受け取ったあとも、自社で更新を続けられる体制があるかは別の話です。誰がアカウントを持ち、誰が手を入れるのかを、納品前に制作会社と決めておきましょう。

Q非公開の記事や下書きも抜き出せますか?

公開済みの記事だけでなく、作成途中で止まっている下書きや一時的に取り下げた非公開記事までまとめて抜き出したいと考える場面はよくあります。ただ、公開ページを読み取る方法ではこれらは取れません。

SimpleScraperのようなスクレイピングツールは、インターネット上に一般公開されているWebページを巡回して情報を拾い集める仕組みです。Studioの公開ステータス仕様の通り、下書き状態のアイテムは編集画面のライブプレビューには表示されるものの、一般の公開サイト上には一切出力されません。「変更あり」の記事も、管理画面で更新するまでは編集前の内容が公開されています。SimpleScraperで抜き出した結果には、まだ更新していない修正は入りません。

SimpleScraperには、ログインが必要なページを取るためにCookieを設定する機能があります。でも、Studioの管理画面でこの方法が使えるかは確かめられていないので、当てにしないほうが無難です。拡張機能に追加の権限を与えることにもなります。

結局、未公開の下書きや編集途中のテキストを取り出したい場合は、CMSアイテム一覧でタイトルにカーソルを合わせ、表示される矢印ボタンから個別の詳細編集画面を開いて、手作業で本文をコピーして控えるのがもっとも手堅い対応になりますね。下書きが数本なら、ここから本文をコピーしてWordPressに貼るほうが早く終わります。

出典

この内容をChatGPTで相談

無料診断