{
  "city": "lyon-clinics",
  "days": 30,
  "since": "2026-09-15T20:01:07.490Z",
  "count": 168,
  "sites": 43,
  "byKind": {
    "fixed": 48,
    "broke": 21,
    "grade_up": 41,
    "grade_down": 1,
    "blocked": 1,
    "unblocked": 0,
    "channel": 45,
    "vendor": 11,
    "assistant": 0
  },
  "changes": [
    {
      "id": 17480,
      "at": "2026-10-15T01:14:00.897Z",
      "domain": "insa-lyon.fr",
      "name": "Centre de santé INSA",
      "page": "https://directindex.org/r/insa-lyon.fr",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 138085,
        "prev": 93961,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 17479,
      "at": "2026-10-15T01:14:00.897Z",
      "domain": "insa-lyon.fr",
      "name": "Centre de santé INSA",
      "page": "https://directindex.org/r/insa-lyon.fr",
      "kind": "grade_up",
      "what": "grade D to C (59%)",
      "detail": {
        "scan": 138085,
        "prev": 93961,
        "from": "D",
        "to": "C",
        "pct": 58.5
      }
    },
    {
      "id": 17478,
      "at": "2026-10-15T01:14:00.897Z",
      "domain": "insa-lyon.fr",
      "name": "Centre de santé INSA",
      "page": "https://directindex.org/r/insa-lyon.fr",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 138085,
        "prev": 93961,
        "fix": "booking_other"
      }
    },
    {
      "id": 17477,
      "at": "2026-10-15T01:14:00.897Z",
      "domain": "insa-lyon.fr",
      "name": "Centre de santé INSA",
      "page": "https://directindex.org/r/insa-lyon.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138085,
        "prev": 93961,
        "fix": "no_channel"
      }
    },
    {
      "id": 17476,
      "at": "2026-10-15T01:13:18.227Z",
      "domain": "centremedicalcroixrousse.fr",
      "name": "Centre Médical & Esthétique des Canuts - Épilation laser lyon -Greffe de cheveux",
      "page": "https://directindex.org/r/centremedicalcroixrousse.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138083,
        "prev": 93625,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17475,
      "at": "2026-10-15T01:13:18.227Z",
      "domain": "centremedicalcroixrousse.fr",
      "name": "Centre Médical & Esthétique des Canuts - Épilation laser lyon -Greffe de cheveux",
      "page": "https://directindex.org/r/centremedicalcroixrousse.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138083,
        "prev": 93625,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17474,
      "at": "2026-10-15T01:13:18.227Z",
      "domain": "centremedicalcroixrousse.fr",
      "name": "Centre Médical & Esthétique des Canuts - Épilation laser lyon -Greffe de cheveux",
      "page": "https://directindex.org/r/centremedicalcroixrousse.fr",
      "kind": "grade_up",
      "what": "grade C to B (72%)",
      "detail": {
        "scan": 138083,
        "prev": 93625,
        "from": "C",
        "to": "B",
        "pct": 72.3
      }
    },
    {
      "id": 17473,
      "at": "2026-10-15T01:13:18.227Z",
      "domain": "centremedicalcroixrousse.fr",
      "name": "Centre Médical & Esthétique des Canuts - Épilation laser lyon -Greffe de cheveux",
      "page": "https://directindex.org/r/centremedicalcroixrousse.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138083,
        "prev": 93625,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17472,
      "at": "2026-10-15T01:13:18.227Z",
      "domain": "centremedicalcroixrousse.fr",
      "name": "Centre Médical & Esthétique des Canuts - Épilation laser lyon -Greffe de cheveux",
      "page": "https://directindex.org/r/centremedicalcroixrousse.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138083,
        "prev": 93625,
        "fix": "no_channel"
      }
    },
    {
      "id": 17466,
      "at": "2026-10-15T01:13:16.009Z",
      "domain": "implantdentairelyon.com",
      "name": "Centre Dentaire Bayard",
      "page": "https://directindex.org/r/implantdentairelyon.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138080,
        "prev": 93627,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17465,
      "at": "2026-10-15T01:13:16.009Z",
      "domain": "implantdentairelyon.com",
      "name": "Centre Dentaire Bayard",
      "page": "https://directindex.org/r/implantdentairelyon.com",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138080,
        "prev": 93627,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17464,
      "at": "2026-10-15T01:13:16.009Z",
      "domain": "implantdentairelyon.com",
      "name": "Centre Dentaire Bayard",
      "page": "https://directindex.org/r/implantdentairelyon.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138080,
        "prev": 93627,
        "fix": "no_channel"
      }
    },
    {
      "id": 17463,
      "at": "2026-10-15T01:13:15.330Z",
      "domain": "docariv.fr",
      "name": "Doctora",
      "page": "https://directindex.org/r/docariv.fr",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 138079,
        "prev": 93484,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 17462,
      "at": "2026-10-15T01:13:15.330Z",
      "domain": "docariv.fr",
      "name": "Doctora",
      "page": "https://directindex.org/r/docariv.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138079,
        "prev": 93484,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17461,
      "at": "2026-10-15T01:13:15.330Z",
      "domain": "docariv.fr",
      "name": "Doctora",
      "page": "https://directindex.org/r/docariv.fr",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 138079,
        "prev": 93484,
        "fix": "booking_other"
      }
    },
    {
      "id": 17460,
      "at": "2026-10-15T01:13:15.330Z",
      "domain": "docariv.fr",
      "name": "Doctora",
      "page": "https://directindex.org/r/docariv.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138079,
        "prev": 93484,
        "fix": "no_channel"
      }
    },
    {
      "id": 17459,
      "at": "2026-10-15T01:13:13.740Z",
      "domain": "clinique-part-dieu.com",
      "name": "Clinique Part-Dieu",
      "page": "https://directindex.org/r/clinique-part-dieu.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138078,
        "prev": 93483,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17458,
      "at": "2026-10-15T01:13:13.740Z",
      "domain": "clinique-part-dieu.com",
      "name": "Clinique Part-Dieu",
      "page": "https://directindex.org/r/clinique-part-dieu.com",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 138078,
        "prev": 93483,
        "from": "F",
        "to": "C",
        "pct": 61.5
      }
    },
    {
      "id": 17457,
      "at": "2026-10-15T01:13:13.740Z",
      "domain": "clinique-part-dieu.com",
      "name": "Clinique Part-Dieu",
      "page": "https://directindex.org/r/clinique-part-dieu.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138078,
        "prev": 93483,
        "fix": "no_channel"
      }
    },
    {
      "id": 17456,
      "at": "2026-10-15T01:13:12.951Z",
      "domain": "labelia.fr",
      "name": "Labelia Lyon 4",
      "page": "https://directindex.org/r/labelia.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138077,
        "prev": 93774,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17455,
      "at": "2026-10-15T01:13:12.951Z",
      "domain": "labelia.fr",
      "name": "Labelia Lyon 4",
      "page": "https://directindex.org/r/labelia.fr",
      "kind": "grade_up",
      "what": "grade C to B (75%)",
      "detail": {
        "scan": 138077,
        "prev": 93774,
        "from": "C",
        "to": "B",
        "pct": 75.4
      }
    },
    {
      "id": 17454,
      "at": "2026-10-15T01:13:12.951Z",
      "domain": "labelia.fr",
      "name": "Labelia Lyon 4",
      "page": "https://directindex.org/r/labelia.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138077,
        "prev": 93774,
        "fix": "no_channel"
      }
    },
    {
      "id": 17453,
      "at": "2026-10-15T01:13:11.268Z",
      "domain": "cliniqueveterinaireguillotiere.fr",
      "name": "Clinique Vétérinaire Guillotière",
      "page": "https://directindex.org/r/cliniqueveterinaireguillotiere.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138072,
        "prev": 93453,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17452,
      "at": "2026-10-15T01:13:11.268Z",
      "domain": "cliniqueveterinaireguillotiere.fr",
      "name": "Clinique Vétérinaire Guillotière",
      "page": "https://directindex.org/r/cliniqueveterinaireguillotiere.fr",
      "kind": "grade_up",
      "what": "grade D to B (80%)",
      "detail": {
        "scan": 138072,
        "prev": 93453,
        "from": "D",
        "to": "B",
        "pct": 80
      }
    },
    {
      "id": 17451,
      "at": "2026-10-15T01:13:11.268Z",
      "domain": "cliniqueveterinaireguillotiere.fr",
      "name": "Clinique Vétérinaire Guillotière",
      "page": "https://directindex.org/r/cliniqueveterinaireguillotiere.fr",
      "kind": "broke",
      "what": "new finding: structured data was incomplete",
      "detail": {
        "scan": 138072,
        "prev": 93453,
        "fix": "structured_incomplete"
      }
    },
    {
      "id": 17450,
      "at": "2026-10-15T01:13:11.268Z",
      "domain": "cliniqueveterinaireguillotiere.fr",
      "name": "Clinique Vétérinaire Guillotière",
      "page": "https://directindex.org/r/cliniqueveterinaireguillotiere.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138072,
        "prev": 93453,
        "fix": "no_channel"
      }
    },
    {
      "id": 17449,
      "at": "2026-10-15T01:13:11.268Z",
      "domain": "cliniqueveterinaireguillotiere.fr",
      "name": "Clinique Vétérinaire Guillotière",
      "page": "https://directindex.org/r/cliniqueveterinaireguillotiere.fr",
      "kind": "fixed",
      "what": "fixed: no structured data for the business",
      "detail": {
        "scan": 138072,
        "prev": 93453,
        "fix": "no_structured"
      }
    },
    {
      "id": 17448,
      "at": "2026-10-15T01:13:10.793Z",
      "domain": "cabinetdentairemermoz.fr",
      "name": "Cabinet dentaire Mermoz",
      "page": "https://directindex.org/r/cabinetdentairemermoz.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138071,
        "prev": 93480,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17447,
      "at": "2026-10-15T01:13:10.793Z",
      "domain": "cabinetdentairemermoz.fr",
      "name": "Cabinet dentaire Mermoz",
      "page": "https://directindex.org/r/cabinetdentairemermoz.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138071,
        "prev": 93480,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17446,
      "at": "2026-10-15T01:13:10.793Z",
      "domain": "cabinetdentairemermoz.fr",
      "name": "Cabinet dentaire Mermoz",
      "page": "https://directindex.org/r/cabinetdentairemermoz.fr",
      "kind": "grade_up",
      "what": "grade D to C (55%)",
      "detail": {
        "scan": 138071,
        "prev": 93480,
        "from": "D",
        "to": "C",
        "pct": 55.4
      }
    },
    {
      "id": 17445,
      "at": "2026-10-15T01:13:10.793Z",
      "domain": "cabinetdentairemermoz.fr",
      "name": "Cabinet dentaire Mermoz",
      "page": "https://directindex.org/r/cabinetdentairemermoz.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138071,
        "prev": 93480,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17444,
      "at": "2026-10-15T01:13:10.793Z",
      "domain": "cabinetdentairemermoz.fr",
      "name": "Cabinet dentaire Mermoz",
      "page": "https://directindex.org/r/cabinetdentairemermoz.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138071,
        "prev": 93480,
        "fix": "no_channel"
      }
    },
    {
      "id": 17443,
      "at": "2026-10-15T01:13:10.819Z",
      "domain": "sos-medecin-lyon.fr",
      "name": "SOS Médecin",
      "page": "https://directindex.org/r/sos-medecin-lyon.fr",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 138070,
        "prev": 93443,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 17442,
      "at": "2026-10-15T01:13:10.819Z",
      "domain": "sos-medecin-lyon.fr",
      "name": "SOS Médecin",
      "page": "https://directindex.org/r/sos-medecin-lyon.fr",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 138070,
        "prev": 93443,
        "fix": "booking_other"
      }
    },
    {
      "id": 17441,
      "at": "2026-10-15T01:13:10.819Z",
      "domain": "sos-medecin-lyon.fr",
      "name": "SOS Médecin",
      "page": "https://directindex.org/r/sos-medecin-lyon.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138070,
        "prev": 93443,
        "fix": "no_channel"
      }
    },
    {
      "id": 17440,
      "at": "2026-10-15T01:13:10.744Z",
      "domain": "argos-veterinaire.com",
      "name": "Argos",
      "page": "https://directindex.org/r/argos-veterinaire.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138068,
        "prev": 93467,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17439,
      "at": "2026-10-15T01:13:10.744Z",
      "domain": "argos-veterinaire.com",
      "name": "Argos",
      "page": "https://directindex.org/r/argos-veterinaire.com",
      "kind": "grade_up",
      "what": "grade C to B (75%)",
      "detail": {
        "scan": 138068,
        "prev": 93467,
        "from": "C",
        "to": "B",
        "pct": 75.4
      }
    },
    {
      "id": 17438,
      "at": "2026-10-15T01:13:10.744Z",
      "domain": "argos-veterinaire.com",
      "name": "Argos",
      "page": "https://directindex.org/r/argos-veterinaire.com",
      "kind": "broke",
      "what": "new finding: ordering through an unrecognised third party",
      "detail": {
        "scan": 138068,
        "prev": 93467,
        "fix": "ordering_other"
      }
    },
    {
      "id": 17437,
      "at": "2026-10-15T01:13:10.744Z",
      "domain": "argos-veterinaire.com",
      "name": "Argos",
      "page": "https://directindex.org/r/argos-veterinaire.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138068,
        "prev": 93467,
        "fix": "no_channel"
      }
    },
    {
      "id": 17436,
      "at": "2026-10-15T01:13:10.687Z",
      "domain": "lepolesante.fr",
      "name": "Le pôle santé kiné sport",
      "page": "https://directindex.org/r/lepolesante.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138067,
        "prev": 93518,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17435,
      "at": "2026-10-15T01:13:10.687Z",
      "domain": "lepolesante.fr",
      "name": "Le pôle santé kiné sport",
      "page": "https://directindex.org/r/lepolesante.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138067,
        "prev": 93518,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17434,
      "at": "2026-10-15T01:13:10.687Z",
      "domain": "lepolesante.fr",
      "name": "Le pôle santé kiné sport",
      "page": "https://directindex.org/r/lepolesante.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138067,
        "prev": 93518,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17433,
      "at": "2026-10-15T01:13:10.687Z",
      "domain": "lepolesante.fr",
      "name": "Le pôle santé kiné sport",
      "page": "https://directindex.org/r/lepolesante.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138067,
        "prev": 93518,
        "fix": "no_channel"
      }
    },
    {
      "id": 17432,
      "at": "2026-10-15T01:13:09.959Z",
      "domain": "cmslg.fr",
      "name": "Centre de Médecine du Sport de Lyon",
      "page": "https://directindex.org/r/cmslg.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138065,
        "prev": 93507,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17431,
      "at": "2026-10-15T01:13:09.959Z",
      "domain": "cmslg.fr",
      "name": "Centre de Médecine du Sport de Lyon",
      "page": "https://directindex.org/r/cmslg.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138065,
        "prev": 93507,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17430,
      "at": "2026-10-15T01:13:09.959Z",
      "domain": "cmslg.fr",
      "name": "Centre de Médecine du Sport de Lyon",
      "page": "https://directindex.org/r/cmslg.fr",
      "kind": "grade_up",
      "what": "grade F to D (54%)",
      "detail": {
        "scan": 138065,
        "prev": 93507,
        "from": "F",
        "to": "D",
        "pct": 53.8
      }
    },
    {
      "id": 17429,
      "at": "2026-10-15T01:13:09.959Z",
      "domain": "cmslg.fr",
      "name": "Centre de Médecine du Sport de Lyon",
      "page": "https://directindex.org/r/cmslg.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138065,
        "prev": 93507,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17428,
      "at": "2026-10-15T01:13:09.959Z",
      "domain": "cmslg.fr",
      "name": "Centre de Médecine du Sport de Lyon",
      "page": "https://directindex.org/r/cmslg.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138065,
        "prev": 93507,
        "fix": "no_channel"
      }
    },
    {
      "id": 17427,
      "at": "2026-10-15T01:13:09.619Z",
      "domain": "marie-sagefemme-lyon.fr",
      "name": "Marie Grimaud-Savel",
      "page": "https://directindex.org/r/marie-sagefemme-lyon.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138064,
        "prev": 93461,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17426,
      "at": "2026-10-15T01:13:09.619Z",
      "domain": "marie-sagefemme-lyon.fr",
      "name": "Marie Grimaud-Savel",
      "page": "https://directindex.org/r/marie-sagefemme-lyon.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138064,
        "prev": 93461,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17425,
      "at": "2026-10-15T01:13:09.619Z",
      "domain": "marie-sagefemme-lyon.fr",
      "name": "Marie Grimaud-Savel",
      "page": "https://directindex.org/r/marie-sagefemme-lyon.fr",
      "kind": "grade_up",
      "what": "grade D to C (66%)",
      "detail": {
        "scan": 138064,
        "prev": 93461,
        "from": "D",
        "to": "C",
        "pct": 66.2
      }
    },
    {
      "id": 17424,
      "at": "2026-10-15T01:13:09.619Z",
      "domain": "marie-sagefemme-lyon.fr",
      "name": "Marie Grimaud-Savel",
      "page": "https://directindex.org/r/marie-sagefemme-lyon.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138064,
        "prev": 93461,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17423,
      "at": "2026-10-15T01:13:09.619Z",
      "domain": "marie-sagefemme-lyon.fr",
      "name": "Marie Grimaud-Savel",
      "page": "https://directindex.org/r/marie-sagefemme-lyon.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138064,
        "prev": 93461,
        "fix": "no_channel"
      }
    },
    {
      "id": 17422,
      "at": "2026-10-15T01:13:07.882Z",
      "domain": "webflow.io",
      "name": "Camille Bavitot",
      "page": "https://directindex.org/r/webflow.io",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138062,
        "prev": 93400,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17421,
      "at": "2026-10-15T01:13:07.882Z",
      "domain": "webflow.io",
      "name": "Camille Bavitot",
      "page": "https://directindex.org/r/webflow.io",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138062,
        "prev": 93400,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17420,
      "at": "2026-10-15T01:13:07.882Z",
      "domain": "webflow.io",
      "name": "Camille Bavitot",
      "page": "https://directindex.org/r/webflow.io",
      "kind": "grade_up",
      "what": "grade D to C (55%)",
      "detail": {
        "scan": 138062,
        "prev": 93400,
        "from": "D",
        "to": "C",
        "pct": 55.4
      }
    },
    {
      "id": 17419,
      "at": "2026-10-15T01:13:07.882Z",
      "domain": "webflow.io",
      "name": "Camille Bavitot",
      "page": "https://directindex.org/r/webflow.io",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138062,
        "prev": 93400,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17418,
      "at": "2026-10-15T01:13:07.882Z",
      "domain": "webflow.io",
      "name": "Camille Bavitot",
      "page": "https://directindex.org/r/webflow.io",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138062,
        "prev": 93400,
        "fix": "no_channel"
      }
    },
    {
      "id": 17417,
      "at": "2026-10-15T01:13:07.405Z",
      "domain": "doctolib.fr",
      "name": "Maison médicale La Présence",
      "page": "https://directindex.org/r/doctolib.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138060,
        "prev": 93711,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17416,
      "at": "2026-10-15T01:13:07.405Z",
      "domain": "doctolib.fr",
      "name": "Maison médicale La Présence",
      "page": "https://directindex.org/r/doctolib.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138060,
        "prev": 93711,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17415,
      "at": "2026-10-15T01:13:07.405Z",
      "domain": "doctolib.fr",
      "name": "Maison médicale La Présence",
      "page": "https://directindex.org/r/doctolib.fr",
      "kind": "grade_up",
      "what": "grade D to C (66%)",
      "detail": {
        "scan": 138060,
        "prev": 93711,
        "from": "D",
        "to": "C",
        "pct": 66.2
      }
    },
    {
      "id": 17414,
      "at": "2026-10-15T01:13:07.405Z",
      "domain": "doctolib.fr",
      "name": "Maison médicale La Présence",
      "page": "https://directindex.org/r/doctolib.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138060,
        "prev": 93711,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17413,
      "at": "2026-10-15T01:13:07.405Z",
      "domain": "doctolib.fr",
      "name": "Maison médicale La Présence",
      "page": "https://directindex.org/r/doctolib.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138060,
        "prev": 93711,
        "fix": "no_channel"
      }
    },
    {
      "id": 17412,
      "at": "2026-10-15T01:13:05.491Z",
      "domain": "clinique-dentaire-laser.fr",
      "name": "Dr Maleca",
      "page": "https://directindex.org/r/clinique-dentaire-laser.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138057,
        "prev": 93657,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17411,
      "at": "2026-10-15T01:13:05.491Z",
      "domain": "clinique-dentaire-laser.fr",
      "name": "Dr Maleca",
      "page": "https://directindex.org/r/clinique-dentaire-laser.fr",
      "kind": "grade_up",
      "what": "grade C to B (85%)",
      "detail": {
        "scan": 138057,
        "prev": 93657,
        "from": "C",
        "to": "B",
        "pct": 84.6
      }
    },
    {
      "id": 17410,
      "at": "2026-10-15T01:13:05.491Z",
      "domain": "clinique-dentaire-laser.fr",
      "name": "Dr Maleca",
      "page": "https://directindex.org/r/clinique-dentaire-laser.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138057,
        "prev": 93657,
        "fix": "no_channel"
      }
    },
    {
      "id": 17409,
      "at": "2026-10-15T01:13:04.490Z",
      "domain": "dentego.fr",
      "name": "dentego Villeurbanne",
      "page": "https://directindex.org/r/dentego.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138056,
        "prev": 93604,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17408,
      "at": "2026-10-15T01:13:04.490Z",
      "domain": "dentego.fr",
      "name": "dentego Villeurbanne",
      "page": "https://directindex.org/r/dentego.fr",
      "kind": "grade_up",
      "what": "grade D to C (67%)",
      "detail": {
        "scan": 138056,
        "prev": 93604,
        "from": "D",
        "to": "C",
        "pct": 67.3
      }
    },
    {
      "id": 17407,
      "at": "2026-10-15T01:13:04.490Z",
      "domain": "dentego.fr",
      "name": "dentego Villeurbanne",
      "page": "https://directindex.org/r/dentego.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138056,
        "prev": 93604,
        "fix": "no_channel"
      }
    },
    {
      "id": 17406,
      "at": "2026-10-15T01:13:03.131Z",
      "domain": "impl.fr",
      "name": "Imagerie Médicale Créqui",
      "page": "https://directindex.org/r/impl.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138055,
        "prev": 93394,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17405,
      "at": "2026-10-15T01:13:03.131Z",
      "domain": "impl.fr",
      "name": "Imagerie Médicale Créqui",
      "page": "https://directindex.org/r/impl.fr",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 138055,
        "prev": 93394,
        "from": "F",
        "to": "C",
        "pct": 61.5
      }
    },
    {
      "id": 17404,
      "at": "2026-10-15T01:13:03.131Z",
      "domain": "impl.fr",
      "name": "Imagerie Médicale Créqui",
      "page": "https://directindex.org/r/impl.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138055,
        "prev": 93394,
        "fix": "no_channel"
      }
    },
    {
      "id": 17403,
      "at": "2026-10-15T01:13:02.595Z",
      "domain": "medsoins.fr",
      "name": "Medsoins",
      "page": "https://directindex.org/r/medsoins.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138054,
        "prev": 93445,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17402,
      "at": "2026-10-15T01:13:02.595Z",
      "domain": "medsoins.fr",
      "name": "Medsoins",
      "page": "https://directindex.org/r/medsoins.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138054,
        "prev": 93445,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17401,
      "at": "2026-10-15T01:13:02.595Z",
      "domain": "medsoins.fr",
      "name": "Medsoins",
      "page": "https://directindex.org/r/medsoins.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138054,
        "prev": 93445,
        "fix": "no_channel"
      }
    },
    {
      "id": 17400,
      "at": "2026-10-15T01:13:02.382Z",
      "domain": "radiologie-lyon-sud-est.com",
      "name": "Centre d'imagerie médicale",
      "page": "https://directindex.org/r/radiologie-lyon-sud-est.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138053,
        "prev": 93377,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17399,
      "at": "2026-10-15T01:13:02.382Z",
      "domain": "radiologie-lyon-sud-est.com",
      "name": "Centre d'imagerie médicale",
      "page": "https://directindex.org/r/radiologie-lyon-sud-est.com",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 138053,
        "prev": 93377,
        "from": "F",
        "to": "C",
        "pct": 61.5
      }
    },
    {
      "id": 17398,
      "at": "2026-10-15T01:13:02.382Z",
      "domain": "radiologie-lyon-sud-est.com",
      "name": "Centre d'imagerie médicale",
      "page": "https://directindex.org/r/radiologie-lyon-sud-est.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138053,
        "prev": 93377,
        "fix": "no_channel"
      }
    },
    {
      "id": 17397,
      "at": "2026-10-15T01:13:02.272Z",
      "domain": "isosteo.fr",
      "name": "ISOstéo Lyon - Clinique Ostéopathique Lyon Centre",
      "page": "https://directindex.org/r/isosteo.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138052,
        "prev": 93384,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17396,
      "at": "2026-10-15T01:13:02.272Z",
      "domain": "isosteo.fr",
      "name": "ISOstéo Lyon - Clinique Ostéopathique Lyon Centre",
      "page": "https://directindex.org/r/isosteo.fr",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 138052,
        "prev": 93384,
        "from": "F",
        "to": "C",
        "pct": 61.5
      }
    },
    {
      "id": 17395,
      "at": "2026-10-15T01:13:02.272Z",
      "domain": "isosteo.fr",
      "name": "ISOstéo Lyon - Clinique Ostéopathique Lyon Centre",
      "page": "https://directindex.org/r/isosteo.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138052,
        "prev": 93384,
        "fix": "no_channel"
      }
    },
    {
      "id": 17394,
      "at": "2026-10-15T01:13:02.245Z",
      "domain": "centre-dentaire-lyon-lafayette.fr",
      "name": "place dentaire",
      "page": "https://directindex.org/r/centre-dentaire-lyon-lafayette.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138051,
        "prev": 93524,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17393,
      "at": "2026-10-15T01:13:02.245Z",
      "domain": "centre-dentaire-lyon-lafayette.fr",
      "name": "place dentaire",
      "page": "https://directindex.org/r/centre-dentaire-lyon-lafayette.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138051,
        "prev": 93524,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17392,
      "at": "2026-10-15T01:13:02.245Z",
      "domain": "centre-dentaire-lyon-lafayette.fr",
      "name": "place dentaire",
      "page": "https://directindex.org/r/centre-dentaire-lyon-lafayette.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138051,
        "prev": 93524,
        "fix": "no_channel"
      }
    },
    {
      "id": 17391,
      "at": "2026-10-15T01:13:00.854Z",
      "domain": "impl.fr",
      "name": "Imagerie Médicale Parc Lyon Lafayette",
      "page": "https://directindex.org/r/impl.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138049,
        "prev": 93370,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17390,
      "at": "2026-10-15T01:13:00.854Z",
      "domain": "impl.fr",
      "name": "Imagerie Médicale Parc Lyon Lafayette",
      "page": "https://directindex.org/r/impl.fr",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 138049,
        "prev": 93370,
        "from": "F",
        "to": "C",
        "pct": 61.5
      }
    },
    {
      "id": 17389,
      "at": "2026-10-15T01:13:00.854Z",
      "domain": "impl.fr",
      "name": "Imagerie Médicale Parc Lyon Lafayette",
      "page": "https://directindex.org/r/impl.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138049,
        "prev": 93370,
        "fix": "no_channel"
      }
    },
    {
      "id": 17388,
      "at": "2026-10-15T01:13:01.136Z",
      "domain": "centre-dentaire-lyon-7-docali.fr",
      "name": "Docali Lyon 7",
      "page": "https://directindex.org/r/centre-dentaire-lyon-7-docali.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138048,
        "prev": 93538,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17387,
      "at": "2026-10-15T01:13:01.136Z",
      "domain": "centre-dentaire-lyon-7-docali.fr",
      "name": "Docali Lyon 7",
      "page": "https://directindex.org/r/centre-dentaire-lyon-7-docali.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138048,
        "prev": 93538,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17386,
      "at": "2026-10-15T01:13:01.136Z",
      "domain": "centre-dentaire-lyon-7-docali.fr",
      "name": "Docali Lyon 7",
      "page": "https://directindex.org/r/centre-dentaire-lyon-7-docali.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138048,
        "prev": 93538,
        "fix": "no_channel"
      }
    },
    {
      "id": 17385,
      "at": "2026-10-15T01:13:00.730Z",
      "domain": "chirurgiens-dentistes.fr",
      "name": "Dr Piquand",
      "page": "https://directindex.org/r/chirurgiens-dentistes.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138047,
        "prev": 93392,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17384,
      "at": "2026-10-15T01:13:00.730Z",
      "domain": "chirurgiens-dentistes.fr",
      "name": "Dr Piquand",
      "page": "https://directindex.org/r/chirurgiens-dentistes.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138047,
        "prev": 93392,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17383,
      "at": "2026-10-15T01:13:00.730Z",
      "domain": "chirurgiens-dentistes.fr",
      "name": "Dr Piquand",
      "page": "https://directindex.org/r/chirurgiens-dentistes.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138047,
        "prev": 93392,
        "fix": "no_channel"
      }
    },
    {
      "id": 17382,
      "at": "2026-10-15T01:13:00.620Z",
      "domain": "caluire-sante-sport.com",
      "name": "Caluire Santé Sport",
      "page": "https://directindex.org/r/caluire-sante-sport.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138046,
        "prev": 93562,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17381,
      "at": "2026-10-15T01:13:00.620Z",
      "domain": "caluire-sante-sport.com",
      "name": "Caluire Santé Sport",
      "page": "https://directindex.org/r/caluire-sante-sport.com",
      "kind": "grade_up",
      "what": "grade D to B (74%)",
      "detail": {
        "scan": 138046,
        "prev": 93562,
        "from": "D",
        "to": "B",
        "pct": 73.8
      }
    },
    {
      "id": 17380,
      "at": "2026-10-15T01:13:00.620Z",
      "domain": "caluire-sante-sport.com",
      "name": "Caluire Santé Sport",
      "page": "https://directindex.org/r/caluire-sante-sport.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138046,
        "prev": 93562,
        "fix": "no_channel"
      }
    },
    {
      "id": 17379,
      "at": "2026-10-15T01:13:00.588Z",
      "domain": "drlazar.fr",
      "name": "Cabinet dentaire",
      "page": "https://directindex.org/r/drlazar.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138045,
        "prev": 93372,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17378,
      "at": "2026-10-15T01:13:00.588Z",
      "domain": "drlazar.fr",
      "name": "Cabinet dentaire",
      "page": "https://directindex.org/r/drlazar.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138045,
        "prev": 93372,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17377,
      "at": "2026-10-15T01:13:00.588Z",
      "domain": "drlazar.fr",
      "name": "Cabinet dentaire",
      "page": "https://directindex.org/r/drlazar.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138045,
        "prev": 93372,
        "fix": "no_channel"
      }
    },
    {
      "id": 17376,
      "at": "2026-10-15T01:13:00.242Z",
      "domain": "patient-rdv.fr",
      "name": "Docteur Stéphane Guilleminet",
      "page": "https://directindex.org/r/patient-rdv.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138043,
        "prev": 93548,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17375,
      "at": "2026-10-15T01:13:00.242Z",
      "domain": "patient-rdv.fr",
      "name": "Docteur Stéphane Guilleminet",
      "page": "https://directindex.org/r/patient-rdv.fr",
      "kind": "grade_up",
      "what": "grade F to C (64%)",
      "detail": {
        "scan": 138043,
        "prev": 93548,
        "from": "F",
        "to": "C",
        "pct": 63.5
      }
    },
    {
      "id": 17374,
      "at": "2026-10-15T01:13:00.242Z",
      "domain": "patient-rdv.fr",
      "name": "Docteur Stéphane Guilleminet",
      "page": "https://directindex.org/r/patient-rdv.fr",
      "kind": "broke",
      "what": "new finding: structured data was incomplete",
      "detail": {
        "scan": 138043,
        "prev": 93548,
        "fix": "structured_incomplete"
      }
    },
    {
      "id": 17373,
      "at": "2026-10-15T01:13:00.242Z",
      "domain": "patient-rdv.fr",
      "name": "Docteur Stéphane Guilleminet",
      "page": "https://directindex.org/r/patient-rdv.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138043,
        "prev": 93548,
        "fix": "no_channel"
      }
    },
    {
      "id": 17372,
      "at": "2026-10-15T01:13:00.242Z",
      "domain": "patient-rdv.fr",
      "name": "Docteur Stéphane Guilleminet",
      "page": "https://directindex.org/r/patient-rdv.fr",
      "kind": "fixed",
      "what": "fixed: no structured data for the business",
      "detail": {
        "scan": 138043,
        "prev": 93548,
        "fix": "no_structured"
      }
    },
    {
      "id": 17371,
      "at": "2026-10-15T01:12:59.863Z",
      "domain": "therapie-breve-strategique.fr",
      "name": "Centre de Thérapie Brève et Stratégique lyon",
      "page": "https://directindex.org/r/therapie-breve-strategique.fr",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 138041,
        "prev": 93456,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 17370,
      "at": "2026-10-15T01:12:59.863Z",
      "domain": "therapie-breve-strategique.fr",
      "name": "Centre de Thérapie Brève et Stratégique lyon",
      "page": "https://directindex.org/r/therapie-breve-strategique.fr",
      "kind": "grade_up",
      "what": "grade F to D (48%)",
      "detail": {
        "scan": 138041,
        "prev": 93456,
        "from": "F",
        "to": "D",
        "pct": 47.7
      }
    },
    {
      "id": 17369,
      "at": "2026-10-15T01:12:59.863Z",
      "domain": "therapie-breve-strategique.fr",
      "name": "Centre de Thérapie Brève et Stratégique lyon",
      "page": "https://directindex.org/r/therapie-breve-strategique.fr",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 138041,
        "prev": 93456,
        "fix": "booking_other"
      }
    },
    {
      "id": 17368,
      "at": "2026-10-15T01:12:59.863Z",
      "domain": "therapie-breve-strategique.fr",
      "name": "Centre de Thérapie Brève et Stratégique lyon",
      "page": "https://directindex.org/r/therapie-breve-strategique.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138041,
        "prev": 93456,
        "fix": "no_channel"
      }
    },
    {
      "id": 17367,
      "at": "2026-10-15T01:12:59.572Z",
      "domain": "centre-dentaire-lyon-moncey-medident.fr",
      "name": "Médident",
      "page": "https://directindex.org/r/centre-dentaire-lyon-moncey-medident.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138040,
        "prev": 93344,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17366,
      "at": "2026-10-15T01:12:59.572Z",
      "domain": "centre-dentaire-lyon-moncey-medident.fr",
      "name": "Médident",
      "page": "https://directindex.org/r/centre-dentaire-lyon-moncey-medident.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138040,
        "prev": 93344,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17365,
      "at": "2026-10-15T01:12:59.572Z",
      "domain": "centre-dentaire-lyon-moncey-medident.fr",
      "name": "Médident",
      "page": "https://directindex.org/r/centre-dentaire-lyon-moncey-medident.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138040,
        "prev": 93344,
        "fix": "no_channel"
      }
    },
    {
      "id": 17364,
      "at": "2026-10-15T01:12:58.792Z",
      "domain": "vetorino.com",
      "name": "Clinique Vétérinaire Docteur Karsenty",
      "page": "https://directindex.org/r/vetorino.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138038,
        "prev": 93330,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17363,
      "at": "2026-10-15T01:12:58.792Z",
      "domain": "vetorino.com",
      "name": "Clinique Vétérinaire Docteur Karsenty",
      "page": "https://directindex.org/r/vetorino.com",
      "kind": "grade_up",
      "what": "grade D to B (74%)",
      "detail": {
        "scan": 138038,
        "prev": 93330,
        "from": "D",
        "to": "B",
        "pct": 73.8
      }
    },
    {
      "id": 17362,
      "at": "2026-10-15T01:12:58.792Z",
      "domain": "vetorino.com",
      "name": "Clinique Vétérinaire Docteur Karsenty",
      "page": "https://directindex.org/r/vetorino.com",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 138038,
        "prev": 93330,
        "fix": "booking_other"
      }
    },
    {
      "id": 17361,
      "at": "2026-10-15T01:12:58.792Z",
      "domain": "vetorino.com",
      "name": "Clinique Vétérinaire Docteur Karsenty",
      "page": "https://directindex.org/r/vetorino.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138038,
        "prev": 93330,
        "fix": "no_channel"
      }
    },
    {
      "id": 17360,
      "at": "2026-10-15T01:12:58.243Z",
      "domain": "lamaisonperinatalepasapas.fr",
      "name": "La maison Périnatale Pas à Pas",
      "page": "https://directindex.org/r/lamaisonperinatalepasapas.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138036,
        "prev": 93642,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17359,
      "at": "2026-10-15T01:12:58.243Z",
      "domain": "lamaisonperinatalepasapas.fr",
      "name": "La maison Périnatale Pas à Pas",
      "page": "https://directindex.org/r/lamaisonperinatalepasapas.fr",
      "kind": "grade_up",
      "what": "grade D to B (70%)",
      "detail": {
        "scan": 138036,
        "prev": 93642,
        "from": "D",
        "to": "B",
        "pct": 70.3
      }
    },
    {
      "id": 17358,
      "at": "2026-10-15T01:12:58.243Z",
      "domain": "lamaisonperinatalepasapas.fr",
      "name": "La maison Périnatale Pas à Pas",
      "page": "https://directindex.org/r/lamaisonperinatalepasapas.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138036,
        "prev": 93642,
        "fix": "no_channel"
      }
    },
    {
      "id": 17357,
      "at": "2026-10-15T01:12:58.131Z",
      "domain": "cdhs.fr",
      "name": "Comité Départemental d'Hygiène Sociale",
      "page": "https://directindex.org/r/cdhs.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138034,
        "prev": 93258,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17356,
      "at": "2026-10-15T01:12:58.131Z",
      "domain": "cdhs.fr",
      "name": "Comité Départemental d'Hygiène Sociale",
      "page": "https://directindex.org/r/cdhs.fr",
      "kind": "grade_up",
      "what": "grade F to C (62%)",
      "detail": {
        "scan": 138034,
        "prev": 93258,
        "from": "F",
        "to": "C",
        "pct": 61.5
      }
    },
    {
      "id": 17355,
      "at": "2026-10-15T01:12:58.131Z",
      "domain": "cdhs.fr",
      "name": "Comité Départemental d'Hygiène Sociale",
      "page": "https://directindex.org/r/cdhs.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138034,
        "prev": 93258,
        "fix": "no_channel"
      }
    },
    {
      "id": 17354,
      "at": "2026-10-15T01:12:58.129Z",
      "domain": "placedentaire.fr",
      "name": "Centre dentaire Villeurbanne",
      "page": "https://directindex.org/r/placedentaire.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138033,
        "prev": 93272,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17353,
      "at": "2026-10-15T01:12:58.129Z",
      "domain": "placedentaire.fr",
      "name": "Centre dentaire Villeurbanne",
      "page": "https://directindex.org/r/placedentaire.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138033,
        "prev": 93272,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17352,
      "at": "2026-10-15T01:12:58.129Z",
      "domain": "placedentaire.fr",
      "name": "Centre dentaire Villeurbanne",
      "page": "https://directindex.org/r/placedentaire.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138033,
        "prev": 93272,
        "fix": "no_channel"
      }
    },
    {
      "id": 17351,
      "at": "2026-10-15T01:12:57.908Z",
      "domain": "vetorino.com",
      "name": "Clinique vétérinaire Charcot",
      "page": "https://directindex.org/r/vetorino.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138031,
        "prev": 93276,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17350,
      "at": "2026-10-15T01:12:57.908Z",
      "domain": "vetorino.com",
      "name": "Clinique vétérinaire Charcot",
      "page": "https://directindex.org/r/vetorino.com",
      "kind": "grade_up",
      "what": "grade D to B (74%)",
      "detail": {
        "scan": 138031,
        "prev": 93276,
        "from": "D",
        "to": "B",
        "pct": 73.8
      }
    },
    {
      "id": 17349,
      "at": "2026-10-15T01:12:57.908Z",
      "domain": "vetorino.com",
      "name": "Clinique vétérinaire Charcot",
      "page": "https://directindex.org/r/vetorino.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138031,
        "prev": 93276,
        "fix": "no_channel"
      }
    },
    {
      "id": 17348,
      "at": "2026-10-15T01:12:58.103Z",
      "domain": "vetogratteciel.com",
      "name": "Clinique Vétérinaire Gratte-Ciel",
      "page": "https://directindex.org/r/vetogratteciel.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138030,
        "prev": 93476,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17347,
      "at": "2026-10-15T01:12:58.103Z",
      "domain": "vetogratteciel.com",
      "name": "Clinique Vétérinaire Gratte-Ciel",
      "page": "https://directindex.org/r/vetogratteciel.com",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138030,
        "prev": 93476,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17346,
      "at": "2026-10-15T01:12:58.103Z",
      "domain": "vetogratteciel.com",
      "name": "Clinique Vétérinaire Gratte-Ciel",
      "page": "https://directindex.org/r/vetogratteciel.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138030,
        "prev": 93476,
        "fix": "no_channel"
      }
    },
    {
      "id": 17345,
      "at": "2026-10-15T01:12:57.913Z",
      "domain": "c2s-legriffon.fr",
      "name": "Le Griffon",
      "page": "https://directindex.org/r/c2s-legriffon.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138028,
        "prev": 94357,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17344,
      "at": "2026-10-15T01:12:57.913Z",
      "domain": "c2s-legriffon.fr",
      "name": "Le Griffon",
      "page": "https://directindex.org/r/c2s-legriffon.fr",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138028,
        "prev": 94357,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17343,
      "at": "2026-10-15T01:12:57.913Z",
      "domain": "c2s-legriffon.fr",
      "name": "Le Griffon",
      "page": "https://directindex.org/r/c2s-legriffon.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138028,
        "prev": 94357,
        "fix": "no_channel"
      }
    },
    {
      "id": 17342,
      "at": "2026-10-15T01:12:57.112Z",
      "domain": "mgen.fr",
      "name": "Centre médical et dentaire MGEN",
      "page": "https://directindex.org/r/mgen.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138026,
        "prev": 93266,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17341,
      "at": "2026-10-15T01:12:57.112Z",
      "domain": "mgen.fr",
      "name": "Centre médical et dentaire MGEN",
      "page": "https://directindex.org/r/mgen.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138026,
        "prev": 93266,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17340,
      "at": "2026-10-15T01:12:57.112Z",
      "domain": "mgen.fr",
      "name": "Centre médical et dentaire MGEN",
      "page": "https://directindex.org/r/mgen.fr",
      "kind": "grade_up",
      "what": "grade C to B (77%)",
      "detail": {
        "scan": 138026,
        "prev": 93266,
        "from": "C",
        "to": "B",
        "pct": 76.9
      }
    },
    {
      "id": 17339,
      "at": "2026-10-15T01:12:57.112Z",
      "domain": "mgen.fr",
      "name": "Centre médical et dentaire MGEN",
      "page": "https://directindex.org/r/mgen.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138026,
        "prev": 93266,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17338,
      "at": "2026-10-15T01:12:57.112Z",
      "domain": "mgen.fr",
      "name": "Centre médical et dentaire MGEN",
      "page": "https://directindex.org/r/mgen.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138026,
        "prev": 93266,
        "fix": "no_channel"
      }
    },
    {
      "id": 17337,
      "at": "2026-10-15T01:12:57.093Z",
      "domain": "cliniqueveterinaireoullins.com",
      "name": "Clinique vétérinaire",
      "page": "https://directindex.org/r/cliniqueveterinaireoullins.com",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138025,
        "prev": 93274,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17336,
      "at": "2026-10-15T01:12:57.093Z",
      "domain": "cliniqueveterinaireoullins.com",
      "name": "Clinique vétérinaire",
      "page": "https://directindex.org/r/cliniqueveterinaireoullins.com",
      "kind": "grade_up",
      "what": "grade D to C (63%)",
      "detail": {
        "scan": 138025,
        "prev": 93274,
        "from": "D",
        "to": "C",
        "pct": 63.1
      }
    },
    {
      "id": 17335,
      "at": "2026-10-15T01:12:57.093Z",
      "domain": "cliniqueveterinaireoullins.com",
      "name": "Clinique vétérinaire",
      "page": "https://directindex.org/r/cliniqueveterinaireoullins.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138025,
        "prev": 93274,
        "fix": "no_channel"
      }
    },
    {
      "id": 17334,
      "at": "2026-10-15T01:12:56.775Z",
      "domain": "centretamalou.fr",
      "name": "Centre Tamalou",
      "page": "https://directindex.org/r/centretamalou.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138024,
        "prev": 93320,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17333,
      "at": "2026-10-15T01:12:56.775Z",
      "domain": "centretamalou.fr",
      "name": "Centre Tamalou",
      "page": "https://directindex.org/r/centretamalou.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138024,
        "prev": 93320,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17332,
      "at": "2026-10-15T01:12:56.775Z",
      "domain": "centretamalou.fr",
      "name": "Centre Tamalou",
      "page": "https://directindex.org/r/centretamalou.fr",
      "kind": "grade_up",
      "what": "grade F to D (54%)",
      "detail": {
        "scan": 138024,
        "prev": 93320,
        "from": "F",
        "to": "D",
        "pct": 53.8
      }
    },
    {
      "id": 17331,
      "at": "2026-10-15T01:12:56.775Z",
      "domain": "centretamalou.fr",
      "name": "Centre Tamalou",
      "page": "https://directindex.org/r/centretamalou.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138024,
        "prev": 93320,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17330,
      "at": "2026-10-15T01:12:56.775Z",
      "domain": "centretamalou.fr",
      "name": "Centre Tamalou",
      "page": "https://directindex.org/r/centretamalou.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138024,
        "prev": 93320,
        "fix": "no_channel"
      }
    },
    {
      "id": 17329,
      "at": "2026-10-15T01:12:56.660Z",
      "domain": "villeurbanne-osteopathe.fr",
      "name": "Aurélia Chatelot - Ostéopathe Villeurbanne",
      "page": "https://directindex.org/r/villeurbanne-osteopathe.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138023,
        "prev": 93342,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17328,
      "at": "2026-10-15T01:12:56.660Z",
      "domain": "villeurbanne-osteopathe.fr",
      "name": "Aurélia Chatelot - Ostéopathe Villeurbanne",
      "page": "https://directindex.org/r/villeurbanne-osteopathe.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138023,
        "prev": 93342,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17327,
      "at": "2026-10-15T01:12:56.660Z",
      "domain": "villeurbanne-osteopathe.fr",
      "name": "Aurélia Chatelot - Ostéopathe Villeurbanne",
      "page": "https://directindex.org/r/villeurbanne-osteopathe.fr",
      "kind": "grade_up",
      "what": "grade F to D (51%)",
      "detail": {
        "scan": 138023,
        "prev": 93342,
        "from": "F",
        "to": "D",
        "pct": 50.8
      }
    },
    {
      "id": 17326,
      "at": "2026-10-15T01:12:56.660Z",
      "domain": "villeurbanne-osteopathe.fr",
      "name": "Aurélia Chatelot - Ostéopathe Villeurbanne",
      "page": "https://directindex.org/r/villeurbanne-osteopathe.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138023,
        "prev": 93342,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17325,
      "at": "2026-10-15T01:12:56.660Z",
      "domain": "villeurbanne-osteopathe.fr",
      "name": "Aurélia Chatelot - Ostéopathe Villeurbanne",
      "page": "https://directindex.org/r/villeurbanne-osteopathe.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138023,
        "prev": 93342,
        "fix": "no_channel"
      }
    },
    {
      "id": 17324,
      "at": "2026-10-15T01:12:56.563Z",
      "domain": "kinelyoncroixrousse.fr",
      "name": "Kinésithérapie Lyon Croix-Rousse",
      "page": "https://directindex.org/r/kinelyoncroixrousse.fr",
      "kind": "vendor",
      "what": "vendor: none to Doctolib",
      "detail": {
        "scan": 138021,
        "prev": 93413,
        "from": null,
        "to": "doctolib"
      }
    },
    {
      "id": 17323,
      "at": "2026-10-15T01:12:56.563Z",
      "domain": "kinelyoncroixrousse.fr",
      "name": "Kinésithérapie Lyon Croix-Rousse",
      "page": "https://directindex.org/r/kinelyoncroixrousse.fr",
      "kind": "channel",
      "what": "direct channel: none to vendor on own site",
      "detail": {
        "scan": 138021,
        "prev": 93413,
        "from": null,
        "to": "saas"
      }
    },
    {
      "id": 17322,
      "at": "2026-10-15T01:12:56.563Z",
      "domain": "kinelyoncroixrousse.fr",
      "name": "Kinésithérapie Lyon Croix-Rousse",
      "page": "https://directindex.org/r/kinelyoncroixrousse.fr",
      "kind": "grade_up",
      "what": "grade F to D (54%)",
      "detail": {
        "scan": 138021,
        "prev": 93413,
        "from": "F",
        "to": "D",
        "pct": 53.8
      }
    },
    {
      "id": 17321,
      "at": "2026-10-15T01:12:56.563Z",
      "domain": "kinelyoncroixrousse.fr",
      "name": "Kinésithérapie Lyon Croix-Rousse",
      "page": "https://directindex.org/r/kinelyoncroixrousse.fr",
      "kind": "broke",
      "what": "new finding: the booking vendor's terms did not allow agents",
      "detail": {
        "scan": 138021,
        "prev": 93413,
        "fix": "vendor_terms_ban"
      }
    },
    {
      "id": 17320,
      "at": "2026-10-15T01:12:56.563Z",
      "domain": "kinelyoncroixrousse.fr",
      "name": "Kinésithérapie Lyon Croix-Rousse",
      "page": "https://directindex.org/r/kinelyoncroixrousse.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138021,
        "prev": 93413,
        "fix": "no_channel"
      }
    },
    {
      "id": 17319,
      "at": "2026-10-15T01:12:56.456Z",
      "domain": "veterinaire-monveto.com",
      "name": "Clinique vétérinaire Decousu / Estève",
      "page": "https://directindex.org/r/veterinaire-monveto.com",
      "kind": "channel",
      "what": "direct channel: none to third party",
      "detail": {
        "scan": 138020,
        "prev": 93309,
        "from": null,
        "to": "other"
      }
    },
    {
      "id": 17318,
      "at": "2026-10-15T01:12:56.456Z",
      "domain": "veterinaire-monveto.com",
      "name": "Clinique vétérinaire Decousu / Estève",
      "page": "https://directindex.org/r/veterinaire-monveto.com",
      "kind": "broke",
      "what": "new finding: booking through an unrecognised third party",
      "detail": {
        "scan": 138020,
        "prev": 93309,
        "fix": "booking_other"
      }
    },
    {
      "id": 17317,
      "at": "2026-10-15T01:12:56.456Z",
      "domain": "veterinaire-monveto.com",
      "name": "Clinique vétérinaire Decousu / Estève",
      "page": "https://directindex.org/r/veterinaire-monveto.com",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138020,
        "prev": 93309,
        "fix": "no_channel"
      }
    },
    {
      "id": 17316,
      "at": "2026-10-15T01:12:55.955Z",
      "domain": "medinlyon.fr",
      "name": "MédinLyon",
      "page": "https://directindex.org/r/medinlyon.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138018,
        "prev": 93265,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17315,
      "at": "2026-10-15T01:12:55.955Z",
      "domain": "medinlyon.fr",
      "name": "MédinLyon",
      "page": "https://directindex.org/r/medinlyon.fr",
      "kind": "grade_up",
      "what": "grade D to C (66%)",
      "detail": {
        "scan": 138018,
        "prev": 93265,
        "from": "D",
        "to": "C",
        "pct": 66.2
      }
    },
    {
      "id": 17314,
      "at": "2026-10-15T01:12:55.955Z",
      "domain": "medinlyon.fr",
      "name": "MédinLyon",
      "page": "https://directindex.org/r/medinlyon.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138018,
        "prev": 93265,
        "fix": "no_channel"
      }
    },
    {
      "id": 17313,
      "at": "2026-10-15T01:12:42.515Z",
      "domain": "clinique-agape.fr",
      "name": "Agapé",
      "page": "https://directindex.org/r/clinique-agape.fr",
      "kind": "channel",
      "what": "direct channel: none to own site",
      "detail": {
        "scan": 138014,
        "prev": 93694,
        "from": null,
        "to": "first_party"
      }
    },
    {
      "id": 17312,
      "at": "2026-10-15T01:12:42.515Z",
      "domain": "clinique-agape.fr",
      "name": "Agapé",
      "page": "https://directindex.org/r/clinique-agape.fr",
      "kind": "blocked",
      "what": "now turns an AI crawler away at the edge",
      "detail": {
        "scan": 138014,
        "prev": 93694
      }
    },
    {
      "id": 17311,
      "at": "2026-10-15T01:12:42.515Z",
      "domain": "clinique-agape.fr",
      "name": "Agapé",
      "page": "https://directindex.org/r/clinique-agape.fr",
      "kind": "grade_down",
      "what": "grade C to D (46%)",
      "detail": {
        "scan": 138014,
        "prev": 93694,
        "from": "C",
        "to": "D",
        "pct": 46.2
      }
    },
    {
      "id": 17310,
      "at": "2026-10-15T01:12:42.515Z",
      "domain": "clinique-agape.fr",
      "name": "Agapé",
      "page": "https://directindex.org/r/clinique-agape.fr",
      "kind": "broke",
      "what": "new finding: the site turned every visitor without a browser away",
      "detail": {
        "scan": 138014,
        "prev": 93694,
        "fix": "blocked_for_bots"
      }
    },
    {
      "id": 17309,
      "at": "2026-10-15T01:12:42.515Z",
      "domain": "clinique-agape.fr",
      "name": "Agapé",
      "page": "https://directindex.org/r/clinique-agape.fr",
      "kind": "fixed",
      "what": "fixed: no llms.txt",
      "detail": {
        "scan": 138014,
        "prev": 93694,
        "fix": "no_llms_txt"
      }
    },
    {
      "id": 17308,
      "at": "2026-10-15T01:12:42.515Z",
      "domain": "clinique-agape.fr",
      "name": "Agapé",
      "page": "https://directindex.org/r/clinique-agape.fr",
      "kind": "fixed",
      "what": "fixed: no booking or ordering path at all",
      "detail": {
        "scan": 138014,
        "prev": 93694,
        "fix": "no_channel"
      }
    }
  ]
}