{
  "city": "lisbon-salons",
  "days": 30,
  "since": "2026-09-15T11:27:25.447Z",
  "count": 35,
  "sites": 10,
  "byKind": {
    "fixed": 9,
    "broke": 7,
    "grade_up": 7,
    "grade_down": 1,
    "blocked": 3,
    "unblocked": 0,
    "channel": 8,
    "vendor": 0,
    "assistant": 0
  },
  "changes": [
    {
      "id": 14114,
      "at": "2026-10-15T00:29:07.366Z",
      "domain": "connectionbarbershop.pt",
      "name": "Connection Barbershop Unit 1",
      "page": "https://directindex.org/r/connectionbarbershop.pt",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 135492,
        "prev": 24397,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 14113,
      "at": "2026-10-15T00:29:07.366Z",
      "domain": "connectionbarbershop.pt",
      "name": "Connection Barbershop Unit 1",
      "page": "https://directindex.org/r/connectionbarbershop.pt",
      "kind": "blocked",
      "what": "now turns an AI crawler away at the edge",
      "detail": {
        "scan": 135492,
        "prev": 24397
      }
    },
    {
      "id": 14112,
      "at": "2026-10-15T00:29:07.366Z",
      "domain": "connectionbarbershop.pt",
      "name": "Connection Barbershop Unit 1",
      "page": "https://directindex.org/r/connectionbarbershop.pt",
      "kind": "grade_up",
      "what": "grade F to B (75%)",
      "detail": {
        "scan": 135492,
        "prev": 24397,
        "from": "F",
        "to": "B",
        "pct": 74.9
      }
    },
    {
      "id": 14111,
      "at": "2026-10-15T00:29:07.366Z",
      "domain": "connectionbarbershop.pt",
      "name": "Connection Barbershop Unit 1",
      "page": "https://directindex.org/r/connectionbarbershop.pt",
      "kind": "broke",
      "what": "new finding: structured data was incomplete",
      "detail": {
        "scan": 135492,
        "prev": 24397,
        "fix": "structured_incomplete"
      }
    },
    {
      "id": 14110,
      "at": "2026-10-15T00:29:07.366Z",
      "domain": "connectionbarbershop.pt",
      "name": "Connection Barbershop Unit 1",
      "page": "https://directindex.org/r/connectionbarbershop.pt",
      "kind": "broke",
      "what": "new finding: the server turned AI crawlers away at the door",
      "detail": {
        "scan": 135492,
        "prev": 24397,
        "fix": "edge_blocks"
      }
    },
    {
      "id": 14109,
      "at": "2026-10-15T00:29:07.366Z",
      "domain": "connectionbarbershop.pt",
      "name": "Connection Barbershop Unit 1",
      "page": "https://directindex.org/r/connectionbarbershop.pt",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 135492,
        "prev": 24397,
        "fix": "no_channel"
      }
    },
    {
      "id": 14108,
      "at": "2026-10-15T00:29:07.366Z",
      "domain": "connectionbarbershop.pt",
      "name": "Connection Barbershop Unit 1",
      "page": "https://directindex.org/r/connectionbarbershop.pt",
      "kind": "fixed",
      "what": "fixed: no structured data for the business",
      "detail": {
        "scan": 135492,
        "prev": 24397,
        "fix": "no_structured"
      }
    },
    {
      "id": 14021,
      "at": "2026-10-15T00:24:09.597Z",
      "domain": "studiomassage.pt",
      "name": "Innaterudinna",
      "page": "https://directindex.org/r/studiomassage.pt",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 135438,
        "prev": 26624,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 14020,
      "at": "2026-10-15T00:24:09.597Z",
      "domain": "studiomassage.pt",
      "name": "Innaterudinna",
      "page": "https://directindex.org/r/studiomassage.pt",
      "kind": "grade_up",
      "what": "grade C to B (75%)",
      "detail": {
        "scan": 135438,
        "prev": 26624,
        "from": "C",
        "to": "B",
        "pct": 75.4
      }
    },
    {
      "id": 14019,
      "at": "2026-10-15T00:24:09.597Z",
      "domain": "studiomassage.pt",
      "name": "Innaterudinna",
      "page": "https://directindex.org/r/studiomassage.pt",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 135438,
        "prev": 26624,
        "fix": "no_channel"
      }
    },
    {
      "id": 13948,
      "at": "2026-10-15T00:23:27.450Z",
      "domain": "jeanlouisdavid.com",
      "name": "Jean Louis David",
      "page": "https://directindex.org/r/jeanlouisdavid.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 135393,
        "prev": 24074,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 13947,
      "at": "2026-10-15T00:23:27.450Z",
      "domain": "jeanlouisdavid.com",
      "name": "Jean Louis David",
      "page": "https://directindex.org/r/jeanlouisdavid.com",
      "kind": "grade_up",
      "what": "grade F to D (50%)",
      "detail": {
        "scan": 135393,
        "prev": 24074,
        "from": "F",
        "to": "D",
        "pct": 50
      }
    },
    {
      "id": 13946,
      "at": "2026-10-15T00:23:27.450Z",
      "domain": "jeanlouisdavid.com",
      "name": "Jean Louis David",
      "page": "https://directindex.org/r/jeanlouisdavid.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 135393,
        "prev": 24074,
        "fix": "no_channel"
      }
    },
    {
      "id": 13945,
      "at": "2026-10-15T00:23:25.849Z",
      "domain": "thebotanicalmassage.com",
      "name": "The Botanical Massage & therapies",
      "page": "https://directindex.org/r/thebotanicalmassage.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 135388,
        "prev": 24312,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 13944,
      "at": "2026-10-15T00:23:25.849Z",
      "domain": "thebotanicalmassage.com",
      "name": "The Botanical Massage & therapies",
      "page": "https://directindex.org/r/thebotanicalmassage.com",
      "kind": "grade_up",
      "what": "grade C to B (85%)",
      "detail": {
        "scan": 135388,
        "prev": 24312,
        "from": "C",
        "to": "B",
        "pct": 84.6
      }
    },
    {
      "id": 13943,
      "at": "2026-10-15T00:23:25.849Z",
      "domain": "thebotanicalmassage.com",
      "name": "The Botanical Massage & therapies",
      "page": "https://directindex.org/r/thebotanicalmassage.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 135388,
        "prev": 24312,
        "fix": "no_channel"
      }
    },
    {
      "id": 13942,
      "at": "2026-10-15T00:23:24.793Z",
      "domain": "tratamentes.pt",
      "name": "Tratamentes",
      "page": "https://directindex.org/r/tratamentes.pt",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 135385,
        "prev": 24234,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 13941,
      "at": "2026-10-15T00:23:24.793Z",
      "domain": "tratamentes.pt",
      "name": "Tratamentes",
      "page": "https://directindex.org/r/tratamentes.pt",
      "kind": "grade_up",
      "what": "grade C to B (85%)",
      "detail": {
        "scan": 135385,
        "prev": 24234,
        "from": "C",
        "to": "B",
        "pct": 84.6
      }
    },
    {
      "id": 13940,
      "at": "2026-10-15T00:23:24.793Z",
      "domain": "tratamentes.pt",
      "name": "Tratamentes",
      "page": "https://directindex.org/r/tratamentes.pt",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 135385,
        "prev": 24234,
        "fix": "no_channel"
      }
    },
    {
      "id": 13939,
      "at": "2026-10-15T00:23:24.443Z",
      "domain": "salaodobairro.pt",
      "name": "Salão do Bairro",
      "page": "https://directindex.org/r/salaodobairro.pt",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 135384,
        "prev": 24146,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 13938,
      "at": "2026-10-15T00:23:24.443Z",
      "domain": "salaodobairro.pt",
      "name": "Salão do Bairro",
      "page": "https://directindex.org/r/salaodobairro.pt",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 135384,
        "prev": 24146,
        "fix": "booking_other"
      }
    },
    {
      "id": 13937,
      "at": "2026-10-15T00:23:24.443Z",
      "domain": "salaodobairro.pt",
      "name": "Salão do Bairro",
      "page": "https://directindex.org/r/salaodobairro.pt",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 135384,
        "prev": 24146,
        "fix": "no_channel"
      }
    },
    {
      "id": 13936,
      "at": "2026-10-15T00:23:23.658Z",
      "domain": "vitoriasbeauty.pt",
      "name": "Victorias Beauty Cabeleireiro - Parque das Nações",
      "page": "https://directindex.org/r/vitoriasbeauty.pt",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 135383,
        "prev": 24220,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 13935,
      "at": "2026-10-15T00:23:23.658Z",
      "domain": "vitoriasbeauty.pt",
      "name": "Victorias Beauty Cabeleireiro - Parque das Nações",
      "page": "https://directindex.org/r/vitoriasbeauty.pt",
      "kind": "grade_up",
      "what": "grade D to C (60%)",
      "detail": {
        "scan": 135383,
        "prev": 24220,
        "from": "D",
        "to": "C",
        "pct": 60
      }
    },
    {
      "id": 13934,
      "at": "2026-10-15T00:23:23.658Z",
      "domain": "vitoriasbeauty.pt",
      "name": "Victorias Beauty Cabeleireiro - Parque das Nações",
      "page": "https://directindex.org/r/vitoriasbeauty.pt",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 135383,
        "prev": 24220,
        "fix": "booking_other"
      }
    },
    {
      "id": 13933,
      "at": "2026-10-15T00:23:23.658Z",
      "domain": "vitoriasbeauty.pt",
      "name": "Victorias Beauty Cabeleireiro - Parque das Nações",
      "page": "https://directindex.org/r/vitoriasbeauty.pt",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 135383,
        "prev": 24220,
        "fix": "no_channel"
      }
    },
    {
      "id": 13932,
      "at": "2026-10-15T00:23:22.747Z",
      "domain": "jetassist.com",
      "name": "The Beauty Hub",
      "page": "https://directindex.org/r/jetassist.com",
      "kind": "blocked",
      "what": "now turns an AI crawler away at the edge",
      "detail": {
        "scan": 135380,
        "prev": 24088
      }
    },
    {
      "id": 13931,
      "at": "2026-10-15T00:23:22.747Z",
      "domain": "jetassist.com",
      "name": "The Beauty Hub",
      "page": "https://directindex.org/r/jetassist.com",
      "kind": "broke",
      "what": "new finding: the server turned AI crawlers away at the door",
      "detail": {
        "scan": 135380,
        "prev": 24088,
        "fix": "edge_blocks"
      }
    },
    {
      "id": 13930,
      "at": "2026-10-15T00:23:22.433Z",
      "domain": "rejuvenceclinic.pt",
      "name": "Rejuvence Clinic",
      "page": "https://directindex.org/r/rejuvenceclinic.pt",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 135378,
        "prev": 24065,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 13929,
      "at": "2026-10-15T00:23:22.433Z",
      "domain": "rejuvenceclinic.pt",
      "name": "Rejuvence Clinic",
      "page": "https://directindex.org/r/rejuvenceclinic.pt",
      "kind": "grade_up",
      "what": "grade F to D (43%)",
      "detail": {
        "scan": 135378,
        "prev": 24065,
        "from": "F",
        "to": "D",
        "pct": 42.6
      }
    },
    {
      "id": 13928,
      "at": "2026-10-15T00:23:22.433Z",
      "domain": "rejuvenceclinic.pt",
      "name": "Rejuvence Clinic",
      "page": "https://directindex.org/r/rejuvenceclinic.pt",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 135378,
        "prev": 24065,
        "fix": "booking_other"
      }
    },
    {
      "id": 13927,
      "at": "2026-10-15T00:23:22.433Z",
      "domain": "rejuvenceclinic.pt",
      "name": "Rejuvence Clinic",
      "page": "https://directindex.org/r/rejuvenceclinic.pt",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 135378,
        "prev": 24065,
        "fix": "no_channel"
      }
    },
    {
      "id": 13923,
      "at": "2026-10-15T00:23:09.929Z",
      "domain": "anicampagna.com",
      "name": "Ani Campagna (Estética e Formação)",
      "page": "https://directindex.org/r/anicampagna.com",
      "kind": "blocked",
      "what": "now turns an AI crawler away at the edge",
      "detail": {
        "scan": 135369,
        "prev": 24099
      }
    },
    {
      "id": 13922,
      "at": "2026-10-15T00:23:09.929Z",
      "domain": "anicampagna.com",
      "name": "Ani Campagna (Estética e Formação)",
      "page": "https://directindex.org/r/anicampagna.com",
      "kind": "grade_down",
      "what": "grade C to F (22%)",
      "detail": {
        "scan": 135369,
        "prev": 24099,
        "from": "C",
        "to": "F",
        "pct": 21.5
      }
    },
    {
      "id": 13921,
      "at": "2026-10-15T00:23:09.929Z",
      "domain": "anicampagna.com",
      "name": "Ani Campagna (Estética e Formação)",
      "page": "https://directindex.org/r/anicampagna.com",
      "kind": "broke",
      "what": "new finding: the site turned every visitor without a browser away",
      "detail": {
        "scan": 135369,
        "prev": 24099,
        "fix": "blocked_for_bots"
      }
    }
  ]
}