Skip to content

站优化摘要

GET /v3/on_page/summary/{id}

接口说明

通过本接口可以获取某个网站扫描任务的整体摘要信息:

  • 网站级别的基础信息
  • 抓取进度与抓取状态
  • 域名、SSL、站点检查项汇总
  • 页面级问题统计
  • 已发现站问题的聚合指标

基于这些摘要数据,你可以快速判断网站当前的技术 SEO 健康状况,并进一步决定使用哪些明细接口继续下钻分析问题。

  • 请求方式:GET
  • 请求地址:https://api.seermartech.cn/v3/on_page/summary/$id

计费说明

该接口本身不会单独产生额外任务提交费用;费用通常在创建扫描任务时扣除。

  • 实扣费以响应头 X-SeerMarTech-Charge-CNY 为准

请求参数

路径参数

字段类型说明
idstring任务唯一标识,填。可从 /v3/on_page/task_post/ 的响应中获取。示例:07131248-1535-0216-1000-17384017ad04

响应结构

接口返回 JSON 数据,顶层 tasks 数组,每个任务对应一组摘要结果。

顶层字段

字段类型说明
versionstring当前 API 版本
status_codeinteger通用状态码
status_messagestring通用提示信息
timestring执行耗时,单位秒
costfloat本次请求总费用,单位 USD
tasks_countintegertasks 数组中的任务数量
tasks_errorinteger返回错误的任务数量
tasksarray任务结果数组

建议在系统中实现完善的异常与错误处理机制。完整状态码和提示信息请参考错误码附录。

tasks[] 字段

字段类型说明
idstring任务唯一标识,UUID 格式
status_codeinteger任务状态码,范围通常为 10000-60000
status_messagestring任务提示信息
timestring任务执行耗时,单位秒
costfloat当前任务费用,单位 USD
result_countintegerresult 数组数量
patharrayURL 路径
dataobject与创建任务时提交的参数一致
resultarray摘要结果数组

result[] 结果字段说明

抓取状态

字段类型说明
crawl_progressstring抓取会话状态。可选值:in_progressfinished
crawl_statusobject抓取会话详细信息

crawl_status

字段类型说明
max_crawl_pagesinteger最大抓取页数,即任务创建时设置的 max_crawl_pages
pages_in_queueinteger当前仍在抓取队列中的页面数
pages_crawledinteger已抓取页面数
crawl_gateway_addressstring本次抓取使用的爬虫 IP 地址
crawl_stop_reasonstring抓取停止原因

crawl_stop_reason 可选值:

  • limit_exceededmax_crawl_pages 限制
  • empty_queue:队列中的 URL 已抓取完成
  • force_stopped:通过 /v3/on_page/force_stop 主动停止
  • unexpected_exception:抓取目标时出现异常

域名级信息 domain_info

网站域名及抓取过程的汇总信息。

字段类型说明
namestring域名
cmsstring检测到的管理系统,来源于 generator meta 标签;取自首个返回 200 状态码的随机页面;无法识别时为 null
ipstring域名 IP 地址
serverstring网站服务器信息,来源于 server 响应头;取自首个返回 200 状态码的页面
crawl_startstring抓取开始时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00
crawl_endstring抓取结束时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00;当 crawl_progress = finished 时有效,否则为 null
extended_crawl_statusstring更详细的抓取状态或错误原因
ssl_infoobjectSSL 证书信息
checksobject网站级检查项
total_pagesinteger总抓取页面数
total_uncrawlable_resourcesinteger无法抓取的资源总数
page_not_found_status_codeinteger不存在页面返回的状态码,通常建议为 404
canonicalization_status_codeinteger通过 IP 访问网站时的规范化状态码,通常建议为 301302
directory_browsing_status_codeinteger目录页返回的状态码,通常建议为 403401
www_redirect_status_codeintegerwww 与非 www 之间跳转的状态码,通常建议为 301
main_domainstring根域名

extended_crawl_status 可选值

  • no_errors:未检测到抓取错误
  • site_unreachable:无法访问网站,未能获得状态码
  • invalid_page_status_code:首个抓取页面状态码大于等于 400
  • forbidden_meta_tag:首个抓取页面 <meta robots="noindex">
  • forbidden_robotsrobots.txt 禁止抓取
  • forbidden_http_header:HTTP 响应头 X-Robots-Tag: noindex
  • too_many_redirects:首个抓取页面重定向次数 10 次
  • unknown:未知原因

SSL 信息 ssl_info

字段类型说明
valid_certificatebooleanSSL 证书是否有效,未过期、未吊销、未挂起且格式有效
certificate_issuerstring证书颁发机构
certificate_subjectstring证书主题
certificate_versionstring证书使用的 X.509 版本
certificate_hashstring证书哈希算法版本
certificate_expiration_datestring证书过期时间,UTC 格式:yyyy-mm-dd hh-mm-ss +00:00

网站级检查项 domain_info.checks

字段类型说明
sitemapboolean是否检测到 sitemap
robots_txtboolean是否存在 robots.txt
start_page_deny_flagboolean首页是否存在导致服务端返回 403 Forbidden 的拒绝访问标记
sslboolean是否 SSL 证书
http2boolean是否使用 HTTP/2
test_canonicalizationboolean通过 IP 访问时是否进行了规范化处理;当 canonicalization_status_code301 时为 true
test_www_redirectboolean是否实现了 www 与非 www 的双向之一跳转
test_hidden_server_signatureboolean是否隐藏服务器签名;若为 false,说明爬虫可直接读取服务器签名
test_page_not_foundboolean站点对不存在资源是否正确返回 404
test_directory_browsingboolean是否禁止匿名访问目录;若目录不可访问则为 true
test_https_redirectbooleanHTTP 请求是否跳转到 HTTPS;若首页 HTTP 自动跳到 HTTPS,则为 true

页面指标 page_metrics

页面层面的聚合统计,用于衡量站常见 SEO 与可抓取性问题。

字段类型说明
links_externalinteger外链数量
links_internalinteger链数量
duplicate_titleinteger标题重复的页面数量
duplicate_descriptioninteger描述重复的页面数量
duplicate_contentinteger重复的页面数量
broken_linksinteger站失效链接数量
broken_resourcesinteger图片及资源失效数量
links_relation_conflictinteger链接冲突数量,例如同一目标既被 rel="nofollow"链引用,又被 dofollow 链接引用
redirect_loopinteger重定向环数量,即跳转链最终回到原始 URL
onpage_scorefloat站优化得分,满分 100;分值越高表示问题和重要警告越少。该值与抓取页数
non_indexableinteger不可索引页面数量,可因 robots.txt、HTTP 头或 meta 标签导致
checksobject页面级检查项统计

onpage_score 会随抓取页面数量变化适合作为同一抓取范围的健康度参考指标。


页面级检查项 page_metrics.checks

字段类型说明
canonicalinteger规范化页面数量
duplicate_meta_tagsinteger存在重复 meta 标签的页面数量
no_descriptioninteger缺少或为空的 description 页面数量
frameintegerframeiframeframeset 的页面数量
large_page_sizeinteger页面体积大于 1MB 的页面数量
irrelevant_descriptionintegerdescription 与页面性低的页面数量,阈值 0.2
irrelevant_meta_keywordsintegerkeywords 与页面性低的页面数量,阈值 0.6
is_httpsinteger使用 HTTPS 的页面数量
is_httpinteger使用 HTTP 的页面数量
title_too_longinteger标题长度 65 字符的页面数量
low_content_rateinteger正文占比过低或过高的页面数量,plaintext size / page size < 0.1> 0.9
small_page_sizeinteger页面体积小于 1024 字节的页面数量
no_h1_taginteger缺少或为空的 H1 页面数量
recursive_canonicalinteger递归 canonical 错误数量
no_faviconinteger缺少 favicon 的页面数量
no_image_altinteger存在图片缺少 alt 的页面数量
no_image_titleinteger存在图片缺少 title 的页面数量
seo_friendly_urlintegerSEO 友好 URL 页面数量
seo_friendly_url_characters_checkintegerURL 大小写拉丁字母、数字和连字符的页面数量
seo_friendly_url_dynamic_checkintegerURL 不含动态参数的页面数量
seo_friendly_url_keywords_checkintegerURL 与 title标签语义一致的页面数量
seo_friendly_url_relative_length_checkintegerURL 长度不 120 字符的页面数量
title_too_shortinteger标题长度少于 30 字符的页面数量
no_content_encodinginteger未启用压缩编码的页面数量
high_waiting_timeinteger首字节时间 1.5 秒的页面数量
high_loading_timeinteger页面加载时间 3 秒的页面数量
is_redirectinteger发生 3XX 跳转的页面数量
is_brokeninteger异常页面数量,响应码小于 200 或大于 400
is_4xx_codeinteger返回 4xx 的页面数量
is_5xx_codeinteger返回 5xx 的页面数量
is_wwwinteger位于 www 子域名下的页面数量
no_doctypeinteger缺少 DOCTYPE 声明的页面数量
no_encoding_meta_taginteger缺少编码 meta 标签的页面数量
high_content_rateinteger正文占比过高的页面数量,plaintext size / page size > 0.9
low_character_countinteger字符数少于 1024 的页面数量
high_character_countinteger字符数 256,000 的页面数量
low_readability_rateinteger可读性得分低于 15 的页面数量
irrelevant_titleintegertitle 与页面性低的页面数量,阈值 0.3
deprecated_html_tagsinteger使用已废弃 HTML 标签的页面数量
duplicate_title_taginteger存在多个 title 标签的页面数量
no_titleinteger缺少或为空的 title 页面数量
flashinteger含 Flash素的页面数量
lorem_ipsuminteger含占位文本 lorem ipsum 的页面数量
has_misspellinginteger拼写错误页面数量;在任务创建时启用 check_spell=true 时有效
canonical_to_brokenintegercanonical 指向 404 页面的页面数量
canonical_to_redirectintegercanonical 指向 3XX 跳转页的页面数量
has_links_to_redirectsinteger链接指向跳转页面的页面数量
is_orphan_pageinteger孤立页面数量,即没有任何站页面指向它
has_meta_refresh_redirectinteger使用 <meta http-equiv="refresh"> 跳转的页面数量
meta_charset_consistencyinteger页面声明字符集与字符集不一致的页面数量
size_greater_than_3mbinteger页面体积大于 3MB 的页面数量
has_html_doctypeinteger存在 DOCTYPE 声明的页面数量
https_to_http_linksintegerHTTPS 页面链接到 HTTP 页面数量
has_render_blocking_resourcesinteger含阻塞渲染资源的页面数量
redirect_chaininteger存在多次跳转链的页面数量,原始页到最终页之间至少经过 2 次跳转
canonical_chainintegercanonical 链式传递的页面数量,例如 A canonical 到 B,B 又 canonical 到 C
is_link_relation_conflictinteger存在链接冲突的页面数量

多数字段在“页面通过 canonical 检查”的才有统计意义;如果扫描范围较小或页面类型有限,部分统计值可能为 0 或不可用。


请求示例

cURL

bash
id="07281559-0695-0216-0000-c269be8b7592"

curl --location --request GET "https://api.seermartech.cn/v3/on_page/summary/${id}" \
--header "Authorization: Bearer smt_live_YOUR_KEY" \
--header "Content-Type: application/json"

Python

python
import requests

task_id = "07281559-0695-0216-0000-c269be8b7592"
url = f"https://api.seermartech.cn/v3/on_page/summary/{task_id}"

headers = {
 "Authorization": "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json"
}

response = requests.get(url, headers=headers)
data = response.json

print(data)

TypeScript

typescript
import axios from "axios";

const taskId = "02231934-2604-0066-2000-570459f04879";

axios({
 method: "get",
 url: `https://api.seermartech.cn/v3/on_page/summary/${taskId}`,
 headers: {
 Authorization: "Bearer smt_live_YOUR_KEY",
 "Content-Type": "application/json",
 },
})
 .then((response) => {
 // 返回结果
 console.log(response.data);
 })
 .catch((error) => {
 console.error(error);
 });

响应示例

json
{
 "version": "0.1.20221214",
 "status_code": 20000,
 "status_message": "Ok.",
 "time": "1.0297 sec.",
 "cost": 0,
 "tasks_count": 1,
 "tasks_error": 0,
 "tasks": [
 {
 "data": {
 "api": "on_page",
 "function": "summary",
 "target": "example.com",
 "max_crawl_pages": 1000,
 "enable_www_redirect_check": "true"
 },
 "result": []
 }
 ]
}

状态码说明

  • 顶层 status_code:表示整次请求执行状态
  • tasks[].status_code:表示单个任务的执行状态
  • tasks[].result 为空,或 tasks[].status_code >= 40000 时,通常表示该任务处理失败或尚未返回可用结果

建议重点处理以下:

  • 请求参数错误
  • 任务 ID 不存在
  • 抓取尚未完成
  • 目标站点无法访问
  • 抓取过程中被 robots、meta 或响应头限制

使用建议

  1. 通过 /v3/on_page/task_post/ 创建任务并获取 id
  2. 使用本接口轮询抓取进度和摘要结果
  3. crawl_progressfinished 后,再根据摘要中暴露的问题类型调用对应明细接口
  4. onpage_scorebroken_linksnon_indexableduplicate_title 等字段纳你的 SEO 健康监控体系

实用场景

  • 评估整站技术健康度:快速读取 onpage_score、抓取状态和问题计数,帮助 SEO 团队优判断站点是否需要立即修复。
  • 筛选高优级整改项:根据 broken_linksis_5xx_codenon_indexableredirect_loop 等指标,定位最影响收录和用户体验的问题类别。
  • 监控发布后站点质量:在改版、迁移或大批量发文后定期拉取摘要,及时发现 canonical、跳转、404、HTTPS 等异常。
  • 识别基础设施风险:通过 ssl_infohttp2serverhigh_loading_time 等字段,发现证书、协议或性能层面的潜在问题。
  • 支撑自动化 SEO 报表:将域名级和页面级汇总指标接 BI 或告警系统,持续跟踪不同网站、业务线或时间周期的优化趋势。

统一入口:官网 · LLM API · 控制台