你打开Ahrefs的Site Audit模块,左侧导航栏拉到最下面,能看到一个叫“Structure Explorer”的入口。这个功能在2022年的一次更新后被移到了不太显眼的位置,但它解决的是一个很具体的问题:当网站URL数量超过10万条时,传统的爬虫报告会把所有页面混在一起,你很难快速定位某个目录下的批量问题。
操作路径是这样的:进入Site Audit项目后,点击左侧菜单底部的“Structure Explorer”,页面会切换到一个树状文件夹视图。这里不是按照抓取顺序排列,而是按照URL路径的层级结构展示。比如你的博客有/news/、/products/、/docs/三个板块,它会像本地文件管理器一样列出文件夹,每个文件夹后面跟着该路径下的页面数量、平均加载时间、索引状态比例。
实际使用中,我会先看“Indexability”这一列。如果一个文件夹下80%的页面被标记为“Non-indexable”,点击文件夹名称进入,右侧面板会列出具体原因:noindex标签、canonical指向外部、robots.txt拦截、4xx状态码。你可以直接在这个面板里批量导出这些URL,不需要回到主报告里筛选。
第二个容易忽略的功能在Google Search Console的“URL Inspection API”集成里。很多人用Search Console只看效果报告,但API接入后,你可以在第三方工具里直接调用检查结果。以Screaming Frog为例,在“Configuration”菜单里选择“API Access”,填入Google Search Console的API密钥,然后在下拉菜单里勾选“URL Inspection”。重新抓取网站后,每个URL的右侧列会多出几项数据:Google索引状态、最后抓取时间、移动可用性问题、增强型结果资格。
这个功能的关键用法是排查“索引覆盖率”问题。你导出一份全站URL列表,在Excel里筛选“Indexed = FALSE”的行,再对照“Coverage State”列查看具体原因。常见返回值包括“Submitted URL not found (404)”“Submitted URL marked ‘noindex’”“Page with redirect”“Duplicate without user-selected canonical”。这些信息原本需要在Search Console里逐条点击查看,现在可以批量处理。
Screaming Frog还有一个“Custom Extraction”功能,藏在“Configuration > Custom > Extraction”路径下。它允许你用CSS选择器、XPath或正则表达式从页面HTML中提取任意元素。比如你想检查全站所有产品页是否都正确设置了schema markup里的price字段,可以添加一条规则:选择器写`script[type="application/ld+json"]`,然后用正则提取`"price":\s*"([\d.]+)"`。抓取完成后,在“Custom”标签页里就能看到每个页面的提取结果,空值表示该页面缺少价格标记。
接下来是Schema标记的验证问题。Google的Rich Results Test工具单次只能检测一个URL,但如果你用的是Rank Math或Yoast这类SEO插件,它们后台的“Schema Generator”里有一个批量测试入口。以Rank Math为例,进入“SEO Analysis”模块,切换到“Schema”标签,勾选“Bulk Test”选项,输入最多50个URL,系统会返回每个页面的schema类型、错误数量、警告数量。点击错误数字会展开详情,比如“Missing field ‘priceCurrency’”“Invalid enum value in ‘availability’”。
这里涉及一个技术细节:JSON-LD schema里,`offers`节点的`priceCurrency`字段是必填项,但很多电商网站只在产品页标记了价格,漏掉了货币代码。Google的文档里明确要求使用ISO 4217格式的三字母代码,比如USD、EUR、CNY。批量检测能帮你一次性找出所有缺少这个字段的页面。
关于结构化数据的另一个隐藏功能在Bing Webmaster Tools里。登录后进入“URL Inspection”工具,输入任意URL,在“SEO”标签页下有一个“Structured Data”区域。它不像Google那样只显示schema错误,还会列出“Detected”和“Not Detected”两类实体。比如你的页面标记了Product schema,Bing会告诉你它识别到了name、price、image,但没识别到review或aggregateRating。这个信息对于优化产品页在Bing搜索结果里的展示效果有直接帮助。
再说回Ahrefs,它的Content Gap功能很多人只用来对比竞争对手的关键词,但有一个用法是检查“内容覆盖盲区”。在“Site Explorer”里输入你自己的域名,点击“Content Gap”,在竞品栏位输入3到5个直接竞争对手的域名,模式选择“URL”,而不是默认的“Domain”。这样系统会对比的是页面级别的缺失,而不是域名级别。结果列表里会显示:某个URL在竞品A和竞品B上都有流量,但你的网站上不存在对应主题的页面。这个列表按竞品流量排序后,前20条通常就是你应该优先创建的内容。
Site Audit里还有一个“Hreflang”专项检查,在“Localization”分类下。如果你的网站有多语言版本,这个功能可以列出所有hreflang标签的错误类型。常见问题包括:缺少返回标签(缺少x-default或相互引用不完整)、语言代码格式错误(使用zh-CN而不是zh-Hans)、hreflang指向的URL返回非200状态码。表格会显示源URL、声明的语言版本、目标URL、HTTP状态码、错误类型。你可以直接导出CSV,按错误类型筛选后交给开发团队修复。
下面这个表格整理了上述工具功能的具体位置和适用场景:
| 工具名称 | 功能名称 | 导航路径 | 适用场景 | 输出数据类型 |
|---------|---------|---------|---------|------------|
| Ahrefs Site Audit | Structure Explorer | 左侧菜单底部 | 大型网站按目录排查技术问题 | 目录级索引状态、加载时间、页面数量 |
| Screaming Frog | URL Inspection API集成 | Configuration > API Access > URL Inspection | 批量获取Google索引状态 | 索引状态、抓取时间、移动可用性 |
| Screaming Frog | Custom Extraction | Configuration > Custom > Extraction | 提取页面特定元素 | CSS/XPath/正则匹配结果 |
| Rank Math | Schema Bulk Test | SEO Analysis > Schema > Bulk Test | 批量验证结构化数据 | Schema类型、错误数、警告详情 |
| Bing Webmaster Tools | Structured Data Detection | URL Inspection > SEO > Structured Data | 检查Bing识别的schema实体 | 已检测/未检测实体列表 |
| Ahrefs Content Gap | URL模式对比 | Site Explorer > Content Gap > URL模式 | 发现内容覆盖盲区 | 竞品有流量但己方缺失的URL |
| Ahrefs Site Audit | Hreflang检查 | Site Audit > Localization > Hreflang | 多语言网站标签验证 | 语言代码错误、返回标签缺失、状态码异常 |
Google Search Console的“RegEx过滤”也是一个容易被忽视的功能。在效果报告里,点击“新建”过滤器,选择“查询”或“网页”,然后选择“自定义(正则表达式)”。比如你想看所有包含年份的查询词,可以用`\b(202[0-9])\b`来匹配2020到2029年。更实用的一个场景是过滤出问题类型的查询:`(vs|versus|or|and)`能匹配所有对比类搜索,`(how|what|why|when|where)`匹配问题类搜索。这些查询的点击率通常高于平均值,单独拉出来分析可以优化标题标签和meta描述。
在过滤页面维度时,正则表达式`\/[a-z0-9-]+\/[a-z0-9-]+$`可以匹配两级深度的URL,排除首页和一级目录页。这对于分析长尾内容的搜索表现很有用,因为这类页面往往数量多但单个流量低,聚合分析才能看出趋势。
Screaming Frog的“JavaScript Rendering”模式也需要提一下。默认情况下,它只抓取原始HTML,不执行JavaScript。在“Configuration > Spider > Rendering”里切换到“JavaScript”模式后,工具会用内置的Chromium引擎渲染页面。这个模式主要用于检查依赖JS加载的内容是否被搜索引擎看到。你可以对比同一URL在两种模式下的抓取结果:在“View Source”和“Rendered Page”之间切换,如果关键内容只出现在渲染后的版本里,说明你的SEO内容依赖客户端渲染,存在不被索引的风险。
渲染模式会增加抓取时间,每个页面需要额外等待几秒让JS执行完毕。对于超过1万个页面的网站,建议先导出重要页面列表,用“List Mode”只抓取这些URL,而不是全站爬取。
最后说一下数据导出后的处理。Ahrefs和Screaming Frog都支持导出CSV,但导出的数据量通常很大。在Excel或Google Sheets里,使用`FILTER`函数比手动筛选高效得多。比如你从Site Audit导出了一份包含URL、Status Code、Indexability、Page Title的表格,想筛选出状态码为200但标题标签缺失的页面,公式可以写成:`=FILTER(A:D, (B:B=200)*(D:D=""))`。这个公式返回A到D列中满足两个条件的所有行:B列等于200且D列为空。括号里的星号表示AND逻辑,如果是OR逻辑用加号。

