Help us understand the problem. What is going on with this article?

SEOに使えるGoogleスプレッドシート関数とXPath

SEOで重要とされる要素と、これを抽出するためのGoogleスプレッドシート関数。
自分のQiitaプロフィールのソースなどをサンプルに解説。

SEOで重要とされるタグとその説明

titleタグ

titleタグ
<title>AQRiL_1132 - Qiita</title>

image.png

検索エンジンで表示されるページタイトル。(設定した内容から書き換えられて表示されることがある)
検索したユーザーが「このページが自分が求めていたページだ」と一目でわかる簡潔な内容にすることが推奨される。クリック率に大きく影響するため重要。

その他にも以下のようなものに使われる。

  • ブラウザタブに表示されるページ名

image.png

  • 履歴に表示されるページ名

image.png

  • ブックマーク登録時のデフォルトのページ名

image.png

  • SNSでページがシェアされたときのページタイトル名(OGPタグを設定しない場合)

抽出するためのスプレッドシート関数

A1セルにURLが入っているとき、以下の数式でタイトルを抽出可能。

=IMPORTXML(A1,"//title")

image.png

余談

Googleで「intitle:●●」と検索することで、そのキーワードがタイトルに入っているWebページを検索することができる。

meta descriptionタグ

meta_descriptionタグ
<meta content="プログラミング趣味のWebマーケッター。時短のために時間を惜しまず、結果として作業時間が伸びる残念な人。投稿記事では主に初心者・ノンプログラマ向けに情報を共有しています。" name="description">

image.png

検索エンジンでページタイトルと共に表示されるサイトの概要を示す説明文。クリック率に影響を与えるため、titleタグと同じく重要。
titleタグと同様に、meta descriptionの内容がそのまま検索結果に出てくるとは限らない。

抽出するためのスプレッドシート関数

A1セルにURLが入っているとき、以下の数式でdescriptionの中身を抽出可能。

=IMPORTXML($A$1,"//meta[@name='description']/@content")

image.png

alternateタグ

主にGoogleにスマホ用、タブレット用、ガラケー用など、異なるデバイス向けのURLが存在することを通知するために使用されるタグ。RSSフィード用のURLが存在することを伝えるためにも使われる。

alternateタグ_価格コムのソース
<link href="http://s.kakaku.com/" rel="alternate" type="text/html" media="only screen and (max-width: 640px)">
<link href="http://m.kakaku.com/" rel="alternate" type="text/html" media="handheld">
alternateタグ_RSSフィードの通知例
<link rel="alternate" type="application/atom+xml" title="Atom Feed" href="https://qiita.com/AQRiL_1132/feed">

抽出するためのスプレッドシート関数

alternateタグに設定されているmediaを取得

=IMPORTXML($A$1,"/html/head/link[@rel='alternate']/@media")

alternateタグに設定されているURLを取得

=IMPORTXML($A$1,"/html/head/link[@rel='alternate']/@href")

複数ヒットしたときは下のセルにも結果が出力される

image.png

canonicalタグ

canonicalタグ
<link rel="canonical" href="https://qiita.com/AQRiL_1132">

聞き慣れない単語だが、「カノン(canon:正典,基準,正規,規範)」を形容詞化した言葉。日本語に訳すと「基準的な」「標準的な」のような意味。
同じコンテンツを異なるURL(wwwの有無やindex.htmlの有無、スマホ向けURLなど)でも確認できる状態にあるとき、どのURLを正規のものとするか検索エンジンに示すためのタグ。

抽出するためのスプレッドシート関数

=IMPORTXML($A$1,"/html/head/link[@rel='canonical']/@href")

robotsタグ

robotsタグ
<meta name="robots" content="noindex,follow">

主にGoogleのクローラーロボットがサイトの内容を見に来たときに、「こう動いてください」とお願いするために使用されるタグ。ページを検索結果に表示させたくないとき、キャッシュを保存してほしくないときなどに使用する。必ずGoogleがこの指定に従う訳ではないので魔除け程度に考えておいた方が良さげ。

抽出するためのスプレッドシート関数

=IMPORTXML($A$1,"//meta[@name='robots']/@content")

h1タグ

Mozillaのトップページのh1タグ
<h1 class="highlight highlight-spanned"><span class="highlight-span">開発者による開発者のためのリソース。</span></h1>

image.png

h1タグからh6タグまで6種類ある見出しタグの中で最も大きい見出しタグ。
検索エンジンにサイトの内容を理解してもらうために重要とされている。h1タグを利用する作法について色々言われていることがあるが、最近のGoogleは以前ほどh1タグの使い方に拘らなくてもサイトの内容を理解してくれるようになっているとのこと。
htmlの文章構造として意味のある使い方を心がけるのが良さそう。
また、画像をh1タグで囲っても良いとされている。(この時は画像がどんな内容かをalt属性で説明した方が良い)

抽出するためのスプレッドシート関数

複数のh1タグを抽出し、縦方向一列に並ぶように作っている。

=TRANSPOSE(SPLIT(TEXTJOIN("-_-",true,IMPORTXML($A$1,"//h1|//h1//@alt")),"-_-",))

image.png

prevタグ & nextタグ

nextタグ
<link rel="next" href="https://hogehogeblog.jp/page/2">

複数ページにまたがったコンテンツが存在することをGoogleに伝えることができるタグ。使っているサイトを中々見かけない。

抽出するためのスプレッドシート関数

=IMPORTXML($A$1,"/html/head/link[@rel='prev']/@href")
=IMPORTXML($A$1,"/html/head/link[@rel='next']/@href")

aタグ(リンクタグ)

aタグのaはanker(船のイカリ)のa。説明するまでもないリンクを作成するためのタグ。
ユーザーにとって有益なリンクをページに追加すればページの評価が上がる。また、他ページから受けたリンクについてもページの評価に影響があるとされている。

文字色と背景色を同一にした隠しリンクや、極めて小さく見辛いリンク、無意味な大量のリンクを設置するとスパムと見なされてページの評価が落ちることがある。

抽出するためのスプレッドシート関数

主に外部サイトへのリンクを抽出するためのスプレッドシート関数

内部リンクをなるべく取り除くため、飛び先がhttpから始まるリンクタグの中身を抽出するように作っている。
また、画像へのリンクを拾わないようにしている。

=UNIQUE(IMPORTXML($A$1,"//a[starts-with(@href,'http') and not(contains(@href,'.jpg') or contains(@href,'.png') or contains(@href,'.gif'))]/@href"))

image.png



また後ほど内容を拡充予定。

関連記事

参考になるリンク

aqril_1132
時短のために時間を惜しまず、結果として作業時間が伸びる残念な人。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした