{"slug": "geo-coverage-audit", "title": "GEO coverage audit", "definition": "One record per public data asset InfoGap operates, plus the axes that connect them. Assets are measured on disk (file counts and bytes), not self-reported. The gap table ranks city x industry cells that have no page yet. Internal IP addresses and local disk paths are removed from this public copy; everything else is verbatim.", "source": "Generated by /opt/internal_board/gen_geo_coverage.py (crontab 20 4 * * *), which measures this host, the infogap.store host and the central MySQL database on each run. The public copy drops internal IPs and disk paths.", "license": "CC BY-NC 4.0", "spatial_coverage": "China, plus world aggregates", "counts": {"assets": 12, "hosts": 2, "cities_with_page": 384, "cities_scored": 358, "industries_with_page": 75, "cells_considered": 26850, "gap_rows": 50}, "traffic": {"method": "对 /var/log/nginx 全部可读日志（含 .gz 轮转）逐行分类：self / scanner / search_bot / ai_crawler / unknown_external。CN 站点日志窗口 2026-09-13→09-21（9 天），SG 站点（infogap.access.log）窗口 2026-09-12→09-21（10 天）。", "self_rules": {"ip_prefix": ["127.", "123.249.92.", "123.249.105.", "121.69.", "43.128.104.100(SG自身)"], "ua_contains": ["lingxi-inventory/1.0", "internal-workstatus/1.0", "curl/", "infogap-sitemap-check", "infogap-indexnow-push", "Wget/", "python-requests"], "note": "121.69 段 = 本机专用浏览器的验收流量（用户 2026-09-21 确认自家）；123.249.92/105 与 127.0.0.0/8 = 服务器自访；SG 侧 43.128.104.100 = 该机自访自己公网 IP"}, "cn": {"window": "2026-09-13 → 2026-09-21", "log_files": {"access.log": 27989, "access.log.1": 48981, "access.log.2.gz": 36209, "access.log.3.gz": 7285, "access.log.4.gz": 1785, "access.log.5.gz": 4480, "access.log.6.gz": 5244, "access.log.7.gz": 4173, "access.log.8.gz": 7236}, "total_requests": 143382, "by_class": {"self": 118032, "scanner": 14984, "unknown_external": 7248, "search_bot": 978, "ai_crawler": 2140}, "geo_pages_by_class": {"self": 15273, "ai_crawler": 193, "unknown_external": 19, "scanner": 9, "search_bot": 4}, "geo_pages_total_non_self": 225, "geo_days": {"2026-09-13": {"self": 2344, "unknown_external": 2, "search_bot": 1}, "2026-09-14": {"self": 6, "search_bot": 1, "scanner": 1}, "2026-09-15": {"self": 8}, "2026-09-16": {"self": 9, "unknown_external": 1, "search_bot": 1, "scanner": 2}, "2026-09-17": {"self": 14}, "2026-09-18": {"self": 445}, "2026-09-19": {"self": 3680, "scanner": 5, "unknown_external": 1}, "2026-09-20": {"self": 5521, "unknown_external": 3, "scanner": 1, "search_bot": 1}, "2026-09-21": {"self": 3246, "unknown_external": 12, "ai_crawler": 193}}, "ai_crawler_identity": {"GPTBot/1.4 (OpenAI)": 749, "note": "74.7.227.9 / 74.7.227.26 等 OpenAI 段；193 次落在 /seo_pages/* 与 /geo/ 地图页上；来源 referer 含 https://www.shengminglian.com.cn 与 http://123.249.92.159"}, "search_bot_identity": {"Baiduspider": 1, "PetalBot": 12, "360Spider": 15, "note": "search_bot 全站 978 次，落在 geo 页面的只有 4 次"}, "human_evidence": "geo 页面 9 天内非自家、非机器人、非扫描器的请求 19 次（unknown_external）；逐条看过，均为境外机房 IP 的抓取/预览，无一条具备真实用户特征（无搜索来源 referer、无后续资源请求）", "control_observation": "同期 /qianchenxiaowu/（非 geo 产品页）在 2026-09-21 07:34 出现一波同秒并发、含真实中国电信上海住宅 IP（180.163.x / 183.241.25.145）的访问 —— 说明真实用户流量在本日志里是可识别的；geo 页面没有这种形态的流量"}, "sg": {"window": "2026-09-12 → 2026-09-21", "log_prefix": "infogap.access.log", "by_class": {"self": 30500, "datacenter_other": 9389, "possible_human": 5856, "scanner": 2021, "search_bot": 915, "ai_crawler": 705}, "days": {"2026-09-12": {"self": 8, "datacenter_other": 420, "possible_human": 253, "scanner": 84, "ai_crawler": 272, "search_bot": 53}, "2026-09-13": {"self": 12, "datacenter_other": 590, "possible_human": 357, "scanner": 248, "search_bot": 45, "ai_crawler": 297}, "2026-09-14": {"self": 1128, "datacenter_other": 1425, "possible_human": 631, "scanner": 74, "search_bot": 1, "ai_crawler": 2}, "2026-09-15": {"self": 97, "datacenter_other": 466, "possible_human": 430, "scanner": 515, "ai_crawler": 1}, "2026-09-16": {"self": 884, "datacenter_other": 1049, "possible_human": 339, "scanner": 96, "search_bot": 27, "ai_crawler": 1}, "2026-09-17": {"self": 495, "datacenter_other": 1317, "possible_human": 506, "scanner": 650, "search_bot": 7, "ai_crawler": 88}, "2026-09-18": {"self": 514, "datacenter_other": 501, "possible_human": 591, "scanner": 95, "search_bot": 47, "ai_crawler": 34}, "2026-09-19": {"self": 7171, "datacenter_other": 138, "possible_human": 1061, "scanner": 124, "search_bot": 602, "ai_crawler": 3}, "2026-09-20": {"self": 13978, "datacenter_other": 3263, "possible_human": 864, "scanner": 86, "search_bot": 115, "ai_crawler": 1}, "2026-09-21": {"self": 6213, "datacenter_other": 220, "possible_human": 824, "scanner": 49, "search_bot": 18, "ai_crawler": 6}}, "china_pages_by_class": {"/china/": {"self": 1450, "possible_human": 9, "datacenter_other": 22, "scanner": 8, "ai_crawler": 2, "search_bot": 2}, "/china/badaling/": {"self": 1427, "possible_human": 4, "datacenter_other": 11, "scanner": 5, "ai_crawler": 2, "search_bot": 2}, "/china/night/": {"self": 1411, "possible_human": 2, "datacenter_other": 7, "scanner": 2, "ai_crawler": 2, "search_bot": 2}, "/china/beijing/": {"self": 816, "possible_human": 4, "datacenter_other": 7, "scanner": 6, "ai_crawler": 2, "search_bot": 2}, "/china/shanghai/": {"self": 632, "possible_human": 4, "datacenter_other": 1, "scanner": 1}, "/china/xian/": {"self": 618, "possible_human": 2, "datacenter_other": 1, "scanner": 1}, "/china/chengdu/": {"self": 616, "possible_human": 1, "datacenter_other": 2, "scanner": 1}}, "possible_human_caveat": "5856 条 possible_human 逐条抽样后基本都是伪装成浏览器的抓取/预览：例如 Authorized-IP-HTTP-Checker、Palo Alto Networks 扫描、ForestEngine、CyberConvoyScout、visionheight.com/scan、fake iPhone UA 从腾讯云 IP 打首页。城市页上的 possible_human 只有 1–9 条/页/10 天。", "search_engine_referers": {"total": 44, "www.google.com": 27, "www.baidu.com": 16, "www.yahoo.com": 1, "verdict": "44 条里绝大多数落在 `/` 且来自机房 IP（华为云 1.94.x/124.70.x、腾讯云 43.x/49.x、146.190.81.240），形态是 SEO 工具/扫描器伪造 referer；无一条指向 /china/<城市>/ 页面。即：城市页 10 天内没有任何来自搜索结果的真实到访证据。"}}, "cost_reference": {"source": "/mnt/data/www/research/ads-scout-20260921.html（搜索工 2026-09-21 报告）", "cpc": {"google_search_shopping_typical_usd": "0.4–2.6", "google_b2b_usd": 10.27, "google_competitor_kw_usd": 12.8, "google_extreme_single_click_usd": 335.8, "meta_usd": "0.3–1.5", "reddit_usd": "0.13–0.19"}, "cpm": {"meta_healthy_usd": "9–25", "meta_observed_usd": "42–63", "reddit_usd": 9.65, "openai_ads_usd": 60}, "self_built_page": {"cash_cost_industry_page": 0.0, "cash_cost_city_page": null, "evidence": "行业页由静态生成器写出（/mnt/data/www/seo_pages/，20–30KB/页，无外部 API 调用）；城市页流水线 /opt/citypages/pipeline.py 逐城运行，queue.json 记录实测铺页耗时 218s–456s/城（机器时间，非现金）；翻译环节的 LLM 花费未入库 → 写「未知」"}, "fx_note": "报告原文为美元；按 1 美元 ≈ 7.1 元换算（换算率是假设，不是实测）"}}, "regen": {"script": "/opt/internal_board/gen_geo_coverage.py", "schedule": "crontab 20 4 * * *", "ran_at": "2026-09-29 08:43:03", "auto": ["generated_at", "hosts", "assets[].pages/bytes", "axis_counts", "matrix", "matrix_city_industry.csv"], "carried": ["traffic", "gaps", "gaps_note", "matrix.note", "各 asset 的 note 文字"], "carried_reason": "traffic = 2026-09-21 对 9~10 天 nginx 日志的一次性人工分类取证；gaps = 加权百分位打分排名，原文没给全公式，逆推等于编数字", "errors": [], "prev_generated_at": "2026-09-29T08:41:53+08:00"}, "generator": "InfoGap export_datasets.py", "generated_at": "2026-09-29T19:49:45+08:00", "records": [{"id": "cn.geo.column", "family": "GEO 信源专栏", "host": "CN", "url": "https://shengminglian.com.cn/geo/", "pages": 27, "bytes": 93411624}, {"id": "cn.seo.industries", "family": "行业诊断页", "host": "CN", "url": "https://shengminglian.com.cn/seo_pages/", "pages": 76, "bytes": 1260265}, {"id": "cn.world.opportunity", "family": "全球机会", "host": "CN", "url": "https://shengminglian.com.cn/world-opportunity.html", "pages": 2, "bytes": 1754132}, {"id": "cn.map.family", "family": "地图族", "host": "CN", "url": "https://shengminglian.com.cn/china-map.html", "pages": 6, "bytes": 81957}, {"id": "cn.city.opportunity_map", "family": "城市机会地图", "host": "CN", "url": "https://shengminglian.com.cn/city_opportunity_map/", "pages": 1, "bytes": 53665}, {"id": "cn.learn", "family": "学习中心", "host": "CN", "url": "https://shengminglian.com.cn/learn/", "pages": 81, "bytes": 262924051}, {"id": "cn.cost", "family": "成本看板/设备台账", "host": "CN", "url": "https://shengminglian.com.cn/internal/devices/", "pages": 2, "bytes": 340882}, {"id": "sg.china.cities", "family": "中国城市导览页", "host": "SG", "url": "https://infogap.store/china/", "pages": 384, "bytes": 125561706}, {"id": "sg.slices", "family": "切片矩阵", "host": "SG", "url": "https://infogap.store/slices/", "pages": 114, "bytes": 11461942}, {"id": "sg.chinese", "family": "中文学习入口", "host": "SG", "url": "https://infogap.store/chinese/", "pages": 1, "bytes": 93184}, {"id": "curve.api", "family": "行业曲线 API", "host": "CN", "url": "http://127.0.0.1:8923/api/curve/industries", "pages": 142, "bytes": 47011}, {"id": "opt.builders", "family": "构建侧（非公网）", "host": "both", "url": null, "pages": null, "bytes": null}]}