{
  "city": "lyon-salons",
  "days": 30,
  "since": "2026-09-15T17:30:34.042Z",
  "count": 167,
  "sites": 47,
  "byKind": {
    "fixed": 47,
    "broke": 21,
    "grade_up": 36,
    "grade_down": 0,
    "blocked": 1,
    "unblocked": 0,
    "channel": 46,
    "vendor": 16,
    "assistant": 0
  },
  "changes": [
    {
      "id": 17307,
      "at": "2026-10-15T01:11:23.302Z",
      "domain": "luxosante.com",
      "name": "Luxosanté",
      "page": "https://directindex.org/r/luxosante.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138011,
        "prev": 93804,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17306,
      "at": "2026-10-15T01:11:23.302Z",
      "domain": "luxosante.com",
      "name": "Luxosanté",
      "page": "https://directindex.org/r/luxosante.com",
      "kind": "grade_up",
      "what": "grade D to B (75%)",
      "detail": {
        "scan": 138011,
        "prev": 93804,
        "from": "D",
        "to": "B",
        "pct": 75.4
      }
    },
    {
      "id": 17305,
      "at": "2026-10-15T01:11:23.302Z",
      "domain": "luxosante.com",
      "name": "Luxosanté",
      "page": "https://directindex.org/r/luxosante.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138011,
        "prev": 93804,
        "fix": "no_channel"
      }
    },
    {
      "id": 17304,
      "at": "2026-10-15T01:11:12.008Z",
      "domain": "smartduck.fr",
      "name": "Smart Duck",
      "page": "https://directindex.org/r/smartduck.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138010,
        "prev": 93613,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17303,
      "at": "2026-10-15T01:11:12.008Z",
      "domain": "smartduck.fr",
      "name": "Smart Duck",
      "page": "https://directindex.org/r/smartduck.fr",
      "kind": "grade_up",
      "what": "grade C to B (75%)",
      "detail": {
        "scan": 138010,
        "prev": 93613,
        "from": "C",
        "to": "B",
        "pct": 75.4
      }
    },
    {
      "id": 17302,
      "at": "2026-10-15T01:11:12.008Z",
      "domain": "smartduck.fr",
      "name": "Smart Duck",
      "page": "https://directindex.org/r/smartduck.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138010,
        "prev": 93613,
        "fix": "no_channel"
      }
    },
    {
      "id": 17301,
      "at": "2026-10-15T01:11:10.612Z",
      "domain": "institut-de-beaute-orchidee.fr",
      "name": "Institut Orchidée",
      "page": "https://directindex.org/r/institut-de-beaute-orchidee.fr",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 138009,
        "prev": 93665,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 17300,
      "at": "2026-10-15T01:11:10.612Z",
      "domain": "institut-de-beaute-orchidee.fr",
      "name": "Institut Orchidée",
      "page": "https://directindex.org/r/institut-de-beaute-orchidee.fr",
      "kind": "grade_up",
      "what": "grade F to D (48%)",
      "detail": {
        "scan": 138009,
        "prev": 93665,
        "from": "F",
        "to": "D",
        "pct": 47.7
      }
    },
    {
      "id": 17299,
      "at": "2026-10-15T01:11:10.612Z",
      "domain": "institut-de-beaute-orchidee.fr",
      "name": "Institut Orchidée",
      "page": "https://directindex.org/r/institut-de-beaute-orchidee.fr",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 138009,
        "prev": 93665,
        "fix": "booking_other"
      }
    },
    {
      "id": 17298,
      "at": "2026-10-15T01:11:10.612Z",
      "domain": "institut-de-beaute-orchidee.fr",
      "name": "Institut Orchidée",
      "page": "https://directindex.org/r/institut-de-beaute-orchidee.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138009,
        "prev": 93665,
        "fix": "no_channel"
      }
    },
    {
      "id": 17297,
      "at": "2026-10-15T01:11:10.244Z",
      "domain": "longlerie.com",
      "name": "L'onglerie",
      "page": "https://directindex.org/r/longlerie.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138008,
        "prev": 93766,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17296,
      "at": "2026-10-15T01:11:10.244Z",
      "domain": "longlerie.com",
      "name": "L'onglerie",
      "page": "https://directindex.org/r/longlerie.com",
      "kind": "grade_up",
      "what": "grade C to A (86%)",
      "detail": {
        "scan": 138008,
        "prev": 93766,
        "from": "C",
        "to": "A",
        "pct": 86.2
      }
    },
    {
      "id": 17295,
      "at": "2026-10-15T01:11:10.244Z",
      "domain": "longlerie.com",
      "name": "L'onglerie",
      "page": "https://directindex.org/r/longlerie.com",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 138008,
        "prev": 93766,
        "fix": "booking_other"
      }
    },
    {
      "id": 17294,
      "at": "2026-10-15T01:11:10.244Z",
      "domain": "longlerie.com",
      "name": "L'onglerie",
      "page": "https://directindex.org/r/longlerie.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138008,
        "prev": 93766,
        "fix": "no_channel"
      }
    },
    {
      "id": 17293,
      "at": "2026-10-15T01:11:08.856Z",
      "domain": "labellecoupelyon.fr",
      "name": "La Belle Coupe",
      "page": "https://directindex.org/r/labellecoupelyon.fr",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 138004,
        "prev": 93436,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17292,
      "at": "2026-10-15T01:11:08.856Z",
      "domain": "labellecoupelyon.fr",
      "name": "La Belle Coupe",
      "page": "https://directindex.org/r/labellecoupelyon.fr",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 138004,
        "prev": 93436,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17291,
      "at": "2026-10-15T01:11:08.856Z",
      "domain": "labellecoupelyon.fr",
      "name": "La Belle Coupe",
      "page": "https://directindex.org/r/labellecoupelyon.fr",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 138004,
        "prev": 93436,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17290,
      "at": "2026-10-15T01:11:08.856Z",
      "domain": "labellecoupelyon.fr",
      "name": "La Belle Coupe",
      "page": "https://directindex.org/r/labellecoupelyon.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138004,
        "prev": 93436,
        "fix": "no_channel"
      }
    },
    {
      "id": 17289,
      "at": "2026-10-15T01:11:08.350Z",
      "domain": "lazeo.com",
      "name": "Lazeo",
      "page": "https://directindex.org/r/lazeo.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138003,
        "prev": 93691,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17288,
      "at": "2026-10-15T01:11:08.350Z",
      "domain": "lazeo.com",
      "name": "Lazeo",
      "page": "https://directindex.org/r/lazeo.com",
      "kind": "grade_up",
      "what": "grade D to B (70%)",
      "detail": {
        "scan": 138003,
        "prev": 93691,
        "from": "D",
        "to": "B",
        "pct": 70
      }
    },
    {
      "id": 17287,
      "at": "2026-10-15T01:11:08.350Z",
      "domain": "lazeo.com",
      "name": "Lazeo",
      "page": "https://directindex.org/r/lazeo.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138003,
        "prev": 93691,
        "fix": "no_channel"
      }
    },
    {
      "id": 17286,
      "at": "2026-10-15T01:11:08.144Z",
      "domain": "premiummassage.fr",
      "name": "Premium Massage",
      "page": "https://directindex.org/r/premiummassage.fr",
      "kind": "vendor",
      "what": "vendor: none to Fresha",
      "detail": {
        "scan": 138002,
        "prev": 93759,
        "from": null,
        "to": "fresha"
      }
    },
    {
      "id": 17285,
      "at": "2026-10-15T01:11:08.144Z",
      "domain": "premiummassage.fr",
      "name": "Premium Massage",
      "page": "https://directindex.org/r/premiummassage.fr",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 138002,
        "prev": 93759,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17284,
      "at": "2026-10-15T01:11:08.144Z",
      "domain": "premiummassage.fr",
      "name": "Premium Massage",
      "page": "https://directindex.org/r/premiummassage.fr",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 138002,
        "prev": 93759,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17283,
      "at": "2026-10-15T01:11:08.144Z",
      "domain": "premiummassage.fr",
      "name": "Premium Massage",
      "page": "https://directindex.org/r/premiummassage.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138002,
        "prev": 93759,
        "fix": "no_channel"
      }
    },
    {
      "id": 17282,
      "at": "2026-10-15T01:11:07.643Z",
      "domain": "epilnet.fr",
      "name": "Epil'Net",
      "page": "https://directindex.org/r/epilnet.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138001,
        "prev": 93728,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17281,
      "at": "2026-10-15T01:11:07.643Z",
      "domain": "epilnet.fr",
      "name": "Epil'Net",
      "page": "https://directindex.org/r/epilnet.fr",
      "kind": "grade_up",
      "what": "grade C to B (80%)",
      "detail": {
        "scan": 138001,
        "prev": 93728,
        "from": "C",
        "to": "B",
        "pct": 80
      }
    },
    {
      "id": 17280,
      "at": "2026-10-15T01:11:07.643Z",
      "domain": "epilnet.fr",
      "name": "Epil'Net",
      "page": "https://directindex.org/r/epilnet.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138001,
        "prev": 93728,
        "fix": "no_channel"
      }
    },
    {
      "id": 17279,
      "at": "2026-10-15T01:11:07.491Z",
      "domain": "yurimorales.fr",
      "name": "Yuri Morales",
      "page": "https://directindex.org/r/yurimorales.fr",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 138000,
        "prev": 93628,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17278,
      "at": "2026-10-15T01:11:07.491Z",
      "domain": "yurimorales.fr",
      "name": "Yuri Morales",
      "page": "https://directindex.org/r/yurimorales.fr",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 138000,
        "prev": 93628,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17277,
      "at": "2026-10-15T01:11:07.491Z",
      "domain": "yurimorales.fr",
      "name": "Yuri Morales",
      "page": "https://directindex.org/r/yurimorales.fr",
      "kind": "grade_up",
      "what": "grade F to D (43%)",
      "detail": {
        "scan": 138000,
        "prev": 93628,
        "from": "F",
        "to": "D",
        "pct": 43.1
      }
    },
    {
      "id": 17276,
      "at": "2026-10-15T01:11:07.491Z",
      "domain": "yurimorales.fr",
      "name": "Yuri Morales",
      "page": "https://directindex.org/r/yurimorales.fr",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 138000,
        "prev": 93628,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17275,
      "at": "2026-10-15T01:11:07.491Z",
      "domain": "yurimorales.fr",
      "name": "Yuri Morales",
      "page": "https://directindex.org/r/yurimorales.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138000,
        "prev": 93628,
        "fix": "no_channel"
      }
    },
    {
      "id": 17274,
      "at": "2026-10-15T01:11:07.241Z",
      "domain": "amand-douce.fr",
      "name": "Amand'Douce",
      "page": "https://directindex.org/r/amand-douce.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137999,
        "prev": 93486,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17273,
      "at": "2026-10-15T01:11:07.241Z",
      "domain": "amand-douce.fr",
      "name": "Amand'Douce",
      "page": "https://directindex.org/r/amand-douce.fr",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 137999,
        "prev": 93486,
        "from": "F",
        "to": "C",
        "pct": 62
      }
    },
    {
      "id": 17272,
      "at": "2026-10-15T01:11:07.241Z",
      "domain": "amand-douce.fr",
      "name": "Amand'Douce",
      "page": "https://directindex.org/r/amand-douce.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137999,
        "prev": 93486,
        "fix": "no_channel"
      }
    },
    {
      "id": 17271,
      "at": "2026-10-15T01:11:05.914Z",
      "domain": "macadamia-coiffure.fr",
      "name": "Macadamia Coiffure",
      "page": "https://directindex.org/r/macadamia-coiffure.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137993,
        "prev": 93434,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17270,
      "at": "2026-10-15T01:11:05.914Z",
      "domain": "macadamia-coiffure.fr",
      "name": "Macadamia Coiffure",
      "page": "https://directindex.org/r/macadamia-coiffure.fr",
      "kind": "grade_up",
      "what": "grade F to C (63%)",
      "detail": {
        "scan": 137993,
        "prev": 93434,
        "from": "F",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17269,
      "at": "2026-10-15T01:11:05.914Z",
      "domain": "macadamia-coiffure.fr",
      "name": "Macadamia Coiffure",
      "page": "https://directindex.org/r/macadamia-coiffure.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137993,
        "prev": 93434,
        "fix": "no_channel"
      }
    },
    {
      "id": 17268,
      "at": "2026-10-15T01:11:04.912Z",
      "domain": "booksy.com",
      "name": "Préférence",
      "page": "https://directindex.org/r/booksy.com",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 137992,
        "prev": 93306,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 17267,
      "at": "2026-10-15T01:11:04.912Z",
      "domain": "booksy.com",
      "name": "Préférence",
      "page": "https://directindex.org/r/booksy.com",
      "kind": "grade_up",
      "what": "grade D to C (60%)",
      "detail": {
        "scan": 137992,
        "prev": 93306,
        "from": "D",
        "to": "C",
        "pct": 60
      }
    },
    {
      "id": 17266,
      "at": "2026-10-15T01:11:04.912Z",
      "domain": "booksy.com",
      "name": "Préférence",
      "page": "https://directindex.org/r/booksy.com",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 137992,
        "prev": 93306,
        "fix": "booking_other"
      }
    },
    {
      "id": 17265,
      "at": "2026-10-15T01:11:04.912Z",
      "domain": "booksy.com",
      "name": "Préférence",
      "page": "https://directindex.org/r/booksy.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137992,
        "prev": 93306,
        "fix": "no_channel"
      }
    },
    {
      "id": 17264,
      "at": "2026-10-15T01:11:04.168Z",
      "domain": "clorindecatta.fr",
      "name": "Massages bien-être et Tuina - Clorinde Catta",
      "page": "https://directindex.org/r/clorindecatta.fr",
      "kind": "vendor",
      "what": "vendor: none to Calendly",
      "detail": {
        "scan": 137991,
        "prev": 93637,
        "from": null,
        "to": "calendly"
      }
    },
    {
      "id": 17263,
      "at": "2026-10-15T01:11:04.168Z",
      "domain": "clorindecatta.fr",
      "name": "Massages bien-être et Tuina - Clorinde Catta",
      "page": "https://directindex.org/r/clorindecatta.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 137991,
        "prev": 93637,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17262,
      "at": "2026-10-15T01:11:04.168Z",
      "domain": "clorindecatta.fr",
      "name": "Massages bien-être et Tuina - Clorinde Catta",
      "page": "https://directindex.org/r/clorindecatta.fr",
      "kind": "grade_up",
      "what": "grade F to D (54%)",
      "detail": {
        "scan": 137991,
        "prev": 93637,
        "from": "F",
        "to": "D",
        "pct": 53.8
      }
    },
    {
      "id": 17261,
      "at": "2026-10-15T01:11:04.168Z",
      "domain": "clorindecatta.fr",
      "name": "Massages bien-être et Tuina - Clorinde Catta",
      "page": "https://directindex.org/r/clorindecatta.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137991,
        "prev": 93637,
        "fix": "no_channel"
      }
    },
    {
      "id": 17260,
      "at": "2026-10-15T01:11:03.901Z",
      "domain": "maestrolartisan.fr",
      "name": "Maestro L'Artisan",
      "page": "https://directindex.org/r/maestrolartisan.fr",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137989,
        "prev": 93431,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17259,
      "at": "2026-10-15T01:11:03.901Z",
      "domain": "maestrolartisan.fr",
      "name": "Maestro L'Artisan",
      "page": "https://directindex.org/r/maestrolartisan.fr",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137989,
        "prev": 93431,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17258,
      "at": "2026-10-15T01:11:03.901Z",
      "domain": "maestrolartisan.fr",
      "name": "Maestro L'Artisan",
      "page": "https://directindex.org/r/maestrolartisan.fr",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137989,
        "prev": 93431,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17257,
      "at": "2026-10-15T01:11:03.901Z",
      "domain": "maestrolartisan.fr",
      "name": "Maestro L'Artisan",
      "page": "https://directindex.org/r/maestrolartisan.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137989,
        "prev": 93431,
        "fix": "no_channel"
      }
    },
    {
      "id": 17256,
      "at": "2026-10-15T01:11:02.887Z",
      "domain": "fleursdecerisier.fr",
      "name": "Fleurs de Cerisier",
      "page": "https://directindex.org/r/fleursdecerisier.fr",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137988,
        "prev": 93424,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17255,
      "at": "2026-10-15T01:11:02.887Z",
      "domain": "fleursdecerisier.fr",
      "name": "Fleurs de Cerisier",
      "page": "https://directindex.org/r/fleursdecerisier.fr",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137988,
        "prev": 93424,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17254,
      "at": "2026-10-15T01:11:02.887Z",
      "domain": "fleursdecerisier.fr",
      "name": "Fleurs de Cerisier",
      "page": "https://directindex.org/r/fleursdecerisier.fr",
      "kind": "grade_up",
      "what": "grade F to D (43%)",
      "detail": {
        "scan": 137988,
        "prev": 93424,
        "from": "F",
        "to": "D",
        "pct": 43.1
      }
    },
    {
      "id": 17253,
      "at": "2026-10-15T01:11:02.887Z",
      "domain": "fleursdecerisier.fr",
      "name": "Fleurs de Cerisier",
      "page": "https://directindex.org/r/fleursdecerisier.fr",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137988,
        "prev": 93424,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17252,
      "at": "2026-10-15T01:11:02.887Z",
      "domain": "fleursdecerisier.fr",
      "name": "Fleurs de Cerisier",
      "page": "https://directindex.org/r/fleursdecerisier.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137988,
        "prev": 93424,
        "fix": "no_channel"
      }
    },
    {
      "id": 17251,
      "at": "2026-10-15T01:11:02.646Z",
      "domain": "cielobronzage.com",
      "name": "Cielo Bronzage",
      "page": "https://directindex.org/r/cielobronzage.com",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137987,
        "prev": 93479,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17250,
      "at": "2026-10-15T01:11:02.646Z",
      "domain": "cielobronzage.com",
      "name": "Cielo Bronzage",
      "page": "https://directindex.org/r/cielobronzage.com",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137987,
        "prev": 93479,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17249,
      "at": "2026-10-15T01:11:02.646Z",
      "domain": "cielobronzage.com",
      "name": "Cielo Bronzage",
      "page": "https://directindex.org/r/cielobronzage.com",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137987,
        "prev": 93479,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17248,
      "at": "2026-10-15T01:11:02.646Z",
      "domain": "cielobronzage.com",
      "name": "Cielo Bronzage",
      "page": "https://directindex.org/r/cielobronzage.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137987,
        "prev": 93479,
        "fix": "no_channel"
      }
    },
    {
      "id": 17247,
      "at": "2026-10-15T01:11:02.523Z",
      "domain": "maisondusoin.fr",
      "name": "Maison du soin",
      "page": "https://directindex.org/r/maisondusoin.fr",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137986,
        "prev": 93498,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17246,
      "at": "2026-10-15T01:11:02.523Z",
      "domain": "maisondusoin.fr",
      "name": "Maison du soin",
      "page": "https://directindex.org/r/maisondusoin.fr",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137986,
        "prev": 93498,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17245,
      "at": "2026-10-15T01:11:02.523Z",
      "domain": "maisondusoin.fr",
      "name": "Maison du soin",
      "page": "https://directindex.org/r/maisondusoin.fr",
      "kind": "grade_up",
      "what": "grade F to D (40%)",
      "detail": {
        "scan": 137986,
        "prev": 93498,
        "from": "F",
        "to": "D",
        "pct": 40
      }
    },
    {
      "id": 17244,
      "at": "2026-10-15T01:11:02.523Z",
      "domain": "maisondusoin.fr",
      "name": "Maison du soin",
      "page": "https://directindex.org/r/maisondusoin.fr",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137986,
        "prev": 93498,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17243,
      "at": "2026-10-15T01:11:02.523Z",
      "domain": "maisondusoin.fr",
      "name": "Maison du soin",
      "page": "https://directindex.org/r/maisondusoin.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137986,
        "prev": 93498,
        "fix": "no_channel"
      }
    },
    {
      "id": 17242,
      "at": "2026-10-15T01:11:02.075Z",
      "domain": "fresha.com",
      "name": "Grain de Charme Esthétique",
      "page": "https://directindex.org/r/fresha.com",
      "kind": "vendor",
      "what": "vendor: none to Fresha",
      "detail": {
        "scan": 137985,
        "prev": 93583,
        "from": null,
        "to": "fresha"
      }
    },
    {
      "id": 17241,
      "at": "2026-10-15T01:11:02.075Z",
      "domain": "fresha.com",
      "name": "Grain de Charme Esthétique",
      "page": "https://directindex.org/r/fresha.com",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137985,
        "prev": 93583,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17240,
      "at": "2026-10-15T01:11:02.075Z",
      "domain": "fresha.com",
      "name": "Grain de Charme Esthétique",
      "page": "https://directindex.org/r/fresha.com",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137985,
        "prev": 93583,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17239,
      "at": "2026-10-15T01:11:02.075Z",
      "domain": "fresha.com",
      "name": "Grain de Charme Esthétique",
      "page": "https://directindex.org/r/fresha.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137985,
        "prev": 93583,
        "fix": "no_channel"
      }
    },
    {
      "id": 17238,
      "at": "2026-10-15T01:11:01.608Z",
      "domain": "lecoiffeurdespetitslyonnais.fr",
      "name": "Le Coiffeur des Petits Lyonnais",
      "page": "https://directindex.org/r/lecoiffeurdespetitslyonnais.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137982,
        "prev": 93433,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17237,
      "at": "2026-10-15T01:11:01.608Z",
      "domain": "lecoiffeurdespetitslyonnais.fr",
      "name": "Le Coiffeur des Petits Lyonnais",
      "page": "https://directindex.org/r/lecoiffeurdespetitslyonnais.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 137982,
        "prev": 93433,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17236,
      "at": "2026-10-15T01:11:01.608Z",
      "domain": "lecoiffeurdespetitslyonnais.fr",
      "name": "Le Coiffeur des Petits Lyonnais",
      "page": "https://directindex.org/r/lecoiffeurdespetitslyonnais.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137982,
        "prev": 93433,
        "fix": "no_channel"
      }
    },
    {
      "id": 17235,
      "at": "2026-10-15T01:11:01.282Z",
      "domain": "planity.com",
      "name": "Anne Claire Artisan Coiffeur",
      "page": "https://directindex.org/r/planity.com",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137980,
        "prev": 93478,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17234,
      "at": "2026-10-15T01:11:01.282Z",
      "domain": "planity.com",
      "name": "Anne Claire Artisan Coiffeur",
      "page": "https://directindex.org/r/planity.com",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137980,
        "prev": 93478,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17233,
      "at": "2026-10-15T01:11:01.282Z",
      "domain": "planity.com",
      "name": "Anne Claire Artisan Coiffeur",
      "page": "https://directindex.org/r/planity.com",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137980,
        "prev": 93478,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17232,
      "at": "2026-10-15T01:11:01.282Z",
      "domain": "planity.com",
      "name": "Anne Claire Artisan Coiffeur",
      "page": "https://directindex.org/r/planity.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137980,
        "prev": 93478,
        "fix": "no_channel"
      }
    },
    {
      "id": 17231,
      "at": "2026-10-15T01:11:01.251Z",
      "domain": "institut-lyon-peaudange.fr",
      "name": "Maria Galland",
      "page": "https://directindex.org/r/institut-lyon-peaudange.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137979,
        "prev": 93532,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17230,
      "at": "2026-10-15T01:11:01.251Z",
      "domain": "institut-lyon-peaudange.fr",
      "name": "Maria Galland",
      "page": "https://directindex.org/r/institut-lyon-peaudange.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 137979,
        "prev": 93532,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17229,
      "at": "2026-10-15T01:11:01.251Z",
      "domain": "institut-lyon-peaudange.fr",
      "name": "Maria Galland",
      "page": "https://directindex.org/r/institut-lyon-peaudange.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137979,
        "prev": 93532,
        "fix": "no_channel"
      }
    },
    {
      "id": 17228,
      "at": "2026-10-15T01:11:01.323Z",
      "domain": "vog.fr",
      "name": "Vog Coiffure",
      "page": "https://directindex.org/r/vog.fr",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137978,
        "prev": 93489,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17227,
      "at": "2026-10-15T01:11:01.323Z",
      "domain": "vog.fr",
      "name": "Vog Coiffure",
      "page": "https://directindex.org/r/vog.fr",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137978,
        "prev": 93489,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17226,
      "at": "2026-10-15T01:11:01.323Z",
      "domain": "vog.fr",
      "name": "Vog Coiffure",
      "page": "https://directindex.org/r/vog.fr",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137978,
        "prev": 93489,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17225,
      "at": "2026-10-15T01:11:01.323Z",
      "domain": "vog.fr",
      "name": "Vog Coiffure",
      "page": "https://directindex.org/r/vog.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137978,
        "prev": 93489,
        "fix": "no_channel"
      }
    },
    {
      "id": 17224,
      "at": "2026-10-15T01:11:00.390Z",
      "domain": "bodyminute.com",
      "name": "Body Minute",
      "page": "https://directindex.org/r/bodyminute.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137975,
        "prev": 93675,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17223,
      "at": "2026-10-15T01:11:00.390Z",
      "domain": "bodyminute.com",
      "name": "Body Minute",
      "page": "https://directindex.org/r/bodyminute.com",
      "kind": "grade_up",
      "what": "grade D to A (86%)",
      "detail": {
        "scan": 137975,
        "prev": 93675,
        "from": "D",
        "to": "A",
        "pct": 86.2
      }
    },
    {
      "id": 17222,
      "at": "2026-10-15T01:11:00.390Z",
      "domain": "bodyminute.com",
      "name": "Body Minute",
      "page": "https://directindex.org/r/bodyminute.com",
      "kind": "broke",
      "what": "new finding: structured data was incomplete",
      "detail": {
        "scan": 137975,
        "prev": 93675,
        "fix": "structured_incomplete"
      }
    },
    {
      "id": 17221,
      "at": "2026-10-15T01:11:00.390Z",
      "domain": "bodyminute.com",
      "name": "Body Minute",
      "page": "https://directindex.org/r/bodyminute.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137975,
        "prev": 93675,
        "fix": "no_channel"
      }
    },
    {
      "id": 17220,
      "at": "2026-10-15T01:11:00.390Z",
      "domain": "bodyminute.com",
      "name": "Body Minute",
      "page": "https://directindex.org/r/bodyminute.com",
      "kind": "fixed",
      "what": "fixed: no structured data for the business",
      "detail": {
        "scan": 137975,
        "prev": 93675,
        "fix": "no_structured"
      }
    },
    {
      "id": 17219,
      "at": "2026-10-15T01:11:00.344Z",
      "domain": "kevinscott.fr",
      "name": "Kevin Scott",
      "page": "https://directindex.org/r/kevinscott.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137974,
        "prev": 93422,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17218,
      "at": "2026-10-15T01:11:00.344Z",
      "domain": "kevinscott.fr",
      "name": "Kevin Scott",
      "page": "https://directindex.org/r/kevinscott.fr",
      "kind": "grade_up",
      "what": "grade D to C (64%)",
      "detail": {
        "scan": 137974,
        "prev": 93422,
        "from": "D",
        "to": "C",
        "pct": 63.5
      }
    },
    {
      "id": 17217,
      "at": "2026-10-15T01:11:00.344Z",
      "domain": "kevinscott.fr",
      "name": "Kevin Scott",
      "page": "https://directindex.org/r/kevinscott.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137974,
        "prev": 93422,
        "fix": "no_channel"
      }
    },
    {
      "id": 17216,
      "at": "2026-10-15T01:10:59.071Z",
      "domain": "epilationdefinitivelyon.fr",
      "name": "LuxMe",
      "page": "https://directindex.org/r/epilationdefinitivelyon.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137973,
        "prev": 93603,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17215,
      "at": "2026-10-15T01:10:59.071Z",
      "domain": "epilationdefinitivelyon.fr",
      "name": "LuxMe",
      "page": "https://directindex.org/r/epilationdefinitivelyon.fr",
      "kind": "grade_up",
      "what": "grade C to A (86%)",
      "detail": {
        "scan": 137973,
        "prev": 93603,
        "from": "C",
        "to": "A",
        "pct": 86.2
      }
    },
    {
      "id": 17214,
      "at": "2026-10-15T01:10:59.071Z",
      "domain": "epilationdefinitivelyon.fr",
      "name": "LuxMe",
      "page": "https://directindex.org/r/epilationdefinitivelyon.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137973,
        "prev": 93603,
        "fix": "no_channel"
      }
    },
    {
      "id": 17213,
      "at": "2026-10-15T01:10:57.876Z",
      "domain": "lamaisondutuina.com",
      "name": "La Maison du Tui Na",
      "page": "https://directindex.org/r/lamaisondutuina.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137971,
        "prev": 93471,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17212,
      "at": "2026-10-15T01:10:57.876Z",
      "domain": "lamaisondutuina.com",
      "name": "La Maison du Tui Na",
      "page": "https://directindex.org/r/lamaisondutuina.com",
      "kind": "grade_up",
      "what": "grade C to B (85%)",
      "detail": {
        "scan": 137971,
        "prev": 93471,
        "from": "C",
        "to": "B",
        "pct": 84.6
      }
    },
    {
      "id": 17211,
      "at": "2026-10-15T01:10:57.876Z",
      "domain": "lamaisondutuina.com",
      "name": "La Maison du Tui Na",
      "page": "https://directindex.org/r/lamaisondutuina.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137971,
        "prev": 93471,
        "fix": "no_channel"
      }
    },
    {
      "id": 17210,
      "at": "2026-10-15T01:10:56.026Z",
      "domain": "thekopbarber.com",
      "name": "Chrissbarber",
      "page": "https://directindex.org/r/thekopbarber.com",
      "kind": "grade_up",
      "what": "grade D to C (55%)",
      "detail": {
        "scan": 137969,
        "prev": 93811,
        "from": "D",
        "to": "C",
        "pct": 55.4
      }
    },
    {
      "id": 17209,
      "at": "2026-10-15T01:10:54.934Z",
      "domain": "maison-jeilan.fr",
      "name": "Maison Jeilan",
      "page": "https://directindex.org/r/maison-jeilan.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137968,
        "prev": 93390,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17208,
      "at": "2026-10-15T01:10:54.934Z",
      "domain": "maison-jeilan.fr",
      "name": "Maison Jeilan",
      "page": "https://directindex.org/r/maison-jeilan.fr",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 137968,
        "prev": 93390,
        "from": "F",
        "to": "C",
        "pct": 61.5
      }
    },
    {
      "id": 17207,
      "at": "2026-10-15T01:10:54.934Z",
      "domain": "maison-jeilan.fr",
      "name": "Maison Jeilan",
      "page": "https://directindex.org/r/maison-jeilan.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137968,
        "prev": 93390,
        "fix": "no_channel"
      }
    },
    {
      "id": 17206,
      "at": "2026-10-15T01:10:54.764Z",
      "domain": "franck-brevi-coiffure.fr",
      "name": "Coiffeur Franck Brévi",
      "page": "https://directindex.org/r/franck-brevi-coiffure.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137966,
        "prev": 93339,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17205,
      "at": "2026-10-15T01:10:54.764Z",
      "domain": "franck-brevi-coiffure.fr",
      "name": "Coiffeur Franck Brévi",
      "page": "https://directindex.org/r/franck-brevi-coiffure.fr",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 137966,
        "prev": 93339,
        "from": "F",
        "to": "C",
        "pct": 61.5
      }
    },
    {
      "id": 17204,
      "at": "2026-10-15T01:10:54.764Z",
      "domain": "franck-brevi-coiffure.fr",
      "name": "Coiffeur Franck Brévi",
      "page": "https://directindex.org/r/franck-brevi-coiffure.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137966,
        "prev": 93339,
        "fix": "no_channel"
      }
    },
    {
      "id": 17203,
      "at": "2026-10-15T01:10:54.718Z",
      "domain": "labelleboucle.fr",
      "name": "La belle boucle",
      "page": "https://directindex.org/r/labelleboucle.fr",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137964,
        "prev": 93553,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17202,
      "at": "2026-10-15T01:10:54.718Z",
      "domain": "labelleboucle.fr",
      "name": "La belle boucle",
      "page": "https://directindex.org/r/labelleboucle.fr",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137964,
        "prev": 93553,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17201,
      "at": "2026-10-15T01:10:54.718Z",
      "domain": "labelleboucle.fr",
      "name": "La belle boucle",
      "page": "https://directindex.org/r/labelleboucle.fr",
      "kind": "blocked",
      "what": "now turns an AI crawler away at the edge",
      "detail": {
        "scan": 137964,
        "prev": 93553
      }
    },
    {
      "id": 17200,
      "at": "2026-10-15T01:10:54.718Z",
      "domain": "labelleboucle.fr",
      "name": "La belle boucle",
      "page": "https://directindex.org/r/labelleboucle.fr",
      "kind": "broke",
      "what": "new finding: no llms.txt",
      "detail": {
        "scan": 137964,
        "prev": 93553,
        "fix": "no_llms_txt"
      }
    },
    {
      "id": 17199,
      "at": "2026-10-15T01:10:54.718Z",
      "domain": "labelleboucle.fr",
      "name": "La belle boucle",
      "page": "https://directindex.org/r/labelleboucle.fr",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137964,
        "prev": 93553,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17198,
      "at": "2026-10-15T01:10:54.718Z",
      "domain": "labelleboucle.fr",
      "name": "La belle boucle",
      "page": "https://directindex.org/r/labelleboucle.fr",
      "kind": "broke",
      "what": "new finding: the server turned AI crawlers away at the door",
      "detail": {
        "scan": 137964,
        "prev": 93553,
        "fix": "edge_blocks"
      }
    },
    {
      "id": 17197,
      "at": "2026-10-15T01:10:54.718Z",
      "domain": "labelleboucle.fr",
      "name": "La belle boucle",
      "page": "https://directindex.org/r/labelleboucle.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137964,
        "prev": 93553,
        "fix": "no_channel"
      }
    },
    {
      "id": 17196,
      "at": "2026-10-15T01:10:54.394Z",
      "domain": "institut-herriot.fr",
      "name": "Institut Herriot",
      "page": "https://directindex.org/r/institut-herriot.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137962,
        "prev": 93464,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17195,
      "at": "2026-10-15T01:10:54.394Z",
      "domain": "institut-herriot.fr",
      "name": "Institut Herriot",
      "page": "https://directindex.org/r/institut-herriot.fr",
      "kind": "grade_up",
      "what": "grade D to B (74%)",
      "detail": {
        "scan": 137962,
        "prev": 93464,
        "from": "D",
        "to": "B",
        "pct": 73.8
      }
    },
    {
      "id": 17194,
      "at": "2026-10-15T01:10:54.394Z",
      "domain": "institut-herriot.fr",
      "name": "Institut Herriot",
      "page": "https://directindex.org/r/institut-herriot.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137962,
        "prev": 93464,
        "fix": "no_channel"
      }
    },
    {
      "id": 17193,
      "at": "2026-10-15T01:10:54.074Z",
      "domain": "onglesenfleurs.fr",
      "name": "Ongles en Fleurs",
      "page": "https://directindex.org/r/onglesenfleurs.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137960,
        "prev": 93402,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17192,
      "at": "2026-10-15T01:10:54.074Z",
      "domain": "onglesenfleurs.fr",
      "name": "Ongles en Fleurs",
      "page": "https://directindex.org/r/onglesenfleurs.fr",
      "kind": "grade_up",
      "what": "grade F to C (59%)",
      "detail": {
        "scan": 137960,
        "prev": 93402,
        "from": "F",
        "to": "C",
        "pct": 58.5
      }
    },
    {
      "id": 17191,
      "at": "2026-10-15T01:10:54.074Z",
      "domain": "onglesenfleurs.fr",
      "name": "Ongles en Fleurs",
      "page": "https://directindex.org/r/onglesenfleurs.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137960,
        "prev": 93402,
        "fix": "no_channel"
      }
    },
    {
      "id": 17190,
      "at": "2026-10-15T01:10:53.805Z",
      "domain": "deshira.fr",
      "name": "Deshira",
      "page": "https://directindex.org/r/deshira.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137959,
        "prev": 93572,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17189,
      "at": "2026-10-15T01:10:53.805Z",
      "domain": "deshira.fr",
      "name": "Deshira",
      "page": "https://directindex.org/r/deshira.fr",
      "kind": "grade_up",
      "what": "grade C to B (75%)",
      "detail": {
        "scan": 137959,
        "prev": 93572,
        "from": "C",
        "to": "B",
        "pct": 75.4
      }
    },
    {
      "id": 17188,
      "at": "2026-10-15T01:10:53.805Z",
      "domain": "deshira.fr",
      "name": "Deshira",
      "page": "https://directindex.org/r/deshira.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137959,
        "prev": 93572,
        "fix": "no_channel"
      }
    },
    {
      "id": 17187,
      "at": "2026-10-15T01:10:53.605Z",
      "domain": "lyon6-endermospa-lpg.fr",
      "name": "Endermospa",
      "page": "https://directindex.org/r/lyon6-endermospa-lpg.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137958,
        "prev": 93441,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17186,
      "at": "2026-10-15T01:10:53.605Z",
      "domain": "lyon6-endermospa-lpg.fr",
      "name": "Endermospa",
      "page": "https://directindex.org/r/lyon6-endermospa-lpg.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 137958,
        "prev": 93441,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17185,
      "at": "2026-10-15T01:10:53.605Z",
      "domain": "lyon6-endermospa-lpg.fr",
      "name": "Endermospa",
      "page": "https://directindex.org/r/lyon6-endermospa-lpg.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137958,
        "prev": 93441,
        "fix": "no_channel"
      }
    },
    {
      "id": 17184,
      "at": "2026-10-15T01:10:53.233Z",
      "domain": "dessange.com",
      "name": "Dessange",
      "page": "https://directindex.org/r/dessange.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137957,
        "prev": 93580,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17183,
      "at": "2026-10-15T01:10:53.233Z",
      "domain": "dessange.com",
      "name": "Dessange",
      "page": "https://directindex.org/r/dessange.com",
      "kind": "grade_up",
      "what": "grade D to B (70%)",
      "detail": {
        "scan": 137957,
        "prev": 93580,
        "from": "D",
        "to": "B",
        "pct": 70
      }
    },
    {
      "id": 17182,
      "at": "2026-10-15T01:10:53.233Z",
      "domain": "dessange.com",
      "name": "Dessange",
      "page": "https://directindex.org/r/dessange.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137957,
        "prev": 93580,
        "fix": "no_channel"
      }
    },
    {
      "id": 17181,
      "at": "2026-10-15T01:10:52.564Z",
      "domain": "phodpho.fr",
      "name": "Phod Pho Thaï",
      "page": "https://directindex.org/r/phodpho.fr",
      "kind": "vendor",
      "what": "vendor: none to Setmore",
      "detail": {
        "scan": 137955,
        "prev": 93383,
        "from": null,
        "to": "setmore"
      }
    },
    {
      "id": 17180,
      "at": "2026-10-15T01:10:52.564Z",
      "domain": "phodpho.fr",
      "name": "Phod Pho Thaï",
      "page": "https://directindex.org/r/phodpho.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 137955,
        "prev": 93383,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17179,
      "at": "2026-10-15T01:10:52.564Z",
      "domain": "phodpho.fr",
      "name": "Phod Pho Thaï",
      "page": "https://directindex.org/r/phodpho.fr",
      "kind": "grade_up",
      "what": "grade F to D (40%)",
      "detail": {
        "scan": 137955,
        "prev": 93383,
        "from": "F",
        "to": "D",
        "pct": 40
      }
    },
    {
      "id": 17178,
      "at": "2026-10-15T01:10:52.564Z",
      "domain": "phodpho.fr",
      "name": "Phod Pho Thaï",
      "page": "https://directindex.org/r/phodpho.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137955,
        "prev": 93383,
        "fix": "no_channel"
      }
    },
    {
      "id": 17177,
      "at": "2026-10-15T01:10:52.564Z",
      "domain": "guinot.com",
      "name": "Institut de la Presqu'île",
      "page": "https://directindex.org/r/guinot.com",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 137954,
        "prev": 93415,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 17176,
      "at": "2026-10-15T01:10:52.564Z",
      "domain": "guinot.com",
      "name": "Institut de la Presqu'île",
      "page": "https://directindex.org/r/guinot.com",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 137954,
        "prev": 93415,
        "fix": "booking_other"
      }
    },
    {
      "id": 17175,
      "at": "2026-10-15T01:10:52.564Z",
      "domain": "guinot.com",
      "name": "Institut de la Presqu'île",
      "page": "https://directindex.org/r/guinot.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137954,
        "prev": 93415,
        "fix": "no_channel"
      }
    },
    {
      "id": 17174,
      "at": "2026-10-15T01:10:52.543Z",
      "domain": "cmeslyon.fr",
      "name": "Vip Body - Cmes",
      "page": "https://directindex.org/r/cmeslyon.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137952,
        "prev": 93366,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17173,
      "at": "2026-10-15T01:10:52.543Z",
      "domain": "cmeslyon.fr",
      "name": "Vip Body - Cmes",
      "page": "https://directindex.org/r/cmeslyon.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 137952,
        "prev": 93366,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17172,
      "at": "2026-10-15T01:10:52.543Z",
      "domain": "cmeslyon.fr",
      "name": "Vip Body - Cmes",
      "page": "https://directindex.org/r/cmeslyon.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137952,
        "prev": 93366,
        "fix": "no_channel"
      }
    },
    {
      "id": 17171,
      "at": "2026-10-15T01:10:52.509Z",
      "domain": "lembellie-lyon.com",
      "name": "L'Embellie",
      "page": "https://directindex.org/r/lembellie-lyon.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137950,
        "prev": 93468,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17170,
      "at": "2026-10-15T01:10:52.509Z",
      "domain": "lembellie-lyon.com",
      "name": "L'Embellie",
      "page": "https://directindex.org/r/lembellie-lyon.com",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 137950,
        "prev": 93468,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17169,
      "at": "2026-10-15T01:10:52.509Z",
      "domain": "lembellie-lyon.com",
      "name": "L'Embellie",
      "page": "https://directindex.org/r/lembellie-lyon.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137950,
        "prev": 93468,
        "fix": "no_channel"
      }
    },
    {
      "id": 17168,
      "at": "2026-10-15T01:10:52.139Z",
      "domain": "coiffuredesarts.fr",
      "name": "Coiffure des Arts",
      "page": "https://directindex.org/r/coiffuredesarts.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137949,
        "prev": 93416,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17167,
      "at": "2026-10-15T01:10:52.139Z",
      "domain": "coiffuredesarts.fr",
      "name": "Coiffure des Arts",
      "page": "https://directindex.org/r/coiffuredesarts.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 137949,
        "prev": 93416,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17166,
      "at": "2026-10-15T01:10:52.139Z",
      "domain": "coiffuredesarts.fr",
      "name": "Coiffure des Arts",
      "page": "https://directindex.org/r/coiffuredesarts.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137949,
        "prev": 93416,
        "fix": "no_channel"
      }
    },
    {
      "id": 17165,
      "at": "2026-10-15T01:10:51.806Z",
      "domain": "boucleaboucle.com",
      "name": "Boucle à boucle",
      "page": "https://directindex.org/r/boucleaboucle.com",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137948,
        "prev": 93408,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17164,
      "at": "2026-10-15T01:10:51.806Z",
      "domain": "boucleaboucle.com",
      "name": "Boucle à boucle",
      "page": "https://directindex.org/r/boucleaboucle.com",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137948,
        "prev": 93408,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17163,
      "at": "2026-10-15T01:10:51.806Z",
      "domain": "boucleaboucle.com",
      "name": "Boucle à boucle",
      "page": "https://directindex.org/r/boucleaboucle.com",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137948,
        "prev": 93408,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17162,
      "at": "2026-10-15T01:10:51.806Z",
      "domain": "boucleaboucle.com",
      "name": "Boucle à boucle",
      "page": "https://directindex.org/r/boucleaboucle.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137948,
        "prev": 93408,
        "fix": "no_channel"
      }
    },
    {
      "id": 17161,
      "at": "2026-10-15T01:10:51.078Z",
      "domain": "camillealbane.com",
      "name": "Camille Albane",
      "page": "https://directindex.org/r/camillealbane.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137944,
        "prev": 93346,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17160,
      "at": "2026-10-15T01:10:51.078Z",
      "domain": "camillealbane.com",
      "name": "Camille Albane",
      "page": "https://directindex.org/r/camillealbane.com",
      "kind": "grade_up",
      "what": "grade D to B (74%)",
      "detail": {
        "scan": 137944,
        "prev": 93346,
        "from": "D",
        "to": "B",
        "pct": 73.8
      }
    },
    {
      "id": 17159,
      "at": "2026-10-15T01:10:51.078Z",
      "domain": "camillealbane.com",
      "name": "Camille Albane",
      "page": "https://directindex.org/r/camillealbane.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137944,
        "prev": 93346,
        "fix": "no_channel"
      }
    },
    {
      "id": 17158,
      "at": "2026-10-15T01:10:50.057Z",
      "domain": "depiltech.com",
      "name": "Dépil Tech",
      "page": "https://directindex.org/r/depiltech.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137941,
        "prev": 93241,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17157,
      "at": "2026-10-15T01:10:50.057Z",
      "domain": "depiltech.com",
      "name": "Dépil Tech",
      "page": "https://directindex.org/r/depiltech.com",
      "kind": "grade_up",
      "what": "grade D to B (74%)",
      "detail": {
        "scan": 137941,
        "prev": 93241,
        "from": "D",
        "to": "B",
        "pct": 73.8
      }
    },
    {
      "id": 17156,
      "at": "2026-10-15T01:10:50.057Z",
      "domain": "depiltech.com",
      "name": "Dépil Tech",
      "page": "https://directindex.org/r/depiltech.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137941,
        "prev": 93241,
        "fix": "no_channel"
      }
    },
    {
      "id": 17155,
      "at": "2026-10-15T01:10:50.046Z",
      "domain": "coiffeurhomme.com",
      "name": "Salon Lumière - Coiffure Hommes",
      "page": "https://directindex.org/r/coiffeurhomme.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137940,
        "prev": 93243,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17154,
      "at": "2026-10-15T01:10:50.046Z",
      "domain": "coiffeurhomme.com",
      "name": "Salon Lumière - Coiffure Hommes",
      "page": "https://directindex.org/r/coiffeurhomme.com",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 137940,
        "prev": 93243,
        "from": "F",
        "to": "C",
        "pct": 61.5
      }
    },
    {
      "id": 17153,
      "at": "2026-10-15T01:10:50.046Z",
      "domain": "coiffeurhomme.com",
      "name": "Salon Lumière - Coiffure Hommes",
      "page": "https://directindex.org/r/coiffeurhomme.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137940,
        "prev": 93243,
        "fix": "no_channel"
      }
    },
    {
      "id": 17152,
      "at": "2026-10-15T01:10:49.379Z",
      "domain": "lunaongle.com",
      "name": "Luna Ongle",
      "page": "https://directindex.org/r/lunaongle.com",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137939,
        "prev": 93557,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17151,
      "at": "2026-10-15T01:10:49.379Z",
      "domain": "lunaongle.com",
      "name": "Luna Ongle",
      "page": "https://directindex.org/r/lunaongle.com",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137939,
        "prev": 93557,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17150,
      "at": "2026-10-15T01:10:49.379Z",
      "domain": "lunaongle.com",
      "name": "Luna Ongle",
      "page": "https://directindex.org/r/lunaongle.com",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137939,
        "prev": 93557,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17149,
      "at": "2026-10-15T01:10:49.379Z",
      "domain": "lunaongle.com",
      "name": "Luna Ongle",
      "page": "https://directindex.org/r/lunaongle.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137939,
        "prev": 93557,
        "fix": "no_channel"
      }
    },
    {
      "id": 17148,
      "at": "2026-10-15T01:10:48.630Z",
      "domain": "le20barbershop.fr",
      "name": "Le 20 - Barber Shop",
      "page": "https://directindex.org/r/le20barbershop.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 137937,
        "prev": 93262,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17147,
      "at": "2026-10-15T01:10:48.630Z",
      "domain": "le20barbershop.fr",
      "name": "Le 20 - Barber Shop",
      "page": "https://directindex.org/r/le20barbershop.fr",
      "kind": "grade_up",
      "what": "grade D to B (72%)",
      "detail": {
        "scan": 137937,
        "prev": 93262,
        "from": "D",
        "to": "B",
        "pct": 72.3
      }
    },
    {
      "id": 17146,
      "at": "2026-10-15T01:10:48.630Z",
      "domain": "le20barbershop.fr",
      "name": "Le 20 - Barber Shop",
      "page": "https://directindex.org/r/le20barbershop.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137937,
        "prev": 93262,
        "fix": "no_channel"
      }
    },
    {
      "id": 17145,
      "at": "2026-10-15T01:10:48.576Z",
      "domain": "caracteres-coiffure.fr",
      "name": "Salon Caractères",
      "page": "https://directindex.org/r/caracteres-coiffure.fr",
      "kind": "vendor",
      "what": "vendor: none to Planity",
      "detail": {
        "scan": 137936,
        "prev": 93285,
        "from": null,
        "to": "planity"
      }
    },
    {
      "id": 17144,
      "at": "2026-10-15T01:10:48.576Z",
      "domain": "caracteres-coiffure.fr",
      "name": "Salon Caractères",
      "page": "https://directindex.org/r/caracteres-coiffure.fr",
      "kind": "channel",
      "what": "direct channel: none to marketplace",
      "detail": {
        "scan": 137936,
        "prev": 93285,
        "from": null,
        "to": "aggregator"
      }
    },
    {
      "id": 17143,
      "at": "2026-10-15T01:10:48.576Z",
      "domain": "caracteres-coiffure.fr",
      "name": "Salon Caractères",
      "page": "https://directindex.org/r/caracteres-coiffure.fr",
      "kind": "grade_up",
      "what": "grade F to D (43%)",
      "detail": {
        "scan": 137936,
        "prev": 93285,
        "from": "F",
        "to": "D",
        "pct": 43.1
      }
    },
    {
      "id": 17142,
      "at": "2026-10-15T01:10:48.576Z",
      "domain": "caracteres-coiffure.fr",
      "name": "Salon Caractères",
      "page": "https://directindex.org/r/caracteres-coiffure.fr",
      "kind": "broke",
      "what": "new finding: booking only through a marketplace",
      "detail": {
        "scan": 137936,
        "prev": 93285,
        "fix": "booking_marketplace"
      }
    },
    {
      "id": 17141,
      "at": "2026-10-15T01:10:48.576Z",
      "domain": "caracteres-coiffure.fr",
      "name": "Salon Caractères",
      "page": "https://directindex.org/r/caracteres-coiffure.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 137936,
        "prev": 93285,
        "fix": "no_channel"
      }
    }
  ]
}