Screaming Frogは、検索エンジン最適化機能を多数搭載した強力なSEOツールです。あまり知られていない機能の1つであるScreaming Frog Custom Extractionは、クロールから簡単にデータを抽出することができます。このブログ記事では、Screaming Frog Custom Extractionの仕組みと、なぜそれがSEO対策の改善に役立つのかについて説明します
Webサイトには多くの有用な情報がありますが、多くの場合、Webサイトのすべてのページを訪問して製品データをコピーするのは手間です。 メタデータ , タイトルタグ そして アンカーテキスト をスプレッドシートに変換します。そこでScreaming Frogは、カスタムデータ抽出でプロセスを自動化することで救いの手を差し伸べます。カスタム抽出は ウェブスクレイピング ウェブハーベスティング、またはウェブ データ抽出 は、ウェブサイトからデータをスクレイピングして抽出し、自分のコンピュータにローカルに保存できるようにするために使用されます。
初心者の方へ、疑問に思うことを。
Screaming Frog SEO Spiderとは何ですか?
があります。 Screaming Frog SEO Spider は、WebサイトのデータをGUIで抽出・解析し、サイト内SEOを向上させるWebサイトクローラーです。
カスタムエクストラクションはScreaming Frogs SEO スパイダーは、ウェブページから明示的な情報を抽出する機能を備えています。これらの抽出は、あなたのサイトを以下のように最適化するのに役立ちます。 テクニカルSEO 検索結果を含むコピーに関する重要なデータを収集し、エラーの検出と修正を支援します。
データ抽出のプロセスでは、Screaming Frogのウェブスパイダーを使用してWebサイト上の必要なデータを取り出します。その情報は スクリーミングフロッグの記憶 にエクスポートすることができます。 エクセル または グーグルシート をご覧ください。
データ抽出により、大量のデータを迅速かつ効率的に採取することができます。この自動化により、以下のような結果をすぐに得ることができます。 ウェブアーキテクチャ .このプロセスにより、時間とリソースを節約しながら、検索エンジン最適化戦略の立案と戦略に必要な貴重なデータを得ることができます。
Screaming Frogは、SEO担当者がよく使うWebスクレイパーツールです。オプションは無限大です。ここにはたくさんのカスタムウェブスクレイピング構文があります。
1.ScreamingFrogで、次のページに進みます。 設定」→「カスタム」→「抽出」。
スクリーミングフロッグ カスタムエクストラクション
2.次に、次のことを行います。 +Add をクリックし、抽出ルールを設定します。
カスタム抽出タブで内部HTMLの要素を選択する
3.を追加する。 タイトル , 4.必要な場合は選択してください。 CSSPathです。 エクスパット または レジェックス , 5.を追加します。 検索機能 .
どのセレクタや関数が必要なのかわからない場合は、以下の例を見ていただくか、または、inspect要素の関数で グーグルクロームデバイスツール .Google Chromeブラウザで「右クリック」すると、Dev Toolsを開くことができます。
例
以下は、Facebook PixelのIDを取得するためのスクレイピングの例です。
FacebookピクセルID抽出
での 結果 ご覧の通り、私のページの1つにはFacebook Pixelがありません。
Facebook IDの紛失
以下は、あらかじめ定義されたカスタム抽出データセットです。
XPath Webスクレイピングを利用するための基本的な構文
シンタックス 機能 //
文書内の任意の場所を検索 /
のルート内を検索します。 ウェブサイト @
要素の特定の属性を選択する *
ワイルドカードは任意の要素を選択するために使用されます [ ]
特定の要素を検索する .
現在の要素を指定する ..
親要素を指定する
エクスパット 機能
エックスパス OUTPUT //h1
すべてのH1タグを抽出する //h2[1]
最初のH2タグを抽出する //h2[2]
2つ目のH2タグを抽出する //div/p
を抽出します。 <p> に含まれる。 <div> //div[@class='author']です。
を抽出します。 <div> クラス "author "を持つ //p[@class='content']です。
を抽出します。 <p> クラス "コンテンツ "を持つ //*[@class='content'].
クラス "content" を持つ任意の要素を抽出する。 //ul/li[last()]の場合
//ol[@class='cat']/li[1]です。
クラス "cat "を持つ内の最初のを抽出する。 カウント(//h2)
H2の数を数える(抽出フィルターを「関数値」に設定する) //a[contains(.,'learn more')]].
"learn more" を含むアンカーテキストを持つリンクを抽出します。 //a[starts-with(@title,'Written by')].
"Written by "で始まるタイトルを持つリンクを抽出します。
エックスパス OUTPUT //参照
すべてのリンクを抽出する //a[starts-with(@href,'mailto')]/@href
mailto:」(メールアドレス)で始まるリンクを抽出します。 //a[starts-with(@href,'tel')]/@href
tel:"(電話番号)で始まるリンクを抽出します。 //img/@src
すべての画像ソースURLを抽出する //img[contains(@class,'aligncenter')]/@src
クラス名 "aligncenter" を含む画像のソース URL をすべて抽出します。 //リンク[@rel='alternate']です。
rel属性が "alternate "に設定されている要素を抽出する。 //hreflang
すべての hreflang 値を抽出する
エックスパス OUTPUT //meta[@property='article:published_time']/@content
記事の公開日を抽出(WordPressのWebサイトでよく見られるmetaタグ)
エックスパス OUTPUT //meta[@property='og:type']/@content
Open Graph型オブジェクトを抽出する //meta[@property='og:image']/@content
Open Graphのフィーチャー画像のURLを抽出します。 //meta[@property='og:updated_time']/@content
オープングラフの更新時刻を抽出する
エックスパス OUTPUT //meta[@name='twitter:card']/@content
Twitterカードの種類を抽出する //meta[@name='twitter:title']/@content
Twitterカードのタイトルを抽出する //meta[@name='twitter:site']/@content
Twitterカードサイトオブジェクト(Twitterハンドル)を抽出します。
エックスパス OUTPUT //*[@itemtype]/@itemtype
ページ上のすべてのタイプのスキーママークアップを抽出します。
でパンくずをチェックするために使用するカスタム抽出は以下の通りです。 スクリーミングフロッグ .
エックスパス OUTPUT //*[contains(@itemtype,'BreadcrumbList')]/*[@itemprop]/a/@href
すべてのパンくずリンクを抽出する //*[contains(@itemtype,'BreadcrumbList')]/*[@itemprop][1]/a/@href
最初のパンくずリンクを抽出する //*[contains(@itemtype,'BreadcrumbList')]/*[@itemprop].
パンくずの名前を抽出する(抽出フィルタを「テキストを抽出」に設定)。 count(//*[contains(@itemtype,'BreadcrumbList')]/*[@itemprop])
パンくずリスト項目の数を数える(抽出フィルタを "関数値 "にする)
エックスパス OUTPUT //*[@itemprop='name']/@content
製品名を抽出する //*[@itemprop='description']/@content
商品説明文の抜粋 価格] //*[@itemprop='price']/@content
製品価格を抽出する 価格通貨] //*[@itemprop='priceCurrency']/@content
製品通貨を抽出する //*利用可否について
製品の在庫状況を抽出 //*[@itemprop='sku']/@content
製品SKUを抽出する
エックスパス OUTPUT //*[@itemprop='reviewCount']を指定します。
レビュー回数を抽出 //*[@itemprop='ratingValue']を指定します。
レーティング値を抽出する //*[@itemprop='bestRating']です。
最適なレビュー評価を抽出 //*レビュー]/*[@itemprop='name']。
レビュー名を抽出する //*レビュー]/*[@itemprop='author']。
レビュー執筆者を抜粋 //*レビュー]/*[@itemprop='datePublished']/@content
レビューの公開日を抽出する //*[@itemprop='review']/*[@itemprop='reviewBody'].
レビューの本文を抜粋
エックスパス OUTPUT //*[contains(@itemtype,'organization')]/*[@itemprop='name'].
組織名を抽出する //*住所]/*[@itemprop='streetAddress']を指定します。
ストリートアドレスを抽出する //*住所]/*[@itemprop='addressLocality']を指定します。
アドレスの局所性を抽出する //*住所]/*[@itemprop='addressRegion']。
アドレス領域を抽出する //*[@itemprop='telephone'].
電話番号を抽出する //*[@itemprop='sameAs']/@href
sameAs "リンクを抽出します。
記事スキーマを抽出する
エックスパス OUTPUT //*[contains(@itemtype,'Article')]/*[@itemprop='headline'].
記事の見出しを抽出する //*[@itemprop='author']/*[@itemprop='name']/@content
著者名を抽出する //*出版社]/*[@itemprop='name']/@content
出版社名を抽出する //*内容物
発行日を抜粋 //*[@itemprop='dateModified']/@content
更新日時を抽出する
ワイルドカード
シンタックス 機能 .
任意の1文字にマッチする *
直前の文字に0回以上マッチする ?
直前の文字に0回または1回マッチする +
直前の文字に1回以上マッチする |
オア
アンカー
シンタックス 機能 ^
文字列は、後続の文字から始まります。 $
文字列は直前の文字で終了する。
グループ
シンタックス 機能 ( )
囲んだ文字を正確な順序で一致させる [ ]
囲んだ文字を任意の順序でマッチング -
指定された範囲内の任意の文字にマッチする
エスケープ
シンタックス 機能 \
文字を正規表現としてではなく、文字として扱う。
リジェックス OUTPUT ["'](ua-.*?)["']です。
Google AnalyticsのトラッキングIDを抽出する ["'](G-.*?)["']
Google Analytics 4(GA4)のトラッキングIDを抽出します。 ["'](aw-.*?)["']です。
Google AdsのコンバージョンIDやリマーケティングタグを抽出します。 ["'](gtm-.*?)["'].
Google タグマネージャおよび Google オプティマイズの ID を抽出します。 fbq\(["']init["'], ["'](.*?)["']
Facebook Pixel IDを抽出する \♪♪♪♪~
Bing Ads UETタグの抽出 adroll_adv_id = ["'](.*?)["'].
AdRollの広告主IDを抽出する adroll_pix_id = ["'](.*?)["'].
AdRollのPixel IDを抽出します。
すべてのスキーママークアップとスキーマタイプを抽出する
リジェックス OUTPUT ["']application/ld+json["']>(.*?).
JSON-LDスキーマのマークアップをすべて抽出します。 ["']@type["']:*["'](.*?)["']
ページ上のJSON-LDスキーママークアップの全種類を抽出します。
リジェックス OUTPUT ["']item["']:*["']@id["']:*["'](.*?)["']
パンくずリンクの抽出 ["']item["']:*{["']@id["']:*["'].*?["'], *["']name["']:*["'](.*?)["']
パンくずの名前を抽出する
リジェックス OUTPUT ["']@type["']:*["']Product["'].*?["']name["']:*["'](.*?)["']
製品名を抽出する ["']@type["']:*["']Product["'].*?["']description["']:*["'](.*?)["']
商品説明文の抜粋 ["']@type["']:*["']Product["'].*?["']price["']:*["'](.*?)["']
製品価格を抽出する ["']@type["']:*["']Product["'].*?["']priceCurrency["']:*["'](.*?)["']
製品通貨を抽出する ["']@type["']:*["']Product["'].*?["']availability["']:*["'](.*?)["']
製品の在庫状況を抽出 ["']@type["']:*["']Product["'].*?["']sku["']:*["'](.*?)["']
製品SKUを抽出する
リジェックス OUTPUT ["']reviewCount["']:*["'](.*?)["']
レビュー回数を抽出 ["']ratingValue["']:*["'](.*?)["']
レーティング値を抽出する ["']bestRating["']です。*["'](.*?)["']
最適な評価を抽出する
リジェックス OUTPUT ["']@type["']:*["']Organization["'].*?["']name["']:*["'](.*?)["']
組織名を抽出する ["']streetAddress["']です。*["'](.*?)["']
ストリートアドレスを抽出する ["']addressLocality["']です。*["'](.*?)["']
アドレスの局所性を抽出する ["']addressRegion["']です。*["'](.*?)["']
アドレス領域を抽出する ["']電話["']:*["'](.*?)["']
電話番号を抽出する ["']sameAs["']:*\[(.*?)\]
sameAs "リンクを抽出します。
ArticleまたはBlogPosting Schemaを抽出する。
リジェックス OUTPUT ["']ヘッドライン["']:*["'](.*?)["']
記事の見出しを抜粋 ["']author["'].*?["']name["']:*["'](.*?)["']
著者名を抽出する ["']publisher["'].*?["']name["']:*["'](.*?)["']
出版社名を抽出する ["']datePublished["']:*["'](.*?)["']
発行日を抜粋 ["']dateModified["']:*["'](.*?)["']
更新日時を抽出する
このリストに追加してほしい抽出物があれば教えてください。
発行日:2021-03-10 更新日: 2023-02-22
アイザック・アダムス・ハンズは、検索エンジン最適化サービスを提供するSEO North社でSEOディレクターを務めています。SEOのプロフェッショナルとして、アイザックはオンページSEO、オフページSEO、テクニカルSEOの分野で豊富な専門知識を持ち、競合他社を圧倒している。