页面可访问性
成交链路识别正常商品页、验证码、404、Dog Page、无内容和不可售状态。页面异常时,不把缺失字段误报为“没有优惠”。
page_status anomalies
Internal Scope Reference
从消费者实际可见的 Amazon 前台页面出发,检查影响访问、成交、内容呈现和搜索曝光的关键环节。 本页说明它会检查什么、如何判定,以及哪些结论仍需要人工或业务数据确认。
Audit Coverage
字段存在不代表自动给出业务结论。涉及目标价格、目标卖家、正确类目等预期值时,报告会要求人工确认。
识别正常商品页、验证码、404、Dog Page、无内容和不可售状态。页面异常时,不把缺失字段误报为“没有优惠”。
page_status anomalies
价格类型不互相替代;Deal 只从有效 badge 及对应价格作用域判断。标准隐藏价格为空时,仅从明确 priceToPay 结构读取可见拆分金额;有 Deal 时 Regular 保持为空。
current current_type regular deal_price prime_member strikethrough_price
记录 Sold by、Ships from 与 FBA 线索。只有提供期望卖家时,才能自动判断 Buy Box 是否偏离预期。
sold_by ships_from
检查 Add to Cart、Buy Now 和购买选项是否存在,帮助定位消费者无法直接成交的链路断点。
add_to_cart buy_now
必须按站点默认配送位置成功初始化会话;失败时不使用未定位页面替代。配送文本只从主配送消息节点读取,Prime 支持文案不会被误当成 Prime 价格。
delivery prime location_status
仅按明确模块结构识别标准或 Premium A+ 与 Brand Story,排除嵌套模块重复计数。缺少结构证据时返回未知,不以文本长度推断。
has_a_plus module_count has_brand_story
仅检查当前商品价格区和 Buy Box,排除推荐轮播。具体活动词精确匹配,通用 Deal 词允许在 badge 内模糊匹配。
has_deal deal_type badge_text
提取搜索栏大类和面包屑路径。脚本确认“抓到了什么”,但类目是否符合运营预期仍需人工判断。
department breadcrumbs
按本地页面结构提取各层级排名;已针对德国“排名后跟类目”和日本“类目后跟排名”的结构分别处理。
bsr
星级只从明确评论星级节点和完整本地化格式读取,不扫描普通文本、title 或 aria-label。缺失时返回未知,不默认 5 星。
rating reviews_on_page stars is_negative
检查指定关键词的首屏搜索结果,区分自然位与广告位并记录目标 ASIN 是否出现。未找到不等同于全站无排名。
found position is_sponsored first_page_results
没有匹配的检查项。
Marketplace Matrix
站点配置同时决定域名、匿名配送位置、显示货币和页面解析语言。ES 与 MX 使用独立 profile。
| 站点 | 域名 | 默认配送位置 | 货币 | 页面语言 | 解析 profile |
|---|---|---|---|---|---|
| US | amazon.com | 90001 | USD | English (US) | en_US |
| UK / GB | amazon.co.uk | SW1A 1AA | GBP | English (UK) | en_GB |
| DE | amazon.de | 10115 | EUR | Deutsch | de_DE |
| FR | amazon.fr | 75001 | EUR | Français | fr_FR |
| IT | amazon.it | 00100 | EUR | Italiano | it_IT |
| ES | amazon.es | 28001 | EUR | Español (ES) | es_ES |
| CA | amazon.ca | M5V 2T6 | CAD | English (CA) | en_CA |
| JP | amazon.co.jp | 100-0001 | JPY | 日本語 | ja_JP |
| MX | amazon.com.mx | 06600 | MXN | Español (MX) | es_MX |
| AU | amazon.com.au | 2000 | AUD | English (AU) | en_AU |
| SA | amazon.sa | 12211 | SAR | English | en_SA |
| AE | amazon.ae | 不提交邮编 | AED | English | en_AE |
Decision Rules
这些规则用于减少“页面有文字就算命中”的误报,并让结构化结果在不同站点保持一致。
价格区与 Buy Box 内命中才算 Deal;推荐商品、轮播和其他 ASIN 的 badge 会被排除。
季节活动和明确 Deal 类型按本地化词典精确映射;通用 Deal 词只允许在 badge 容器内模糊匹配,并保留页面原文。MX 的 Promoción 仅适用于墨西哥站。
检测到有效 Deal 时,当前成交价标记为 Deal Price,不再把同一金额重复解释为 Regular Price。标准隐藏价格为空时,只读取明确价格节点内的可见拆分金额。
包含 /count、/unit、/ea、/each 或 per-unit 结构的金额单独标记,只有真正的划线价属性或标签才进入划线价字段。
仅接受 Amazon 评论星级节点与完整本地化格式。无法解析时 stars 和 is_negative 都返回 null,禁止补成 5 星。
只有对应价格或成交模块已被结构证据确认时,报告才显示 No coupon、No deal 等结论;否则返回 null 并显示“未确认”。
Output Contract
JSON 保留稳定字段并使用 null 表示未检测到或未知;只有对应模块确认后,Markdown 才把空优惠转换为明确的 No 文案。
{
"page_status": "ok",
"price": {
"status": "ok",
"current": "$17.09",
"current_type": "deal",
"regular": null,
"deal_price": "$17.09",
"prime_member": null,
"strikethrough_price": "$18.99",
"strikethrough_price_type": "Typical Price",
"is_per_unit_price": true,
"savings": "-10%",
"coupon": null
},
"deal": {
"has_deal": true,
"deal_type": "Limited time deal",
"badge_text": "Limited time deal"
},
"a_plus": {
"has_a_plus": true,
"module_count": 7,
"has_brand_story": true
}
}
Validation Status
验证分为固定 HTML 回归测试和真实 Amazon 页面抽样。它能证明解析路径可工作,但不能保证 Amazon 后续不调整页面结构。
覆盖拆分金额、Deal 覆盖 Regular、单位价、A+、本地化、BSR、评论星级、位置和货币偏好。
English、Deutsch、Français、Italiano、Español (ES / MX)、Japanese 均有固定商品页样本。
US、DE、FR、IT、ES、MX、JP 已验证 Deal badge、币种格式与拆分金额读取。
Known Boundaries
这是一套前台可见性巡检,不是 Amazon 后台诊断、业务分析或账号操作工具。
不检查后台抑制原因、库存数量、账号绩效、合规通知或具体发布状态。
不读取销量、广告花费、转化率、利润或竞品历史,无法单独解释销量变化。
只提取当前类目和面包屑;是否符合品牌运营预期需要人工提供目标节点。
搜索检查是指定配送地、指定时点的首页快照,未找到不代表 ASIN 在后续页面没有排名。
Amazon 按账号、设备、网络和实验组动态渲染内容,公开 HTML 可能不含全部个性化模块。
脚本复用站点 cookie 并控制请求间隔,但不会绕过验证码;触发后会保留未知状态并停止误判。
Batch Run
总控脚本支持同一站点批量 ASIN、关键词检查、随机延迟和站点级 cookie 复用。
python3 scripts/run_health_check.py \ --asins B0XXXXXXX1,B0XXXXXXX2 \ --site US \ --keywords "3d printer" \ --delay-min 10 \ --delay-max 30 \ --output-dir outputs