国内&海外SEO情報ウォッチ 「海外SEO情報ブログ」の鈴木 謙一氏が、日本と海外の検索マーケティング情報をさらっとまとめて毎週金曜日にお届け。
海外&国内SEO情報ウォッチ

あなたも同じミスをするかも? robots.txtのミスで予想外のページをクロール禁止していた悲劇【SEO情報まとめ】

最強級のSEOと最上級のコンテンツすら台無しにする、robots.txtの予想と違う挙動を、あなたは知っているだろうか? 知らなければうっかりハマってしまうかも

ページ

最強級のSEOと最上級のコンテンツすら台無しにする、robots.txtの予想と違う挙動を、あなたは知っているだろうか? 知らなければうっかりハマってしまい、「コンテンツがインデックスされない!」となってしまうかも。

「実際の挙動の根拠は?」「どうすればこの落とし穴を避けられるの?」を含めて、詳しく解説する。

ほかにも、モバイル検索でのサイト名表示や、SERPでのCTR向上事例、Google検索にとってのAIの意味などなど、今回はちょっと濃いめのSEOトピックをお届けする。

  • グーグルのモバイル検索でサイト名が表示されるようになった
  • スニペット改善でCTR向上・検索トラフィック約2倍に⬆UP!
  • 2022年10月のスパムアップデートをグーグルが実施
  • 10月のグーグルオフィスアワー: サイトマップのlastmod、MFIに移行しない、サイト名が表示されないなど
  • 人間が書いたコンテンツをグーグルがスパム判定するのは間違い?
  • 【SEOクイズ】noimageindexタグとmax-image-preview:noneタグの違いは?
  • ECサイトの在庫切れページで204を返すのは正しいやり方か?
  • Search Consoleの検索パフォーマンスの制限をグーグルが解説
  • 現在の Google検索における機械学習の重要性とは?
  • Googleマルチサーチが日本語環境にやってきた
  • Google画像検索で写真のクレジット情報を構造化データで指定できるように

今週のピックアップ

あなたも同じミスをするかも? robots.txtで予想外のページをクロール禁止していた悲劇
robots.txtテスターで確認する (辻正浩 on ツイッター) 国内情報

あるサイトのrobots.txt構成ミスをso.laの辻正浩氏が発見した。トップページをグーグルがクロールできないため、スニペットが表示されなくなっているのだ。

このページの情報はありません
スニペットに「このページの情報はありません」と表示されている

もちろん、サイト管理者はトップページのクロールを禁止したかったわけではないはずだ。原因はrobots.txtの記述にあったようだ。

あるrobots.txtの書き方のせいで、管理者が想定していないページをクロール禁止することになっていたのだ。しかし、その挙動は非常にわかりづらく、だれでも同じミスをしてしまいかねないものだった。

結論から言うと、robots.txtでのCrawl-delay指定が原因だった。これはクロール速度を制限する命令として使われているが、実は標準仕様としては定められていない命令だ。

そのため、Crawl-delay指定を無視する検索エンジンもある。Googlebotもその1つなのだが、問題はGooglebotがCrawl-delayを指定している部分は無視する、つまり空白行として扱うことだった。

どういうことか解説しよう。

あなたの予想とは違うGooglebotのrobots.txt解釈

辻氏が発見したサイトが設置しているrobots.txtには、Googlebotが処理しないCrawl-delayがあった。GooglebotがCrawl-delayを処理しないだけなら問題は起きなかったのだが、Googlebotは「その命令が書かれた行をないものとして扱う」ため、前後のUser-agent指定の関係上、その後に出てくるクロール拒否の指定が自分に向けた指示だと解釈してしまったのだ。

robots.txt
※辻氏が作成した解説画像を許可を得て編集

つまり、Googlebotにとってのrobots.txtは次のようになる:

User-agent: *
Disallow: /guest/
Disallow: /content /
※筆者注: /content / に含まれているスペースも誤りか?

解説では「GooglebotはCrawl-delayの行をないものとして扱う」としたが、実際にはGooglebotの挙動は「AllowDisallowUser-agent以外の行をないものとして扱う」というものだ。そのため、sitemap指定も同様に「ないものとして扱う」動きをする点に注意してほしい(今回の事例では利用していないようだが)。

このサイトでさらに事態を悪化させたのはリダイレクトだった。トップページ (/) から /guest/ へ302リダイレクトしているのだ。

302リダイレクトを、グーグルは次のように扱う:

  • 検索結果にはリダイレクト元のURL (/) を表示
  • インデックス対象のURLは /guest/(robots.txtでブロックしているURL)

robots.txtでブロックしているURLでも、リンクなどの状況により検索結果に掲載されることがある。ところが、/guest/ はクロールをブロックされているためGooglebotはページの中身を見ることができない。

結果としてスニペットを生成できず、冒頭のキャプチャで見せたような結果になってしまう。

解決策(根本)robots.txtにDisallow/Allow以外を書くときは下に書く

robots.txtの修正案はいくつかあるが、いちばんのオススメは「ファイル全体の構成を変える」ことだ。

具体的にはファイル全体の構成として、まずDisallowAllow関連の指定を行い、Crawl-delay関連の指定はその後にもってくる形にするのだ。


#-----------------------------------------
# Disallow・Allow系の指定をこの下に置く
#-----------------------------------------

User-agent: Bingbot
Disallow: /guest/
Disallow: /content /

……


#-----------------------------------------
# Crawl-delayの指定をこの下に置く
# このブロックにはDisallow系の指定は一切記載しない
#-----------------------------------------

User-agent: *
Crawl-delay: 10

User-agent: Bingbot
Crawl-delay: 120

……

元のファイルではUser-agent単位でブロック分けして記述していたが、全体構成を変える形だ。

前述のように、Googlebotの挙動は「AllowDisallowUser-agent以外の行をないものとして扱う」というものだ。そのため、ファイル全体を

  • DisallowAllow
  • それ以外(Crawl-delay系や、必要ならばSitemap系)

で大きく2つのブロックに分け、それぞれのブロック内でUser-agentごとに命令を記載していく。

同じUser-agent指定を複数のブロックに分ける必要がでる手間はかかるが、こうすれば、Googlebotの「行をないものとして扱う」挙動がDisallowAllowに影響することはなくなる。

解決策(暫定)とりあえず対応も可能

とはいえ、robots.txt全体を書き換えるのは面倒ではある。

暫定的な対処法としては、次の3種類どれかの記述をrobots.txt内に置くだけでも、問題は解決する(robots.txt内のどこに記述してもいい)。

User-agent: Googlebot
Disallow:
User-agent: Googlebot
Allow: /
User-agent: Googlebot
Disallow:
Allow: /guest/
Allow: /content /
※3つ目の記述は、今回の事例のサイト特有のもの。

ただし、この対処はあくまでも暫定的なものだ。将来、robots.txtをさらに修正したときに副作用で同様の問題が発生する可能性が残っている。

robots.txtの修正後は必ずテスト!

辻氏が指摘するようにrobots.txtの仕様は実際には難解だ(仕様どおりの挙動ではあるのだが)。いま一度ドキュメントを読み返したい(特に「ルールのグループ化」以降の部分が重要だ)。

さらに言えば、robots.txtを編集したときにはrobots.txtテスターで想定どおりの挙動になっているかを必ず確認するのは必須だ。常にテストすることを癖にしよう(robots.txtはめったに編集するものではないが)。

★★★★☆
  • ホントにSEOを極めたい人だけ

グーグル検索SEO情報①

グーグルのモバイル検索でサイト名が表示されるようになった
知名度があるサイトはクリックが増えるかも (グーグル 検索セントラル ブログ) 国内情報

グーグルは、モバイル検索結果の各項目にサイト名を表示し始めた。日本語ほか英語、フランス語、ドイツ語のモバイル検索でまず導入された。

モバイル検索結果に表示されるサイト名
モバイル検索結果に表示されるサイト名

さまざまな情報からグーグルはサイト名を取得するが、主に利用する要素は次の 4つだ:

  • WebSite構造化データ
  • <title> 要素内のコンテンツ
  • <h1> 要素などの見出し要素
  • og:site_name

認知度が高いサイトにはクリック率に良い影響が出るかもしれない。自分のサイトでサイト名が適切に表示されているかどうかをチェックしよう。もし不適切なサイト名が表示されているのであれば、先に挙げた4つの要素がどうなっているかを確認するといい。

特に、WebSite構造化データによるサイト名の指定をグーグルは推奨している。WebSite構造化データのマークアップに関する詳細は技術ドキュメントを参照してほしい。

※筆者補足: さらに確実性を期すために、構造化データなど4つの要素で指定するサイト名に一貫性を保つべきだ。

なお、サイト名はドメイン名単位で決まり、サブドメインやサブディレクトリ単位では設定できない。

サブドメインで運用するサイトでは通常、サイト名としてサブドメインの文字列が表示される。サブディレクトリではトップページに設定されたサイト名が表示される。

  • www.example.com ―― サイト名を表示
  • example.com ―― サイト名を表示
  • example.com/blog ―― example.comのサイト名を表示
  • www.example.com/blog ―― www.example.comのサイト名を表示
  • blog.example.com ―― サイト名として「blog.example.com」を表示
サブドメインがサイト名
Web担はサブドメインで運用しているため、サイト名として「webtan.impress.co.jp」が表示されている。
★★★★★
  • すべてのWeb担当者 必見!

スニペット改善でCTR向上・検索トラフィック約2倍に⬆UP!
tableタグとハウツーリッチリザルトを設定 (JC Chouinard on Twitter) 海外情報

検索結果のスニペットを改善してCTR(クリック率)と検索トラフィックを上昇させたケーススタディを、あるサイト管理者がツイッターで共有した。

まず、こちらは改善前のスニペットだ。特に何も設定していない標準的なスニペットだ。

標準的なスニペット

スニペットの改善は、次のステップで行ったそうだ。

  1. 記事本文内でHTMLのtableタグを使って情報を記載し、スニペットに表形式で情報を表示

    ※筆者補足: tableタグ内のデータはスニペットに表形式で表示されやすい
  2. ページのHTMLにHowTo構造化データを追加して、スニペットにハウツーのリッチリザルトを表示

    ハウツーリッチリザルト
  3. さらに、ハウツーのリッチリザルトに画像を追加

    画像つきのハウツーリッチリザルト
    画像がつくとハウツーがリスト形式ではなくカルーセル形式で表示される

改善後には、実際にCTRが上昇している。3%~4%程度だったCTRが5%~6%にまで良くなっていることがグラフからわかる。

※グラフ全体を確認するには、埋め込みツイートをクリックしてツイート単体で表示し、さらに画像をクリックして表示する

CTRが上がったため、検索結果のクリック数も増えている。倍近い検索トラフィックを獲得していることがグラフからわかる。

※グラフ全体を確認するには、埋め込みツイートをクリックしてツイート単体で表示し、さらに画像をクリックして表示する

掲載している情報と相性がよさそうならば試す価値がありそうなスニペット改善施策だ。

★★★★☆
  • SEOがんばってる人用(ふつうの人は気にしなくていい)

2022年10月のスパムアップデートをグーグルが実施
さまざまなタイプの検索スパムが排除された模様 (金谷 武明 on ツイッター) 国内情報

スパム対策を目的としたアップデートを、グーグルは2022年10月19日(太平洋時間)に実施した。検索セントラルのツイッターアカウントによる英語でのアナウンスを、日本語で金谷氏がリツイートしてくれた。

Google 検索ランキングの更新内容のリストにもアップデートは記録されている。リストによれば、2日後の21日(同時間)に展開は完了している。

今回のスパムアップデートが検索結果に及ぼした変化を、米国で名高いコンサルタントのグレン・ゲイブ氏は次のように分析している:

広範囲にわたって影響を与えているわけではないが、影響を受けたサイトには厳しい順位下落が起きている。対象になったスパムの種類は多岐にわたっている:

  • 薄っぺらいコンテンツ
  • (おそらくAIで生成された)低品質なコンテンツ
  • リンクスパム
  • コピーコンテンツ
  • などなど

前回のスパムアップデートは、約1年前の2021年11月だった。このように、グーグルは検索スパム対策への取り組みを常に続けている。

今回グーグルの監視をすり抜けたスパムサイトも、いつかは見破られ大打撃を受けるだろう。さらには、アルゴリズムによる対策をそれでも巧みにくぐり抜けたとしても、次は、スパムチームの人間による目視が控えている。スパムに明るい未来はないのだ。

★★★★☆
  • SEOがんばってる人用(ふつうの人は気にしなくていい)

10月のグーグルオフィスアワー: サイトマップのlastmod、MFIに移行しない、サイト名が表示されないなど
2回分をまとめて紹介 (グーグル ポリシー オフィスアワー on YouTube) 国内情報

グーグル社員によるオフィスアワーの10月の配信を紹介する。2回分だ。金谷氏と小川氏が回答した質問は次のとおりだ。

1回目(10月13日開催)

検索関連の質問
  • 「広告に関する問題レポート」導入時期(1:07
  • Google サイトのサーチコンソール所有権確認(2:04
  • Sitemap.xml の lastmod(更新日)(2:56
  • サイトを無断転載された(5:18
  • メディアサイトが MFI に移行しない(9:09
  • ウェルカムバナーの推奨実装方法(12:29
  • サイトがインデックスされない(18:19
パブリッシャーポリシー関連の質問
  • 自動広告のヘッダー表示を消去できない(19:33
  • アドセンスとアフェリエイト(24:18

2回目(10月27日開催)

検索関連の質問
  • サイトがインデックス登録されない(12:19
  • ページがインデックスされない(13:58
  • サイトがインデックスされない(16:09
  • 検索結果とSearch Console の仕様の確認(18:42
  • 検索結果に上位表示させたいページが異なる(25:15
  • サイトマップが取得できない(27:27
  • モバイル検索結果でサイト名が表示されない(28:24
  • サムネイル画像の指定方法(29:31

タイムスタンプにはその場所から再生が始まるようにリンクしてある。気になる質問の回答だけをチェックするのもいいだろう。

検索またはパブリッシャーポリシーに関して質問や相談があれば、こちらのフォームから送っておこう。今後のオフィスアワーで回答してもらえる。

★★★★☆
  • SEOがんばってる人用(ふつうの人は気にしなくていい)
用語集
CTR / Googlebot / HTML / SEO / SERP / UA / metaタグ / robots.txt / インデックス / クリック率 / クロール / スニペット / ディレクトリ / ドメイン名 / リンク / 検索エンジン / 構造化データ / 自然検索

ページ

この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

XMLサイトマップ
検索エンジンに対して、サイト内にあるページをリストアップして伝えるファイル。XM ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]