YandexBotとSEO

YandexBotとは何か、その見分け方と検証方法、Yandex独自のClean-paramディレクティブ、Crawl-delayが廃止された理由、JavaScriptの処理方法、そしてGooglebotやBingbotとの比較について解説します。

初回公開:2026年7月3日 · 最終更新:2026年8月3日 · Advanced
言語
このページには証拠シグナルが1件あります

YandexBotはYandexのメインのウェブクローラーであり、ロシアで約70%以上のシェアを持つ検索エンジンYandex Searchのためにページを発見し取得するボットです。robots.txtのトークンはYandexBot(メインのインデックスボットのみ)とYandex(より広いボットファミリー)に分かれます。GoogleやBingに相当するものがないYandex独自のディレクティブClean-paramをサポートしており、URLパラメータを統合します。また、2018年2月22日以降Crawl-delayを尊重しなくなりました(一部のSEOガイドでは今も誤って主張されています)。JavaScriptレンダリングはベータ版で「ボットの裁量」に委ねられており、2023年のソースコードリークによると、Googleのような独立したJSレンダリングシステムは存在しないと示唆されています。本物のYandexBotを検証するには、ユーザーエージェント文字列ではなく、逆引きDNSと正引きDNSを使用してyandex.ru/.net/.comホストに一致することを確認します(GoogleやBingも自社ボットに同じ手法を使用しています)。

TL;DR — YandexBot は Yandex Search の主要なインデックス用クローラーです。その robots.txt トークン YandexBotメインのインデックス用ボットのみを対象とし、Yandex は より広いボットファミリーを対象とします。Google/Bing に相当するものがないYandex 独自のディレクティブ、Clean-param をサポートしており、URL パラメータを統合します。また、2018年2月22日をもって Crawl-delay の尊重を停止しました(代わりに Crawl rate ツールを使用してください。一部の SEO ガイドでは今でも Yandex が Crawl-delay をサポートしていると誤って主張しています)。JavaScript レンダリングはクローラーの裁量で実行されるため、重要なコンテンツには SSR/プリレンダリングを推奨します。Disallownoindex(Google と同じ罠)。実際の YandexBot を検証するには、逆引き→正引き DNSyandex.ru/yandex.net/ yandex.com ホストに到達することを確認します(Google や Bing が使用するのと同じ手法)。ユーザーエージェント文字列だけに頼らないでください。

Evidence for this claim Yandex documents its search robots and their user-agent identifiers in Yandex Webmaster Help. Scope: Current official Yandex robot list. Confidence: high · Verified: Yandex Webmaster: Yandex robots Evidence for this claim Yandex provides an official method for checking whether an IP address belongs to a Yandex robot; a user-agent string alone can be spoofed. Scope: Current Yandex robot verification guidance. Confidence: high · Verified: Yandex Webmaster: Verify a robot

YandexBot が実際に何であるか

YandexBot は、ロシアの検索エンジン Yandex の主要なウェブクローラーです。URL を発見し、ページを取得し、Yandex のインデックスに供給します。これは GooglebotBingbot がそれぞれのエンジンで果たす役割と同じです。Yandex が文書化しているユーザーエージェント文字列(「ロボットが Yandex に属しているか確認する」ページ)は次のとおりです:

Mozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.268

Yandex はその隣に有益な注意書きを追加しています:「ブラウザのバージョンは変更される可能性がある」ため、ボットを識別する際に固定の Chrome バージョンに一致させることは推奨しないとしています。Chrome/81.0.4044.268 ではなく、YandexBot トークンに一致させてください。

重要なのは、「YandexBot」は実際には Yandex ロボットのファミリーメインのインデックス用メンバーに過ぎないということです。YandexImages、YandexMetrika、YandexDirect、YandexMobileBot、YandexAccessibilityBot、YandexRenderResourcesBot、YandexCalendar などがあり、それぞれ robots.txt で個別に制御できます。多くの記事が「YandexBot」と「すべての Yandex クローラー」を混同していますが、これは不正確です。

もう一つ知っておく価値があるのは、Yandex のサーバーログテーブルに YandexAdditionalBot(およびほぼ重複するトークン YandexAdditional)が、メインのクローラーがすでにインデックスしたページに適用され、「Yandex AI 応答を含む検索でページコンテンツが表示されないように robots.txt の処理を支援する」ロボットとして文書化されていることです。同じテーブルによると、これは一般的な User-agent: * ルールを考慮しません。そのため、ページを Yandex の AI 機能から特に除外したい場合は、他のエンジンの AI クローラー除外と同じパターンで、明示的な User-agent: YandexAdditionalBot ブロックが必要です。

Evidence for this claim Yandex documents its search robots and their user-agent identifiers in Yandex Webmaster Help. Scope: Current official Yandex robot list. Confidence: high · Verified: Yandex Webmaster: Yandex robots

robots.txt における YandexBot と「Yandex」の違い — 同じトークンではない

これは Yandex の最もわかりにくい robots.txt の癖であり、Google 中心の技術 SEO から移行する人々を悩ませます。Yandex 自身の実例から始めましょう。コメントも含めて、スコープの分割が明確に示されています:

User-agent: YandexBot # will be used only by the main indexing bot
Disallow: /*id=

User-agent: Yandex # will be used by all Yandex bots
Disallow: /*sid= # except the main indexing bot

User-agent: * # will not be used by Yandex bots
Disallow: /cgi-bin

文字通り読むと、その例のコメント自体がドキュメントです:

  • User-agent: YandexBotメインのインデックス用ボットのみが使用します。
  • User-agent: Yandex — Yandex ボットがより広く使用しますが、例の 2 番目のブロックに対するコメントによると、「メインのインデックス用ボットを除く」 とあります。より広いトークンは、Yandex ファミリー内でも普遍的なものではありません。

ここから Yandex のルールに基づいて 2 つのことが導かれます。第一に、優先順位です:User-agent: Yandex 文字列が検出された場合、User-agent: * 文字列は無視されます。」 つまり、Yandex ブロックも記述している場合、一般的な User-agent: * ブロックは Yandex ボットには適用されません。第二に、セキュリティ意識の高い読者を驚かせる点ですが、Yandex は*「一部の Yandex ロボットは、User-agent: Yandex に対するものを含め、robots.txt のディレクティブを無視する可能性があります」* と警告しています。すべての Yandex ボットが包括的なルールに従うとは限らないため、完全な除外にはサーバーレベルの検証とブロッキングがさらに重要になります。

それが本当に YandexBot であることを検証する

ユーザーエージェントは偽装可能なため、YandexはGoogleやBingが自社のクローラーに対して行うのとまったく同じように、DNSで検証するよう指示しています。Yandex: “Some robots can disguise themselves as Yandex robots by indicating the relevant User Agent. You can check the authenticity of a robot using a reverse DNS lookup.” (翻訳) 「一部のロボットは、関連するユーザーエージェントを指定することでYandexロボットになりすますことができます。逆DNSルックアップを使用してロボットの信頼性を確認できます。」 文書化された方法は次のとおりです。

  1. “Determine the IP address of the user agent in question using your server logs.” (翻訳) 「サーバーログを使用して、問題のユーザーエージェントのIPアドレスを特定します。」
  2. “Use a reverse DNS lookup of the IP address to determine the host domain name.” (翻訳) 「IPアドレスの逆DNSルックアップを使用して、ホストのドメイン名を特定します。」
  3. “Check whether the host belongs to Yandex. All Yandex robots have names ending in yandex.ru, yandex.net or yandex.com.” (翻訳) 「ホストがYandexに属しているかどうかを確認します。すべてのYandexロボットの名前は、yandex.ruyandex.net、またはyandex.comで終わります。」 (ホスト名の末尾が異なる場合、それはYandexではありません。)
  4. “Make sure that the name is correct. Use a forward DNS lookup to get the IP address corresponding to the host name. It should match the IP address used in the reverse DNS lookup.” (翻訳) 「名前が正しいことを確認します。フォワードDNSルックアップを使用して、ホスト名に対応するIPアドレスを取得します。これは、逆DNSルックアップで使用されたIPアドレスと一致する必要があります。」

そして、失敗条件はYandexの言葉で次のとおりです。 “If the IP addresses do not match, it means that the host name is fake.” (翻訳) 「IPアドレスが一致しない場合、それはホスト名が偽物であることを意味します。」 Yandexはまた、手動でルックアップを実行する代わりに、公式の「IPアドレスチェックツール」にも言及しています。

これは、主要な3つのエンジンすべてがたどり着く、同じフォワード確認済みリバースDNS(FCrDNS)パターンです — Googleはgooglebot.com/google.com/googleusercontent.comに対して検証し、Bingは*.search.msn.comに対して、Yandexはyandex.ru/yandex.net/yandex.comに対して検証します。どのエンジンも、公開されたIPリストだけを信頼できるものとは見なしていません。コマンドはScriptsタブにあります。エンジン間で変わるのはドメインのサフィックスだけです。(GoogleとBingのバージョンについては、GooglebotおよびBingbotの関連記事を参照してください。)

robots.txtでYandexBotを制御する

Yandexは、それぞれ独自のドキュメントで定義されている、おなじみのコアディレクティブセットを認識します。

  • User-agent“Indicates the robot to which the rules listed in robots.txt apply.” (翻訳)robots.txtに記載されているルールが適用されるロボットを示します。」
  • Disallow“Prohibits crawling of sections or individual pages of the site.” (翻訳) 「サイトのセクションまたは個々のページのクロールを禁止します。」
  • Allow“Allows indexing site sections or individual pages.” (翻訳) 「サイトのセクションまたは個々のページのインデックスを許可します。」
  • Sitemap“Specifies the path to the Sitemap file that is posted on the site.” (翻訳) 「サイトに掲載されているSitemapファイルへのパスを指定します。」
  • Clean-param“Indicates to the robot that the page URL contains parameters (like UTM tags) that should be ignored when indexing it.” (翻訳) 「ページのURLに、インデックス作成時に無視すべきパラメータ(UTMタグなど)が含まれていることをロボットに示します。」 (Yandexのみ — 以下を参照。)

知っておく価値のあるファイル要件がいくつかあります。ファイルは “a TXT file named “robots”, robots.txt,” (翻訳)robots.txtという名前のTXTファイル」である必要があり、そのサイズは500 KBを超えてはならず、サーバーは読み取りのためにHTTP 200 OKステータスを返す必要があります。

Disallow ≠ noindex — Googleと同じ罠

最も誤解されているrobots.txtの事実は、Yandexにもそのまま当てはまり、Yandexはそれを明確に述べています。 “Pages restricted in robots.txt can participate in Yandex search. To remove pages from search, specify the noindex directive in the HTML code of the page or configure the HTTP header.” (翻訳)robots.txtで制限されたページは、Yandex検索に参加できます。検索からページを削除するには、ページのHTMLコードでnoindexディレクティブを指定するか、HTTPヘッダーを設定します。」 言い換えれば、Disallowクロールを制御し、インデックスは制御しません — 禁止されたURLはYandexの結果に表示される可能性があります。これはGoogleにもあるのと同じ概念的な罠です(Googleについては*Indexed, though blocked by robots.txt*で書いています)、そして修正方法も同じです。実際にページを削除するには、クロールを許可してnoindexを追加します。Yandexは同じセクションでその理由を正確に説明しています。 “Do not restrict such pages in robots.txt, or the Yandex bot can’t index them and detect your instructions.” (翻訳) 「そのようなページをrobots.txtで制限しないでください。そうしないと、Yandexボットはそれらをインデックスできず、あなたの指示を検出できません。」 インデックス制御ディレクティブは、クローラーがページを取得してそれを確認できる場合にのみ機能します — 同じURLでのDisallownoindexは矛盾しています。DisallowはYandexがnoindexタグを読み取るのを防ぐため、ページは元の場所に正確に残ります。

Clean-param — Yandex独自のパラメータディレクティブ

Clean-param は、Google や Bing に慣れた読者にとって、Yandex 特有のディレクティブの中で最も特徴的なものであり、Google や Bing に相当するものはありません。 その目的は、Yandex によると次のとおりです: “The Yandex robot uses this directive to avoid reloading duplicate information. This improves the robot’s efficiently and reduces the server load.”(この「efficiently」は Yandex のライブページにある実際のタイポです。私は黙って修正せず、そのまま引用しています。)

これが解決する問題: “The new parameter that doesn’t affect the page content may result in duplicate pages that should not be included in the search.” 構文は次のとおりです:

Clean-param: p0[&p1&p2&..&pn] [path]

Yandex 自身の実例 — ref トラッキングパラメータだけが異なる 3 つの URL:

www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123
www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123
www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123

…単一のディレクティブで 1 つの正規 URL(www.example.com/some_dir/get_book.pl?book_id=123)に集約されます:

User-agent: Yandex
Clean-param: ref /some_dir/get_book.pl

Clean-param を間違えやすい点が 2 つあります。まず、“The Clean-param directive does not require mandatory combination with the Disallow directive” — これは単独で機能し、パラメータ付き URL を Disallow する必要はありません。次に、これは交差的です: Yandex によると、“is intersectional, so it can be specified anywhere in the file, regardless of the location.” Allow/Disallow がパスに固定されているのとは異なり、Clean-param はファイル内のどこにでも配置できるグローバルディレクティブです。

Yandex はまた、一部のパラメータを自動的に処理する可能性があることも指摘しています: “Parameters for analytics and tracking that don’t affect the page content may be automatically removed by the search engine if the algorithms determine that those parameters are insignificant.” しかし、自分にとって重要なパラメータについては Clean-param に頼るのが確実な方法です。これは、Google が旧 URL パラメータツールを廃止した後、現在正規化シグナル(正規タグ、内部リンク)に依存しているのと同様の Yandex 版です — Yandex は、Google にはない明示的な robots.txt ディレクティブを提供しているのです。

Crawl-delay は廃止されました(2018年2月以降)

Yandex の robots.txt で Crawl-delay が機能すると読んだことがあるなら、その情報は古いものです。Yandex 自身の専用ページは明確です: “From February 22, 2018, Yandex doesn’t take into account the Crawl-delay directive.”

これは、少なくとも 1 つの広く読まれている SEO リソースが今も反対のことを述べているため、指摘する価値があります。Ahrefs の robots.txt ガイド(著者は Joshua Hardwick で、私ではありません)は現在、“Google no longer supports this directive, but Bing and Yandex do.” と述べています。Yandex に関しては、これは Yandex 自身の現在のドキュメントと矛盾しています。ここでは Yandex の専用で日付入りのページを権威とみなすべきですが、より広い教訓が有益です: クロール動作に関する主張は、二次情報のガイドを信頼する前に、エンジンのライブドキュメントで検証してください。 これらの詳細は変化し、優れた情報源でも古くなるからです。(Bing が今も crawl-delay を尊重しているという対比に注意してください — これは実際の Bingbot/YandexBot の相違点の 1 つです。)

代替となるのは、Yandex Webmaster のクロールレート設定で、YandexBot がサイトを取得する速度に影響を与えることができます。(Yandex の Crawl-delay ページは、実質的に 1 文とその設定へのポインタだけです。)

YandexBot が JavaScript を処理する方法

Yandex の JavaScript レンダリングは、Yandex 自身によって明示的に**ベータ(β)とラベル付けされており、デフォルトの動作は「ボットの裁量による」です — ボットは”will independently determine whether to execute JavaScript code on the site’s pages.” 実行する場合、“assess the quality and completeness of the content on the pages with and without JavaScript” を行い、訪問者にとってより有用と思われるバージョンを提供する可能性があります。

ここには、掘り下げる価値のある重要な緊張関係があります。2023年のYandexソースコードリーク(内部のエンジニアリング文書を公開したもので、公式声明ではありません。以下で詳しく説明します)は、より単純な構図を示唆していました。Mike Kingが*Search Engine Landのリーク分析で書いたように: “Yandex has no separate rendering system for JavaScript. They say this in their documentation and, although they have Webdriver-based system for visual regression testing called Gemini, they limit themselves to text-based crawl.” (翻訳) 「YandexにはJavaScript用の独立したレンダリングシステムはありません。彼らは自社のドキュメントでそう述べており、Geminiと呼ばれるビジュアル回帰テスト用のWebdriverベースのシステムはあるものの、テキストベースのクロールに限定しています。」(この内部の「Gemini」はYandexのビジュアル回帰テスト*ツールであり、名前が同じでもGoogleのGemini AIモデルとはまったく無関係です。混同しないように明確にしておく価値があります。)そしてDan Taylorの Search Engine Journalの記事は、“nothing new to suggest Yandex can crawl JavaScript yet outside of already publicly documented processes.” (翻訳) 「すでに公開されているプロセス以外で、YandexがまだJavaScriptをクロールできることを示す新しいものはない。」と結論付けました。

したがって、正直な答えは「YandexBotがGooglebotと同じようにJSをレンダリングする」でも「YandexBotはJavaScriptに一切触れない」でもありません。Yandex自身の説明によれば、それは選択的かつベータ版です。リークの「独立したレンダリングシステムはない」という説明はその枠組みと一致していますが、それはYandexの開示ではなく、業界の報道を通じて伝えられたリークされた内部資料です。したがって、「アーキテクチャ的にGoogleより単純」というのは、2つの一貫したシグナルに対するもっともらしい解釈として扱い、文書化された事実としては扱わないでください。自分にとって重要なルートについては、どちらの説明も鵜呑みにせず、直接テストしてください:

  • レンダリングされた出力: JavaScriptを無効にしてページを取得し、JSレンダリング版と比較します。2つが有意に異なる場合、Yandexがレンダリングされた方を表示したと想定しないでください。
  • リソースへのアクセス: ページが依存するJS、CSS、APIエンドポイントがrobots.txtでブロックされていないことを確認します。YandexのYandexRenderResourcesBotはレンダリング時のリソースを取得しますが、(Yandex自身のドキュメントによると)メインのインデックスボットがすでに到達できるページのみです。許可されたページ上のブロックされたリソースは、それでも読み込まれません。
  • 遅延およびインタラクティブなコンテンツ: DOMContentLoadedイベントの後またはクリックの背後で読み込まれるものは、レンダリングが保証されていません。Yandexの高度なレンダリング設定(window.YandexRotorSettings)は、「コンテンツが遅延して読み込まれる」サイトのために特別に存在します。これは、単なる設定オプションではなく、読む価値のあるシグナルです。

実用的な要点:Yandexの公式ドキュメントは、“Prohibit rendering if SSR (Server-Side Rendering) or pre-rendering is implemented on the site,” (翻訳) 「サイトでSSR(サーバーサイドレンダリング)またはプリレンダリングが実装されている場合は、レンダリングを禁止してください。」と推奨し、“Executing JavaScript code may create additional load on your server.” (翻訳) 「JavaScriptコードの実行はサーバーに追加の負荷をかける可能性があります。」と述べています。JS主体のコンテンツをYandexで確実にインデックスさせたい場合は、クライアントサイドレンダリングで運を試すのではなく、サーバーサイドで配信してください。

AJAXスタイルのサイトについて、Yandexは*“When indexing an AJAX site, the Yandex bot scans the original URLs and executes JavaScript code on them”* (翻訳) 「AJAXサイトをインデックスする際、Yandexボットは元のURLをスキャンし、それらに対してJavaScriptコードを実行します。」と述べており、古いHTMLスナップショットのハックからは移行しています。非推奨のmeta name="fragment"アプローチをまだ使用している場合、“the bot will ignore it and index the original page.” (翻訳) 「ボットはそれを無視して元のページをインデックスします。」その最新の推奨事項はGoogleのものと似ています:“If the links on AJAX pages use the # character, change the addresses to URLs without this character. For example, you may use the History API.” (翻訳) 「AJAXページのリンクが#文字を使用している場合は、この文字を含まないURLにアドレスを変更してください。たとえば、History APIを使用できます。」

2023年のソースコードリークがクローラーについて明らかにしたこと

2023年1月、Yandexの内部ソースコードが流出しました。これはSearch Engine Land、Search Engine Journalなどで広く裏付けられた出来事です。これを流出した内部文書であり、Yandexの公式発表ではないと扱ってください。しかし、クローラーの仕組みについての実際の詳細が明らかになりました。Mike King氏のSEL分析によると:“Yandex’s documentation discusses a dual-distributed crawler system. One for real-time crawling called the ‘Orange Crawler’ and another for general crawling.” (翻訳) 「Yandexの文書は二重分散クローラーシステムについて述べている。リアルタイムクローリング用の『オレンジクローラー』と、一般的なクローリング用のもう一つである。」彼はGoogleとの類似性を指摘し、Googleは*“is said to have had an index stratified into three buckets, one for housing real-time crawl, one for regularly crawled and one for rarely crawled.”* (翻訳) 「リアルタイムクロール、定期クロール、稀なクロールの3つのバケットに階層化されたインデックスを持っていたと言われている。」つまり、両エンジンはコンテンツの更新頻度に応じたセグメント化されたクローリングを採用しているように見える。

この流出は、クローリングをサイトアーキテクチャに直接結び付けました。Dan Taylor氏のSEJ報道によると、“URLs that are reachable from the homepage have a ‘higher’ level of importance.” (翻訳) 「ホームページから到達可能なURLは『より高い』重要度を持つ。」これは「クローラーの仕組み」から「内部リンクが重要な理由」への明確な橋渡しであり、Googlebotにも適用される同じクロール深度のロジックです。

(規模の参考:広く引用される「1,922のランキング要因」という数字は特定のアーカイブファイルに固有であり、完全なコードベースには複数のファイルにわたってさらに多くの要因が含まれていると報告されています。特定の数字を引用する場合は、日付と出典を明記してください。)

YandexBotが今も重要な理由 — そしてrobots.txtでの一般的さ

Yandexの世界シェアはわずかですが、ロシアでのシェアはそうではありません:ロシアで約71%、Googleの約27%(2026年6月時点、StatCounter)。この安定性こそが、YandexBotを別途扱うべき理由のすべてです。ロシア/CIS向けのビジネスがあるなら、YandexBotをブロックすることは、その市場で支配的なエンジンを締め出すことになります。

サイトが実際にYandexBot向けに設定する頻度はどのくらいでしょうか?まれですが、増加傾向にあります。Web Almanac 2022 SEO章(私はその年のレビュアーで、2021年章の主執筆者でした): YandexBot appeared in “just 0.5% of robots.txt files in 2021. By 2022, there was a six-fold increase, with 3% of files specifying Yandexbot.” (翻訳) 「2021年にはrobots.txtファイルのわずか0.5%にYandexBotが登場した。2022年までに6倍に増加し、3%のファイルがYandexbotを指定した。」小さいですが、明確な上昇傾向であり、「実際にどの程度使われているか」の有用なベースラインです。

ブロックするかどうかを決める場合、正直な枠組みは技術的な問題ではなくビジネス上の問題です。そして、これはウェブマスターフォーラムで繰り広げられる実際の議論です。YandexBotがその中で動作するより広い仕組み(URL発見、クロールスケジューラ、レンダリング、クロールとインデックスとランクの区別)については、クローリングハブを参照してください。また、ロシア/CIS戦略の一環としてYandexを具体的に設定する方法については、国際SEOおよび市場固有SEOの資料がそれを結び付けています。

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.