Xserverアクセス解析のボット見分け方と除外設定|robots.txt・.htaccess遮断とAI提案の罠
エックスサーバー(Xserver)のアクセス解析を開いて「今月はすでに 6,100 PV も読まれている!」と喜んだのも束の間、国別や IP アドレス別の内訳を見て 「アメリカが 30%、香港が 14%……いったい誰が見に来ているんだ?」 と首をかしげた経験はありませんか。さらに AI に解析 PDF を見せて遮断設定を作らせたところ、一見完璧に見える .htaccess コードの中に 「そのまま貼ると運営者自身と Search Console を締め出す自爆トラップ」 が 2 つも紛れ込んでいました。
結論からお伝えすると、真の読者とボットは 『ヒット数 ÷ PV 数』の比率 で一目で判別でき、検索流入に繋がらない不要 SEO ボットや偽装スクレイパーは public/robots.txt と public/.htaccess の二段構え で安全に完封できます。本記事では、約 600 記事を運用する当サイトの実測ログと WHOIS 裏取り検証をもとに、正規の検索エンジン・AI 引用・AdSense を 1 ミリも傷つけない防衛設定を公開します。
-
Astro×Google AdSense手動広告の自動挿入ガイド|rehypeとllms.txt完全分離 : 本記事の転送量解析でも海外 AI ボットに回収されていた
llms.txtを汚さず、AdSense 広告を安全に共存させる実装手順です。 -
Binanceの9,500億円流出とAI自動マージ121本|権限分離とローカルOCRの防衛術 : AI が生成した設定やコードを人間・一次情報で裏取りせずにそのまま本番反映する危険性と防衛原則を解説しています。
-
WordPressプラグイン「iQ Block Country」で特定の国からの不審な接続を遮断した記録 : 旧 WordPress 運用時代に悩まされた海外からの不審アクセス対策と、静的サイト移行後の違いを振り返った記録です。
-
MacのSafariでWordPress管理画面が真っ白で入れない原因|プライベートリレー設定の直し方 : Apple の iCloud プライベートリレー等により IP アドレスが変わることで起きるサーバー側のアクセス制限トラブル解決録です。
-
エックスサーバー等のアクセス解析で 海外アクセスや謎の大量 PV IP が上位に並び、本当の読者数を正確に把握したい方
-
検索流入に一切貢献しない SEO 調査ツール系ボットや無断スクレイピング にサーバー帯域をタダ乗りされたくない方
-
ChatGPT や Gemini に
.htaccessの遮断コードを書かせたものの、正規クローラーや自分の回線まで誤遮断しないか不安な方
実測6,100PVの内訳!人間の読者はわずか17.4%
当サイト(Astro 構築・約 600 記事)の Xserver アクセス解析ツール(月初の約 4 日間・計 4,214 件の IP アドレスから約 6,100 PV)を解剖したところ、現代の個人サイトを取り巻くリアルな通信構造が浮き彫りになりました。なんと 上位 10 個の IP アドレスだけで全体アクセスの 37.8%(2,353 PV)を占有 していたのです。
国別のPVとヒット数比で見抜くボットの正体
「通常の PV 集計に紛れ込んでいるアクセスが人間かボットか」を見分ける最も確実な指標は、『ヒット数(HTML だけでなく CSS・JS・WebP 画像などの読み込み総数)÷ PV 数』の比率 です。ブラウザ設定を偽装して「人間用の Chrome」を名乗る行儀の悪いボットも、この数字を見れば一瞬で尻尾を出します。
| 国・地域 | PV数(構成比) | ヒット数 | 1PVあたりヒット数 | 転送量 | 通信挙動から判明した正体 |
|---|---|---|---|---|---|
| 日本 (jp) | 1,067 (17.4%) | 3,517 | 約 3.30 回 | 80.6 MB | 【本物の読者】 PV 数は 2 位ながらヒット数は断トツ 1 位。CSS や WebP 画像を正常に描画して回遊している人間の読者層。 |
| アメリカ (us) | 1,863 (30.4%) | 2,591 | 約 1.39 回 | 84.8 MB | 【クローラー・クラウド群】 Google 関連インフラや米国データセンターからの機械的な巡回・検査アクセスが大半。 |
| 香港 (hk) | 855 (13.9%) | 863 | 約 1.01 回 | 18.9 MB | 【100% ボット】 画像や CSS を一切読まず HTML だけを 1 対 1 で収集。単独 1 位 IP(601 PV)もここのスクレイパー。 |
| 中国 (cn) | 498 (8.1%) | 646 | 約 1.30 回 | 15.8 MB | 【海外検索・収集ボット】 中国系検索エンジン(Baidu 等)やクローラーによる巡回。 |
| シンガポール (sg) | 442 (7.2%) | 447 | 約 1.01 回 | 19.9 MB | 【100% ボット】 香港と同様、アジア圏のクラウド拠点から HTML テキストのみを機械収集するプログラム。 |
| フランス (fr) | 91 (1.5%) | 192 | 約 2.11 回 | 73.5 MB | 【大容量回収】 たった 91 PV で日本の総転送量に迫る 73.5 MB を引き抜いていた特異アクセス(OVH 系ホスティング帯)。 |
うわぁ……全体で 6,100 PV ある思うて喜んどったら、人間の読者さんは日本の約 1,000 PV で、香港の 855 PV なんかは画像 1 枚すら見とらん丸裸のボットじゃったんか!
そうなんです!普通のブラウザで記事を開けば HTML のほかに CSS やアイキャッチ画像も読み込むので、1 PV あたり 3 ヒット前後になります。逆に 「PV 数とヒット数がほぼ同数(1.01 倍)」になっている国や IP は、文字データだけを高速で抜き取っているスクレイパー と判断して間違いありません。
AI学習ボット8,300回と大容量ファイルの謎
さらに驚くべきことに、Xserver の解析ツール(内部的には AWStats ベース)が「ロボット・スパイダー別」として最初から人間とは別枠で集計していた通信を見ると、人間の PV をはるかに上回るボットの大群が押し寄せていました。
-
新興 AI クローラー群が約 8,300 回で圧倒的トップ : Xserver 標準リストに個別登録されていない新興ボット枠(
bot[...]が 6,346 回/211.5 MB、crawlが 1,992 回/39.3 MB)だけで計 8,338 回に達していました。生成 AI の学習・検索クローラー(GPTBot・OAI-SearchBot・ClaudeBot・PerplexityBotなど:推論)が、テキスト密度の高い技術・考察記事を精力的に収集しています。 -
正規の検索エンジンと購読フィードは極めて健全 :
bingbot(1,291 回)、Googlebot群(計 1,208 回)、Applebot(382 回)、そして RSS リーダー等のfeed(761 回)が毎日安定して巡回しており、Astro の静的 HTML と WebP 画像(4,143 ヒットで平均約 18 KB の超軽量配信)が高く評価されていることが裏付けられました。 -
フランス等からの大容量引き抜きの正体は「AI コーパスと全文 RSS」 : 「なぜフランスの IP がわずか数 PV で数十 MB も抜いていたのか」をファイル別転送量で調べたところ、
.xml(57 回で 119.8 MB)、.jsonl(1 回で 12.3 MB)、.txt(17 回で 11.8 MB)が原因でした。一瞬「データの流出か?」とドキッとしますが、実は当サイトが AI 引用(GEO)と全文購読のために意図的に公開している/ai-corpus.jsonl・/llms-full.txt・全文/rss.xmlを海外ボットが回収していったものであり、むしろ設計通りに機能していた結果でした(※心当たりのないバックアップ用.jsonlや.sql等を公開フォルダに置いている場合は即削除が必要です)。
AIの.htaccess遮断案に潜んでいた2つの自爆罠
実態が分かったところで、「日本の読者や正規の検索・AI 引用には一切貢献しない SEO 調査ボット(競合分析ツール)と、ブラウザを偽装して大量収集する行儀の悪いボットは弾きたい」と考え、解析 PDF を読み込ませた Web 版 AI に遮断コードの作成を相談してみました。
すると AI は手際よく robots.txt と .htaccess の設定案を出してくれたのですが、そのままコピペして本番サーバーへ反映する前に全 IP アドレスの WHOIS(管轄組織・ASN)と自サイトの運用構成を照合したところ、背筋が凍る「2 つの誤診」が見つかりました。
-
転送量が大きいという理由だけで、国内 ISP(So-net / NURO 光)の一般回線まで
Require not ipでブロック -
同じ PV 数で並んでいた 5 つのクラウド IP を「不審な一斉チェックボット」と決めつけて遮断し、Search Console の URL 検査機能が自滅
-
国内 ISP 回線と Google 公式フェッチャー IP 帯を完全保護し、香港・欧州ホスティング帯の悪質スクレイパーのみピンポイント遮断
-
ErrorDocument 403の最小テキスト応答と^Mozilla/5\.0$完全一致判定で、通常ブラウザや AdSense に干渉ゼロで帯域を保護
国内ISP回線を海外ボットと誤認して締め出す罠
1 つ目の罠は、「少ない PV で 15.6 MB ものデータを引き抜いている異常アクセス」として AI が遮断リスト(Require not ip)に入れた 219.104.x.x という IP アドレスでした。
念のため JPNIC / APNIC の WHOIS データベースで自律システム番号(ASN)を引いてみると、海外の悪質ホスティングどころか 日本国内の Sony Network Communications(AS2527:So-net 光や NURO 光などの一般家庭・モバイル回線) だったのです。しかもアクセス時刻は解析画面を開くわずか 34 分前でした。
つまり、運営者自身がプレビューやサイト内検索インデックスを読み込んだ通信、あるいは熱心に 13 ページ回遊してくれた日本の読者の通信だった可能性が極めて高く、もし確認せずに .htaccess へ書き込んでいたら 自分自身や大切な国内読者を 403 Forbidden で締め出す大事故 になるところでした。
並列5台が同数107PVだったGoogle検査の正体
2 つ目の罠はさらに巧妙です。IP 別ランキングの 6〜10 位に、136.64.x.x・136.85.x.x・34.177.x.x・35.192.x.x・35.240.x.x という 5 つの異なる IP アドレスが「すべて 1 ミリの狂いもなくピッタリ 107 PV」で並んでいた現象 です。
5 つの違う IP が全部キッチリ 107 回ずつアクセスしてくるなんて、どう見ても不気味な自動攻撃プログラムじゃないの!?止めちゃダメなの?
一見すると怪しいボット軍団に見えますよね!でも WHOIS と Google 公式ドキュメントを突き合わせて計算してみたら、驚くほどスッキリ謎が解けたんです。107 PV × 5 台 = 535 ページ、これ、当時の公開記事数とほぼ一致していたんですよ!
実はこれらの IP ブロック(136.64.0.0/11 や 34.* / 35.*)はすべて Google LLC(AS15169 / AS396982)が所有する公式インフラ であり、Google 検索セントラルが公開している 『ユーザートリガー型フェッチャー(User-Triggered Fetchers)』 に該当します。
ユーザーが Search Console の URL Inspection API(URL 検査ツール)やリッチリザルトテスト、あるいは Gemini の URL 参照機能を実行した際、Google 側の複数台のフェッチャーサーバーがリクエストを均等に並列分担してページを取得しに来ます(この仕様上、ユーザートリガー型フェッチャーは原則として robots.txt も無視して直接取得を行います)。もし AI の推測を鵜呑みにしてこの 5 つの IP を .htaccess で拒否していたら、自分で自分のサイトの Search Console URL 検査や Google ツール連携を破壊するところ でした。
不要ボットだけを弾くrobots.txtと.htaccess
上記の裏取りを経て、正規の検索エンジン(Google・Bing・Apple)、主要 AI 検索(ChatGPT・Claude・Perplexity・Google AI)、AdSense 広告審査クローラー(Mediapartners-Google)、RSS リーダー、そして国内読者を 100% 守りつつ、不要なボットだけを確実に排除する 3 ステップの防衛構成を実装しました。
Ahrefs や Semrush 等の行儀が良い海外 SEO 調査ボットは Disallow: / の記述だけで巡回を停止します。
宣言を無視するボットや偽装 UA・悪質海外 IP を Apache 入口で最小 13 バイトの 403 応答で弾きます。
すでに集計済みの当月ログに残るボット IP は、Xserver 解析画面の除外フィルターで視界から消去します。
主要AIは歓迎し不要SEOボットを断る宣言
まずは Astro プロジェクトの public/robots.txt(WordPress 等なら公開ルート直下の robots.txt)です。今後ますます重要になる生成 AI からの引用流入(GEO)を取りこぼさないよう主要な AI クローラーは明示的に歓迎しつつ、日本の検索流入に繋がらない競合調査ツール系ボットや海外クローラーには巡回拒否を宣言します。
# 正規の検索エンジンおよび主要AI学習・推論クローラーを歓迎します
User-agent: *
Allow: /
User-agent: GPTBot
Allow: /
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: Google-Extended
Allow: /
User-agent: GoogleOther
Allow: /
User-agent: ClaudeBot
Allow: /
User-agent: PerplexityBot
Allow: /
User-agent: Applebot-Extended
Allow: /
# 検索流入・主要AI引用に寄与しないSEO調査ボット・無断収集ボットの巡回拒否
# ※途中に空行を入れず連続記述して1つのグループにまとめるのがRFC 9309の鉄則です
User-agent: SemrushBot
User-agent: AhrefsBot
User-agent: MJ12bot
User-agent: DotBot
User-agent: Rogerbot
User-agent: BLEXBot
User-agent: DataForSeoBot
User-agent: Barkrowler
User-agent: PetalBot
User-agent: Bytespider
User-agent: Baiduspider
User-agent: SeznamBot
User-agent: proximic
Disallow: /
Sitemap: https://example.com/sitemap-index.xml
なお、タグ一覧ページなどに HTML 側で <meta name="robots" content="noindex, follow" /> を設定している場合、robots.txt に Disallow: /tags/ を書いてしまうと Googlebot が noindex タグを読み取れなくなるため、正規クローラー向けのブロック記述は混ぜないのが鉄則です。
偽装UAと悪質IPを最小通信で切るサーバー設定
次に、robots.txt を平気で無視する悪質スクレイパーや、今回 14 回のアクセスで 13.9 MB を抜いていた 「User-Agent が Mozilla/5.0 の 1 単語しかない偽装プログラム」 を、public/.htaccess(Apache 2.4 系である Xserver 標準構文)で強制遮断します。
# 403 遮断時はカスタムHTMLやサブリクエストを発生させず最小バイトで即座に切断
ErrorDocument 403 "403 Forbidden"
# 1. WHOISで裏取り済みの悪質海外スクレイピングIPのみ直接遮断
# ※ 国内ISP回線や Google User-Triggered Fetchers (136.64.* / 34.* / 35.* 等) は絶対に入れないこと
<IfModule mod_authz_core.c>
<RequireAll>
Require all granted
# 例:HTMLのみを大量収集していた海外ホスティング帯IPを指定
Require not ip 192.0.2.100
Require not ip 198.51.100.200
</RequireAll>
</IfModule>
# 2. 偽装User-Agent・空User-Agent・強行突破してくる不要SEOボットを 403 で即時遮断
<IfModule mod_rewrite.c>
RewriteEngine On
# (A) User-Agentが「Mozilla/5.0」の1単語のみで終わる偽装ボット
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/5\.0$ [NC,OR]
# (B) User-Agentが空欄(名無し)の機械アクセス
RewriteCond %{HTTP_USER_AGENT} ^$ [OR]
# (C) スクレイピング用ライブラリの初期User-Agent
RewriteCond %{HTTP_USER_AGENT} "^(Go-http-client|python-requests|python-urllib|Scrapy)([ /]|$)" [NC,OR]
# (D) robots.txtを無視してアクセスしてくる不要SEO・海外ボット群
RewriteCond %{HTTP_USER_AGENT} (SemrushBot|AhrefsBot|MJ12bot|DotBot|Rogerbot|BLEXBot|DataForSeoBot|Barkrowler|PetalBot|Bytespider|Baiduspider|SeznamBot|proximic) [NC]
RewriteRule ^ - [F,L]
</IfModule>
-
通常のスマホ・PC ブラウザには 100% 非干渉 : iPhone や Mac・Windows の正規ブラウザは
Mozilla/5.0 (Macintosh; Intel Mac OS X ...)のように後ろに OS 情報が続きます。上記の^Mozilla/5\.0$は先頭(^)から末尾($)までその 11 文字しかない通信だけに一致するため、一般読者を誤って弾く心配はゼロです。 -
ErrorDocument 403 "403 Forbidden"によるサブリクエスト防止と帯域節約 : 親ディレクトリに WordPress 等の設定がある場合でも、403 発生時に内部転送ループやリッチなエラーページの読み込みを起こさず、わずか 13 バイトの文字列だけで瞬時に通信を終了させます。 -
AdSense・SNS カード・死活監視ツールとの共存 : Google の広告クローラー(
Mediapartners-Google/AdsBot-Google)、SNS の OGP 取得(facebookexternalhit/Twitterbot)、RSS リーダー(Feedly等)、およびcurlによるリンク死活チェックはすべて正常に200 OKで通過します。
既存集計のノイズを消す除外フィルター活用術
.htaccess と robots.txt をデプロイすればその瞬間から不要ボットは遮断されますが、「すでに今月のアクセス解析グラフに記録された過去のボット PV」 はそのまま画面に残ります。
純粋な読者の動きを今すぐスッキリ確認したいときは、Xserver アクセス解析の「IP アドレス・ホスト名別」画面上部にある 『除外フィルター(を含まない)』 にチェックを入れ、上位に居座っていた海外スクレイパーの IP を入力して再表示(または「ドメイン・国別」で jp に注目)してみてください。ボットの霧が晴れ、本物の読者がどの時間帯に何ページ読んでくれているかが驚くほどクリアに見えてきます。
まとめ:AIに丸投げせず最上位モデルで裏取りしよう
アクセス解析の数字は、表面の合計 PV だけを見ているとボットの増減に振り回されてしまいますが、「ヒット数との比率」と「WHOIS による IP の素性確認」を押さえるだけで、サイトの本当の健康状態が手に取るように分かります。
-
『ヒット数 ÷ PV 数』を確認し、1.01 倍前後の国・IP は HTML 抜き取りボットと見抜く
-
大容量転送(
.jsonl・.xml・.txt)を見つけたら、意図した AI コーパス・RSS 配信か不要ファイルの放置かを切り分ける -
AI が提案した遮断 IP リストは鵜呑みにせず、国内 ISP(
AS2527等)や Google 公式User-Triggered Fetchersが混ざっていないか必ず WHOIS で裏取りする -
礼儀正しい不要ボットは
robots.txt、無視する偽装ボットは.htaccessの最小バイト403で二段遮断する
なお、ご自身のサイト環境(WordPress 共存環境やサブディレクトリ構成、既存のキャッシュ・リダイレクト設定)に合わせて .htaccess を安全に統合する際は、少しの構文ミスや既存ルールとの競合でサイト全体が 500 Internal Server Error になるリスクがあります。軽量モデルに断片的なコードを書かせるのではなく、必ず『Gemini 4 Argon』または同等以上の最上位推論モデル を使い、以下のプロンプトで既存ファイルの事前調査から進めてみてください。
以下の参考記事の知見(ヒット数÷PV数比によるボット判別、国内ISPやGoogle User-Triggered Fetchers IP帯の誤遮断防止、robots.txtと.htaccessの二段遮断およびErrorDocument 403最小応答)を踏まえて、私のサイト環境向けの安全なボット除外設定を設計してください。
参考記事URL: https://lab.chihouzakki.com/blog/review/xserver-access-log-bot-filter-htaccess-robots-trap/
【重要ルール】
1. いきなり設定ファイルを書き換えず、まず私のプロジェクト内の既存の .htaccess と robots.txt、およびサイトマップ・RSS・AI用ファイルの構成を一字一句確認してください。
2. アクセスログから遮断候補のIPを選ぶ場合は必ずWHOIS/ASNを確認し、国内ISPやGoogle公式フェッチャー・AdSenseクローラー・主要AI検索ボットを誤遮断しない計画を提示して、私の合意を得てから反映してください。 
▲ 招かれざる客か大切なお客さまか、入り口でしっかり顔を見分けるのが門番の極意です