Skip to content

Approved update exposes rotating self-canonical preview URLs and stale localized pages #1

Description

@MuduiClaw

Summary

An approved mode=update submission updates BAT's MCP detail and all 28 product
sitemaps, but the public product routes remain inconsistent. In addition,
repeated status --id calls return different preview URLs, and every returned
preview URL is a public HTTP 200 page with a self-referencing canonical.

Reproduction

  1. Use the latest @bataitools/bat-cli with a formal OAuth account.

  2. Submit an update for an existing product:

    • Product ID: 1068
    • Slug: router-xiu-ai
    • submitId: 1197
    • Result: mode=update, status=approved, languageCount=28
  3. Run bat-cli status --id 1197 more than once.

  4. Read the primary product pages, BAT MCP get_tool_detail, and the 28 product
    sitemaps.

Observed behavior

The submit response and two later status reads returned three different preview
URLs:

  • https://bataitools.com/tools/PWYUfTkU1I8eFd0e5eDkJ0Km
  • https://bataitools.com/tools/PWYUfTkU1I8eFd0e5efq1PLZ
  • https://bataitools.com/tools/PWYUfTkU1I8eFd5mWSAVGo5A

All three currently:

  • return HTTP 200;
  • contain the same updated XiuRouter listing;
  • have no noindex robots directive;
  • use themselves as canonical URLs;
  • are absent from the product sitemaps.

The approved update is also inconsistent across public read paths:

  • BAT MCP get_tool_detail matches the approved name, tagline, description, and
    detail URL in all 28 languages.
  • All 28 language product sitemaps contain the preferred
    router-xiu-ai URL.
  • Only 17 of 28 preferred public pages currently expose the updated shared
    product fields.
  • da, de, it, ko, nl, no, ru, th, uk, vi, and zh still
    serve the previous logo, developer, social links, location, and fixed-price
    prefix from the canonical URL.
  • Query-string cache-miss reads vary between the old and new shared product
    data, so a single fresh-looking response is not a stable result.

The English Markdown endpoint also leaves Official Website empty, while the
HTML detail has the correct website. The generated SoftwareApplication
schema still emits Offer price=0 USD for a usage-based product.

Expected behavior

  • status --id should return one stable preview URL, or preview URLs should be
    short-lived and noindex with a canonical pointing to the preferred product
    page.
  • An approved update should invalidate or version the shared product-detail
    cache consistently across all 28 language routes.
  • Markdown and structured data should use the submitted website and should not
    represent usage-based pricing as a free $0 offer.

No second product submission was created: BAT MCP search returns one XiuRouter
product, ID 1068.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions