网站首选域名设置:日志中应该核对哪些字段

📍 WDQWDWQD987AAAAA:216.73.216.175
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /baa4c8f4171f.html
📄

网站首选域名设置:日志中应该核对哪些字段

在网站首选域名设置完成后,日志中最该核对的字段是请求URL的主机名(Host)和响应状态码(Status)。前者判断用户和搜索引擎实际访问的是不是首选域名,后者判断非首选域名是否已正确跳转。只改配置不看日志,很容易漏掉跳转链、混合主机名或回源直连的问题。

准备:先明确首选域名与日志字段范围

首选域名是你在站点中对外统一使用的那个主机名,例如带 www 或不带 www 的版本。设置目标通常有两个:首选域名返回正常内容,非首选域名跳转到首选域名。要验证这一点,日志至少要保留以下字段:

如果日志由 CDN 或反向代理生成,还要确认记录的是客户端请求的 Host,还是回源请求的 Host。两者不一致时,单看一份日志会得出错误结论。

实施:抓取并筛选与首选域名相关的日志行

在服务器或日志平台中,按时间范围导出访问日志,然后按 Host 字段分组统计。假设日志格式中 Host 位于某一列,可以用命令行筛选:

awk '{print $1, $9, $10}' access.log | sort | uniq -c | sort -nr

这里的列号只是示例,实际列号取决于日志格式,需要先查看一条原始日志确认。筛选后重点观察三类记录:

  1. Host 等于首选域名的请求,Status 是否以 200 和 3xx 为主。
  2. Host 等于非首选域名的请求,Status 是否为 301 或 308,而不是 200。
  3. Host 为空、为 IP 地址、为临时域名或为内部域名的请求,是否也返回了正常页面。

最关键的一步是把非首选域名的 200 响应单独列出来。如果非首选域名直接返回 200,说明跳转没有生效,或者跳转只在前端页面层面完成,搜索引擎仍可能把两个主机名当作可访问地址。

验证:用状态码和跳转链判断设置是否生效

日志中的状态码需要结合跳转链一起看。可以按以下检查项逐条判断:

日志只能证明请求层的行为。要确认搜索引擎看到的结果,还需要分别核查不同搜索引擎的抓取工具是否访问了非首选域名。不同搜索引擎对跳转和首选域名的处理并不完全一致,不能用一个平台的结果推断全部。

维护:把日志核对变成固定检查

首选域名设置不是一次配置就结束。CDN 换节点、证书续期、应用发布、反向代理规则调整,都可能让非首选域名重新返回 200。建议在发布后和每月固定时间执行同一套日志筛选,记录以下结果:

需要区分的是:robots.txt 的抓取限制不等于可靠的索引移除,站点地图也不保证收录。HTTPS 只说明传输加密,不保证没有漏洞或排名提升。这些都不能替代首选域名的跳转核对。

下一步,从最近一天的访问日志中导出 Host 与 Status 两列,统计非首选域名的状态码分布。如果发现 200 响应,优先检查该主机名对应的服务器块、CDN 回源配置和应用路由,而不是先改页面内容。

图1 图2

nginx