مستندات توسعه دهندگان

تاریخچه صفحه با آدرس

GET/sites/{siteId}/pages/history
Scope
pages:read
ابزار MCP
page_history

What changed on a page, by URL.

توضیح ها از سند OpenAPI می آیند و انگلیسی اند.

پارامترها

ناممحلتوضیح
siteIdاجباریpathstringWebsite id, from GET /sites.
urlاجباریquerystringThe page address, exactly as crawled.
limitqueryintegerdefault 30, min 1, max 100Entries to return, 1 to 100.

پاسخ

200 · application/json

فیلدتوضیح
pageobject · required
page.idstring · required; Page id
page.urlstring · required; Page address
entrieslist of values · required; Newest first
entries[].crawlIdstring
entries[].atstring
entries[].kindstring
entries[].statusnumber
entries[].redirectHopsnumber
entries[].pageScorenumber
entries[].aeoScorenumber
entries[].wordCountnumber
entries[].titlestring
entries[].firsttrue or false
entries[].noSnapshottrue or false
entries[].changeslist of objects
entries[].changes[].fieldstring
entries[].changes[].beforestring
entries[].changes[].afterstring
moretrue or false · required; Older entries exist
notestring · required; How the entries are compared
linkstring · required; The page history in the app

نکته ها

GET /sites/{siteId}/pages/{pageId}/history (یا GET /sites/{siteId}/pages/history?url=) می گوید در یک صفحه از یک بررسی یا بررسی دوباره تا بعدی چه چیزی عوض شده، از جدیدترین به قدیمی ترین. از چیزی استفاده می کند که MonoRanks موقع خواندن صفحه ذخیره کرده؛ برای این کار چیزی کراول نمی شود. اپ همین خط زمانی را در صفحه جزئیات هر صفحه نشان می دهد.

{
  "page": { "id": "…", "url": "https://example.com/pricing/" },
  "entries": [
    { "crawlId": "…", "at": "2026-10-01T09:12:00Z", "kind": "recheck", "status": 200, "redirectHops": 0, "pageScore": 86, "aeoScore": 71,
      "wordCount": 912, "title": "Pricing – Example", "first": false, "noSnapshot": false,
      "changes": [ { "field": "title", "before": "Pricing", "after": "Pricing – Example" }, { "field": "pageScore", "before": 78, "after": 86 } ] }
  ],
  "more": true, "note": "…", "link": "https://app.monoranks.com/sites/SITE_ID/pages/PAGE_ID#history"
}
مورد توضیح
چه چیزهایی مقایسه می شوند field یکی از این هاست: status، redirect، title، description، h1، headings (تعداد تیترهای H2)، canonical، noindex، robots، wordCount، schemaTypes، internalLinks، pageScore و aeoScore. اگر لیست changes خالی باشد یعنی چیزی عوض نشده.
تغییرهای کوچک حساب نمی شوند تعداد کلمات باید دست کم 10 کلمه و 5% تغییر کند. فاصله ها در عنوان و ترتیب نوع های اسکیما نادیده گرفته می شوند.
قطعی سایت وقتی در یک بار خواندن HTML قابل خواندنی نبوده، noSnapshot برابر true است. آن مورد فقط تغییر کد وضعیت را نشان می دهد و خواندن بعدی با آخرین خواندنی مقایسه می شود که HTML قابل خواندن داشته.
تا چه زمانی عقب خواندن ها 12 ماه نگه داشته می شوند؛ first قدیمی ترین مورد نگه داشته شده را نشان می دهد. بررسی های دوباره و امتیاز صفحه ها از نسخه 1.0.92 به بعد ذخیره می شوند، پس در موردهای قدیمی تر pageScore و aeoScore برابر null است.

خطاها

کدمعنی
400Bad request. Codes: bad_limit, missing_page.
401Missing, unknown or revoked key. Codes: missing_key, invalid_key.
403The key lacks the scope, covers another website, or its owner lost access. Codes: missing_scope, other_site, owner_left, no_owner, forbidden.
404Not found. Codes: not_found.
429Too many requests this hour for this key. Codes: rate_limited.

نمونه درخواست

curl \
  -H "Authorization: Bearer mr_ws_…" \
  "https://app.monoranks.com/api/v1/sites/SITE_ID/pages/history?url=https%3A%2F%2Fexample.com%2Fpricing%2F"

نمونه پاسخ

{
  "page": {
    "id": "c7a9e1b3-5d7f-4b9c-8e1a-3c5e7a9b1d2f",
    "url": "https://acmebikes.com/products/trail-pro-29"
  },
  "entries": [
    {
      "crawlId": "d4f6a8c0-2e4a-4c6e-8a0c-4e6a8c0e2a4b",
      "at": "2026-10-04T02:41:12.000Z",
      "kind": "audit",
      "status": 200,
      "redirectHops": 0,
      "pageScore": 86,
      "aeoScore": 71,
      "wordCount": 842,
      "title": "Trail Pro 29 Mountain Bike | Acme Bikes",
      "first": false,
      "noSnapshot": false,
      "changes": [
        {
          "field": "title",
          "before": "Trail Pro 29 | Acme Bikes",
          "after": "Trail Pro 29 Mountain Bike | Acme Bikes"
        },
        {
          "field": "pageScore",
          "before": 79,
          "after": 86
        }
      ]
    },
    {
      "crawlId": "e5a7c9e1-3f5b-4d7f-9b1d-5f7b9d1f3b5c",
      "at": "2026-09-27T02:38:51.000Z",
      "kind": "audit",
      "status": 200,
      "redirectHops": 0,
      "pageScore": 79,
      "aeoScore": 71,
      "wordCount": 836,
      "title": "Trail Pro 29 | Acme Bikes",
      "first": true,
      "noSnapshot": false,
      "changes": []
    }
  ],
  "more": false,
  "note": "One entry per audit or recheck that read this page, newest first.",
  "link": "https://app.monoranks.com/sites/3f6c2a1e-8b4d-4c7a-9e21-5d0b7a6f4c13/pages/c7a9e1b3-5d7f-4b9c-8e1a-3c5e7a9b1d2f#history"
}

سرور MCP همین کار را با ابزار page_history انجام می دهد.