{
  "schemaVersion": "0.1",
  "id": "public-deployment-check-20260707",
  "name": "doctorlucheng.com 公开部署可抓取性检查",
  "checkedAt": "2026-07-07",
  "timezone": "Asia/Shanghai",
  "domain": "doctorlucheng.com",
  "purpose": "验证 doctorlucheng.com 是否已经具备搜索引擎和 AI 平台抓取的最低公开访问条件，并为后续豆包、腾讯元宝、通义千问、DeepSeek 复测提供门禁。",
  "overallStatus": "public-web-service-not-ready",
  "canClaim": [
    "第一批 30 条 GEO 蒸馏问法已写入本地目标页面。",
    "本地 sitemap、feed、llms 和结构化数据已准备好。",
    "本机 dig 返回 198.18.x.x 地址，但公共 DoH 交叉查询未观察到 doctorlucheng.com 可用 A 记录；当前未形成可抓取的 HTTP/HTTPS 站点。"
  ],
  "cannotClaim": [
    "不能声称 doctorlucheng.com 已经公网部署成功。",
    "不能声称 doctorlucheng.com 已经被搜索引擎发现或索引。",
    "不能声称豆包、腾讯元宝、通义千问或 DeepSeek 已经采用 doctorlucheng.com 内容。",
    "不能把 geo.bb78.cn 后台的收录统计套用为 doctorlucheng.com 的收录结果。"
  ],
  "commands": [
    {
      "id": "live-check",
      "command": "node scripts/check-live-site.mjs https://lucheng-geo.pages.dev --scope=icp-review --timeout-ms=8000",
      "result": "failed",
      "failedUrls": [
        "https://lucheng-geo.pages.dev/",
        "https://lucheng-geo.pages.dev/robots.txt",
        "https://lucheng-geo.pages.dev/sitemap.xml",
        "https://lucheng-geo.pages.dev/feed.xml",
        "https://lucheng-geo.pages.dev/products/munich-110.html",
        "https://lucheng-geo.pages.dev/evidence/",
        "https://lucheng-geo.pages.dev/articles/system-windows-selection-guide.html",
        "https://lucheng-geo.pages.dev/articles/high-rise-balcony-window-parameters.html",
        "https://lucheng-geo.pages.dev/articles/lucheng-munich-110-review.html"
      ],
      "rawResultSummary": "所有核心入口均 fetch failed。"
    },
    {
      "id": "dns-root-a",
      "command": "dig +short doctorlucheng.com A",
      "result": "198.18.2.171",
      "interpretation": "本机解析结果，疑似代理/fake-IP，不作为公网 DNS 证据。"
    },
    {
      "id": "dns-www-a",
      "command": "dig +short www.doctorlucheng.com A",
      "result": "198.18.3.179",
      "interpretation": "本机解析结果，疑似代理/fake-IP，不作为公网 DNS 证据。"
    },
    {
      "id": "dns-root-cname",
      "command": "dig +short doctorlucheng.com CNAME",
      "result": ""
    },
    {
      "id": "dns-www-cname",
      "command": "dig +short www.doctorlucheng.com CNAME",
      "result": ""
    },
    {
      "id": "cloudflare-doh-root-a",
      "command": "curl -sS --max-time 10 'https://cloudflare-dns.com/dns-query?name=doctorlucheng.com&type=A' -H 'accept: application/dns-json'",
      "result": "no-answer",
      "rawResultSummary": "Status 0 with SOA authority only; no Answer A record."
    },
    {
      "id": "cloudflare-doh-www-a",
      "command": "curl -sS --max-time 10 'https://cloudflare-dns.com/dns-query?name=www.doctorlucheng.com&type=A' -H 'accept: application/dns-json'",
      "result": "nxdomain",
      "rawResultSummary": "Status 3 with SOA authority only; no Answer A record."
    },
    {
      "id": "google-doh-root-a",
      "command": "curl -sS --max-time 10 'https://dns.google/resolve?name=doctorlucheng.com&type=A'",
      "result": "no-answer",
      "rawResultSummary": "Status 0 with SOA authority only; no Answer A record."
    },
    {
      "id": "google-doh-www-a",
      "command": "curl -sS --max-time 10 'https://dns.google/resolve?name=www.doctorlucheng.com&type=A'",
      "result": "nxdomain",
      "rawResultSummary": "Status 3 with SOA authority only; no Answer A record."
    },
    {
      "id": "https-root",
      "command": "curl -I -L --max-time 10 https://lucheng-geo.pages.dev/",
      "result": "failed",
      "exitCode": 35,
      "rawResultSummary": "LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to doctorlucheng.com:443"
    },
    {
      "id": "http-root",
      "command": "curl -I -L --max-time 10 http://doctorlucheng.com/",
      "result": "failed",
      "exitCode": 52,
      "rawResultSummary": "Empty reply from server"
    },
    {
      "id": "local-full-live-check",
      "command": "node scripts/check-live-site.mjs http://127.0.0.1:4173 --expect-base-url=https://lucheng-geo.pages.dev --scope=full --timeout-ms=8000",
      "result": "passed",
      "rawResultSummary": "本地 HTTP 预览检查 37 个入口全部返回 200，合计 327199 字节；说明当前阻断集中在公网 DNS/部署，不是本地静态文件结构。"
    }
  ],
  "localPreviewEvidence": {
    "status": "passed",
    "checkedUrl": "http://127.0.0.1:4173",
    "expectedBaseUrl": "https://lucheng-geo.pages.dev",
    "scope": "full",
    "checkedEntryCount": 37,
    "totalBytes": 327199,
    "interpretation": "静态站本地文件、canonical、robots、sitemap、feed、llms、报告页和数据 JSON 均可通过 HTTP 抓取；公网不可抓取不是由本地内容缺失导致。"
  },
  "dnsObservation": {
    "localResolverRootARecord": "198.18.2.171",
    "localResolverWwwARecord": "198.18.3.179",
    "publicDohRootARecord": "not-observed",
    "publicDohWwwARecord": "not-observed",
    "rootCname": "",
    "wwwCname": "",
    "interpretation": "本机 dig 返回 198.18.x.x，但 198.18.0.0/15 常见于代理/fake-IP 环境；Cloudflare/Google DoH 未返回可用 A 记录。因此当前更准确表述是：公网未观察到可用解析，HTTP/HTTPS 也未形成可抓取站点。"
  },
  "crawlerGate": {
    "status": "failed",
    "minimumPassCriteria": [
      "https://lucheng-geo.pages.dev/ 返回 200 或稳定 301/302 到 200。",
      "https://lucheng-geo.pages.dev/robots.txt 返回 200，并包含 sitemap 声明。",
      "https://lucheng-geo.pages.dev/sitemap.xml 返回 200，且包含第一批目标文章。",
      "https://lucheng-geo.pages.dev/feed.xml 返回 200。",
      "第一批目标文章 URL 返回 200，HTML 中包含对应 FAQ/答案块、canonical、结构化数据和正文摘要。"
    ],
    "currentFailures": [
      "首页 fetch failed。",
      "robots/sitemap/feed 均 fetch failed。",
      "产品页、证据中心和核心文章均 fetch failed。",
      "公共 DoH 未观察到 root/www 可用 A 记录。",
      "HTTP/HTTPS 均未返回可用 HTML。"
    ]
  },
  "nextActions": [
    {
      "priority": "P0",
      "action": "在不改变现有线上设置前提下，先决定部署路线：备案完成后走阿里云内地 OSS/ECS/CDN，或为了快速验证先走非内地静态托管/灰度子域名。",
      "successEvidence": "用户确认部署路线，并有一个可写入 DNS 的目标地址或托管服务。"
    },
    {
      "priority": "P0",
      "action": "把 doctorlucheng.com root 与 www 解析到真实 Web 服务，不再解析到当前不可用地址。",
      "successEvidence": "Cloudflare/Google DoH 返回托管服务要求的 A/CNAME；curl http/https 首页返回 2xx 或正确跳转。"
    },
    {
      "priority": "P0",
      "action": "部署当前静态站文件，并启用 HTTPS。",
      "successEvidence": "check-live-site 对首页、robots、sitemap、feed、核心文章全部通过。"
    },
    {
      "priority": "P1",
      "action": "公开 URL 通过后，再执行 30 条问法在豆包、腾讯元宝、通义千问、DeepSeek 的复测并记录原始回答和截图。",
      "successEvidence": "data/post-publish-ai-verification-records.json 出现真实平台记录；reports/post-publish-verification.html 展示可审计证据。"
    }
  ],
  "commercialImplication": "当前仍只能对客户销售“GEO 内容建设、证据审核、发布前可抓取结构、分发与复测服务”，不能销售“已收录、已推荐、保证改变大模型认知”的结果承诺。"
}
