GoogleスプレッドシートでWebサイトのmeta情報をチェックする方法【みなとやの制作ハック】

author

湊屋 佐千子
商品開発本部 クリエイティブ統括部 制作戦略推進部 制作企画課 ▼詳細

Googleスプレッドシートには、XPathと呼ばれる言語を用いてWebサイトの要素を抽出できる「IMPORTXML」という関数があります。本記事ではIMPORTXML関数を活用してWebサイトのmeta情報をチェックする方法をご紹介します。

活用シーン

● 制作したWebサイトのmeta情報をチェックしたい
● 制作したWebサイトのリンクチェックをしたい など

例えば上記のようなシーンで、目視でチェックしている方もいらっしゃるのではないでしょうか。IMPORTXML関数を使えば任意の項目の情報を抽出することができて、仕様書との差分確認などもシート上で行うことができます。

使用方法

IMPORTXML関数は、XML、HTML、CSV、TSV、RSS フィード、Atom XML フィードなど、さまざまな種類の構造化データからデータをインポートできるGoogleスプレッドシートの関数です。構文は以下の通りです。

=IMPORTXML(URL, XPath クエリ)

『URL』はセルを参照するか、URLをダブルクォーテーション(“)で囲って文字列を抽出したいWebサイトを指定します。

=IMPORTXML(A2, XPath クエリ)
=IMPORTXML(“https://www.dip-net.co.jp/”, XPath クエリ)

『XPathクエリ』には構造化データで実行するXPathクエリを設定します。WebサイトはHTMLといったプログラミング言語で構成されていますが、XPathクエリを使えばサイトの構造をツリーのように捉えることができ、要素や属性値を指定することができます。詳細は以下のQiita記事で解説されていますので、ご参照ください。
クローラ作成に必須!XPATHの記法まとめ

ざっくり言えば、Googleスプレッドシートがあなたの代わりにURLにアクセスして、指定した情報を持ってきてくれる、とっても便利な関数です!

XPathクエリを要素ごとに指定して簡易的なチェックツールを作っておけば、例えばmeta情報のチェックなど、納品されたWebサイトの検収に活用することもできます。

実際にいくつかのサンプルをご紹介します。

サンプル

A1セルに検証するページのURLを入力して、以下の数式を任意のセルに追加すれば、コピペでそのまま使用できます。もし、「#ERROR!」が出てしまう場合は、ダブルコーテーション(“)やシングルクォーテーション(‘)を半角に変換してください。

● H1 を抽出する数式

=IMPORTXML(A1,”//h1″)

● title を抽出する数式

=IMPORTXML(A1,”//title”)

● meta description を抽出する数式

=IMPORTXML(A1,”//meta[@name=’description’]/@content”)

● meta og:title を抽出する数式

=IMPORTXML(A1,”//meta[@property=’og:title’]/@content”)

● meta og:description を抽出する数式

=IMPORTXML(A1,”//meta[@property=’og:description’]/@content”)

● meta og:type を抽出する数式

=IMPORTXML(A1,”//meta[@property=’og:type’]/@content”)

● meta og:url を抽出する数式

=IMPORTXML(A1,”//meta[@property=’og:url’]/@content”)

● meta og:image を抽出する数式

=IMPORTXML(A1,”//meta[@property=’og:image’]/@content”)

画像をスプレッドシート上に表示させたい場合はIMAGE関数で囲います。

=IMAGE(IMPORTXML(A1,”//meta[@property=’og:image’]/@content”))

● meta fb:app_id を抽出する数式

=IMPORTXML(A1,”//meta[@property=’fb:app_id’]/@content”)

● meta twitter:card を抽出する数式

=IMPORTXML(A1,”//meta[@name=’twitter:card’]/@content”)

● meta twitter:site を抽出する数式

=IMPORTXML(A1,”//meta[@name=’twitter:site’]/@content”)

● meta twitter:creator を抽出する数式

=IMPORTXML(A1,”//meta[@name=’twitter:creator’]/@content”)

● meta og:site_name を抽出する数式

=IMPORTXML(A1,”//meta[@property=’og:site_name’]/@content”)

● canonical URL を抽出する数式

=IMPORTXML(A1,”//link[@rel=’canonical’]/@href”)

● meta keywords を抽出する数式

=IMPORTXML(A1,”//meta[@name=’keywords’]/@content”)

分割したい場合はSPLIT関数と組み合わせます。

=SPLIT(IMPORTXML(A1,”//meta[@name=’keywords’]/@content”),”,”)

● (おまけ) 画像を抽出する数式

=IMPORTXML(A1,”//img/@src”)

● (おまけ) リンクを抽出する数式

=IMPORTXML(A1,”//a/@href”)

リンクの文言も確認したい場合は、隣のセルに以下を追加します。

=IMPORTXML(A1,”//a”)

使用例

例えばA1セルにURLを貼り付けることを想定して、上記の「H1」「title」「description」「og:description」「og:image」タグの数式をB列にそれぞれ入力し、簡易的なツールを作成してみましょう。「og:image」に関してはIMAGE関数で囲います。

A1セルにこのサイトのURL(https://dippeople.dip-net.jp/)を入力すると、数式を入力したセルが『Loading…』に変わり…

数秒程度で各項目の情報が取得されます。

このように、上記のサンプルを組み合わせれば、A1セルにURLを入力するだけでmeta情報を抽出してくれるような簡易的なチェックツールを、ノンプログラマーでも簡単に作成することが可能です。

注意点

最初に「Googleスプレッドシートがあなたの代わりにURLにアクセスして、指定した情報を持ってきてくれる、とっても便利な関数です」とご紹介しましたが、数式が増えれば増えるほど、指定したURLへのアクセスが発生し、相手のサーバーに負荷がかかります。できれば使用は1サイト単位にとどめ、複数サイトの一括チェックは控えた方が良いです。ご注意ください。

さいごに

便利な拡張機能やWebツールは世の中にたくさんありますが、IMPORTXML関数を使えば、指示書を取り込んで差分がないか確認したり、数式を組み合わせてお好みのフォーマットのチェックツールを無料で作れます。ぜひ使ってみてくださいね。

ディップは2019年3月に構造的な人手不足を解消する「labor force solution company」へと進化し、AI・RPA領域で新事業を開始したほか、社内でRPAやVBAのオンライン講座を開催するなど、社員が自身の業務を改善できるように取り組んでいます。

※プレスリリース
「構造的な人手不足を解消する“Labor force solution company”へ進化 ディップがAI・RPA領域で新事業を開始! ~新ブランドステートメントを策定~
https://www.dip-net.co.jp/news/175

私が所属するクリエイティブ統括部でも、RPAやVBA、Excelなどを積極的に活用して日々業務改善に取り組んでいます。業務改善に興味があるという方は、ぜひ以下の採用情報をご覧ください。

関連記事一覧

author

湊屋 佐千子

商品開発本部 クリエイティブ統括部 制作戦略推進部 制作企画課 オウンドメディアやWeb制作のデザインやフロントエンドを担当する傍ら、RPA・GAS・Excel VBAなどを用いてクリエイティブ業務の業務効率化に努めている。Twitter(@mi_na_to_8)で業務の学びを定期的につぶやいている。