ForfaitDeal

Marché

  • Marché principal : ch
  • Pays ciblés : ch, fr
  • Périmètre SEO : national
  • Mode agent : full_autonomy
  • Politique opérateur : agent_driven

Liens de lecture

Contexte synthétique

{
  "site_key": "forfaitdeal",
  "task": "obsidian export",
  "lessons": [
    {
      "id": 197,
      "site_key": "forfaitdeal",
      "category": "ctr_optimization",
      "lesson": "Several visible pages have low CTR. Prioritize title, meta description, and intent alignment refreshes before creating net new content.",
      "confidence": "high",
      "source": "feedback_loop",
      "status": "validated",
      "details_json": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.640350877192983,
            "top_query": "roaming suisse",
            "impressions": 114
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.795918367346939,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 49
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.225806451612904,
            "top_query": "swisscom résiliation",
            "impressions": 31
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
            "clicks": 0,
            "position": 6.565217391304348,
            "top_query": "",
            "impressions": 23
          }
        ]
      },
      "created_at": "2026-06-10 00:00:21.260035+00:00",
      "updated_at": "2026-06-10 00:00:22.058752+00:00",
      "details": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.640350877192983,
            "top_query": "roaming suisse",
            "impressions": 114
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.795918367346939,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 49
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.225806451612904,
            "top_query": "swisscom résiliation",
            "impressions": 31
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
            "clicks": 0,
            "position": 6.565217391304348,
            "top_query": "",
            "impressions": 23
          }
        ]
      }
    },
    {
      "id": 84,
      "site_key": "forfaitdeal",
      "category": "throughput",
      "lesson": "Queue pressure is high. Reduce draft generation and prioritize review, refresh, and publishing throughput.",
      "confidence": "high",
      "source": "feedback_loop",
      "status": "validated",
      "details_json": {
        "failed_count": 0,
        "queued_count": 5
      },
      "created_at": "2026-05-04 00:00:17.019909+00:00",
      "updated_at": "2026-05-04 00:00:17.572122+00:00",
      "details": {
        "failed_count": 0,
        "queued_count": 5
      }
    }
  ],
  "sops": [
    {
      "id": 189,
      "site_key": "forfaitdeal",
      "scope": "site",
      "name": "adaptive-feedback-playbook",
      "version": 33,
      "status": "validated",
      "content": "1. Sync and review the latest GSC and queue feedback before planning new work.\n2. If low-CTR pages exist with meaningful impressions, prioritize refreshes before net new drafts.\n3. If the queue is saturated, shift effort from generation to review, optimization, and publishing throughput.\n4. If failures or weak publish outcomes exist, add a verification step before production actions.\n5. Re-measure outcomes after each major SEO action and log the result back into memory.",
      "source": "feedback_loop",
      "created_at": "2026-06-09 00:00:22.202666+00:00",
      "updated_at": "2026-06-10 01:07:02.057102+00:00",
      "confidence_score": 0,
      "confidence_label": "low"
    }
  ],
  "recent_memory": [
    {
      "id": 339,
      "site_key": "forfaitdeal",
      "category": "routine",
      "action": "content_pipeline",
      "target": "roaming-suisse-forfait",
      "outcome": "scheduled",
      "quality": "good",
      "details_json": {
        "draft": {
          "path": "/root/agents/seo-agent/data/drafts/generated/forfaitdeal/roaming-suisse-forfait.json",
          "slug": "roaming-suisse-forfait",
          "title": "Roaming suisse forfait : que faut-il vraiment vérifier en 2026 ?",
          "quality": {
            "ok": true,
            "issues": [],
            "warnings": [],
            "section_count": 11,
            "content_length": 9972
          }
        },
        "topic": "roaming suisse forfait",
        "enqueue": {
          "id": 18,
          "slug": "roaming-suisse-forfait",
          "status": "scheduled",
          "site_key": "forfaitdeal",
          "published_at": "2026-05-02",
          "scheduled_at": "2026-06-10T07:00:00+00:00"
        }
      },
      "recorded_at": "2026-06-10 00:01:03.597821+00:00",
      "details": {
        "draft": {
          "path": "/root/agents/seo-agent/data/drafts/generated/forfaitdeal/roaming-suisse-forfait.json",
          "slug": "roaming-suisse-forfait",
          "title": "Roaming suisse forfait : que faut-il vraiment vérifier en 2026 ?",
          "quality": {
            "ok": true,
            "issues": [],
            "warnings": [],
            "section_count": 11,
            "content_length": 9972
          }
        },
        "topic": "roaming suisse forfait",
        "enqueue": {
          "id": 18,
          "slug": "roaming-suisse-forfait",
          "status": "scheduled",
          "site_key": "forfaitdeal",
          "published_at": "2026-05-02",
          "scheduled_at": "2026-06-10T07:00:00+00:00"
        }
      }
    },
    {
      "id": 338,
      "site_key": "forfaitdeal",
      "category": "routine",
      "action": "content_pipeline",
      "target": "meilleur-forfait-mobile-suisse",
      "outcome": "scheduled",
      "quality": "good",
      "details_json": {
        "draft": {
          "path": "/root/agents/seo-agent/data/drafts/generated/forfaitdeal/meilleur-forfait-mobile-suisse.json",
          "slug": "meilleur-forfait-mobile-suisse",
          "title": "Meilleur forfait mobile suisse : faut-il vraiment payer plus en 2026",
          "quality": {
            "ok": true,
            "issues": [],
            "warnings": [],
            "section_count": 11,
            "content_length": 10178
          }
        },
        "topic": "meilleur forfait mobile suisse",
        "enqueue": {
          "id": 17,
          "slug": "meilleur-forfait-mobile-suisse",
          "status": "scheduled",
          "site_key": "forfaitdeal",
          "published_at": "2026-05-02",
          "scheduled_at": "2026-06-10T07:00:00+00:00"
        }
      },
      "recorded_at": "2026-06-10 00:00:53.426620+00:00",
      "details": {
        "draft": {
          "path": "/root/agents/seo-agent/data/drafts/generated/forfaitdeal/meilleur-forfait-mobile-suisse.json",
          "slug": "meilleur-forfait-mobile-suisse",
          "title": "Meilleur forfait mobile suisse : faut-il vraiment payer plus en 2026",
          "quality": {
            "ok": true,
            "issues": [],
            "warnings": [],
            "section_count": 11,
            "content_length": 10178
          }
        },
        "topic": "meilleur forfait mobile suisse",
        "enqueue": {
          "id": 17,
          "slug": "meilleur-forfait-mobile-suisse",
          "status": "scheduled",
          "site_key": "forfaitdeal",
          "published_at": "2026-05-02",
          "scheduled_at": "2026-06-10T07:00:00+00:00"
        }
      }
    },
    {
      "id": 337,
      "site_key": "forfaitdeal",
      "category": "routine",
      "action": "content_pipeline",
      "target": "comparatif-forfait-mobile-suisse",
      "outcome": "scheduled",
      "quality": "good",
      "details_json": {
        "draft": {
          "path": "/root/agents/seo-agent/data/drafts/generated/forfaitdeal/comparatif-forfait-mobile-suisse.json",
          "slug": "comparatif-forfait-mobile-suisse",
          "title": "Comparatif forfait mobile suisse : faut-il vraiment payer plus en",
          "quality": {
            "ok": true,
            "issues": [],
            "warnings": [],
            "section_count": 11,
            "content_length": 10236
          }
        },
        "topic": "comparatif forfait mobile suisse",
        "enqueue": {
          "id": 15,
          "slug": "comparatif-forfait-mobile-suisse",
          "status": "scheduled",
          "site_key": "forfaitdeal",
          "published_at": "2026-05-02",
          "scheduled_at": "2026-06-10T07:00:00+00:00"
        }
      },
      "recorded_at": "2026-06-10 00:00:43.208721+00:00",
      "details": {
        "draft": {
          "path": "/root/agents/seo-agent/data/drafts/generated/forfaitdeal/comparatif-forfait-mobile-suisse.json",
          "slug": "comparatif-forfait-mobile-suisse",
          "title": "Comparatif forfait mobile suisse : faut-il vraiment payer plus en",
          "quality": {
            "ok": true,
            "issues": [],
            "warnings": [],
            "section_count": 11,
            "content_length": 10236
          }
        },
        "topic": "comparatif forfait mobile suisse",
        "enqueue": {
          "id": 15,
          "slug": "comparatif-forfait-mobile-suisse",
          "status": "scheduled",
          "site_key": "forfaitdeal",
          "published_at": "2026-05-02",
          "scheduled_at": "2026-06-10T07:00:00+00:00"
        }
      }
    },
    {
      "id": 336,
      "site_key": "forfaitdeal",
      "category": "routine",
      "action": "content_pipeline",
      "target": "forfait-mobile-suisse",
      "outcome": "scheduled",
      "quality": "good",
      "details_json": {
        "draft": {
          "path": "/root/agents/seo-agent/data/drafts/generated/forfaitdeal/forfait-mobile-suisse.json",
          "slug": "forfait-mobile-suisse",
          "title": "Forfait mobile suisse : faut-il vraiment payer plus en 2026 ?",
          "quality": {
            "ok": true,
            "issues": [],
            "warnings": [],
            "section_count": 11,
            "content_length": 9953
          }
        },
        "topic": "forfait mobile suisse",
        "enqueue": {
          "id": 16,
          "slug": "forfait-mobile-suisse",
          "status": "scheduled",
          "site_key": "forfaitdeal",
          "published_at": "2026-05-02",
          "scheduled_at": "2026-06-10T07:00:00+00:00"
        }
      },
      "recorded_at": "2026-06-10 00:00:32.919288+00:00",
      "details": {
        "draft": {
          "path": "/root/agents/seo-agent/data/drafts/generated/forfaitdeal/forfait-mobile-suisse.json",
          "slug": "forfait-mobile-suisse",
          "title": "Forfait mobile suisse : faut-il vraiment payer plus en 2026 ?",
          "quality": {
            "ok": true,
            "issues": [],
            "warnings": [],
            "section_count": 11,
            "content_length": 9953
          }
        },
        "topic": "forfait mobile suisse",
        "enqueue": {
          "id": 16,
          "slug": "forfait-mobile-suisse",
          "status": "scheduled",
          "site_key": "forfaitdeal",
          "published_at": "2026-05-02",
          "scheduled_at": "2026-06-10T07:00:00+00:00"
        }
      }
    },
    {
      "id": 335,
      "site_key": "forfaitdeal",
      "category": "routine",
      "action": "daily_feedback_learning",
      "target": "forfaitdeal",
      "outcome": "2 lessons derived",
      "quality": "good",
      "details_json": {
        "sop": {
          "sop": {
            "id": 189,
            "name": "adaptive-feedback-playbook",
            "scope": "site",
            "source": "feedback_loop",
            "status": "draft",
            "content": "1. Sync and review the latest GSC and queue feedback before planning new work.\n2. If low-CTR pages exist with meaningful impressions, prioritize refreshes before net new drafts.\n3. If the queue is saturated, shift effort from generation to review, optimization, and publishing throughput.\n4. If failures or weak publish outcomes exist, add a verification step before production actions.\n5. Re-measure outcomes after each major SEO action and log the result back into memory.",
            "version": 33,
            "site_key": "forfaitdeal",
            "created_at": "2026-06-09 00:00:22.202666+00:00",
            "updated_at": "2026-06-10 00:00:21.429867+00:00",
            "confidence_label": "low",
            "confidence_score": 0
          },
          "evidence": {
            "lesson_count": 20,
            "outcome_count": 10,
            "observation_count": 10
          },
          "site_key": "forfaitdeal"
        },
        "feedback": {
          "site_key": "forfaitdeal",
          "gsc_pages": 10,
          "queue_rows": 17,
          "gsc_queries": 19,
          "workflow_events": 50
        },
        "business_feedback": {
          "crawler": {
            "ideas": [],
            "issues": [],
            "message": "Erreur reseau Crawler MCP sur http://127.0.0.1:8866/mcp: HTTPConnectionPool(host='127.0.0.1', port=8866): Max retries exceeded with url: /mcp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7d37255c7830>: Failed to establish a new connection: [Errno 111] Connection refused'))",
            "crawl_ok": false,
            "acquisition_ok": false
          },
          "linkmap": {
            "result": {},
            "message": "Outil LinkMap introuvable pour pagerank.",
            "pagerank_ok": false,
            "strategy_ok": false
          },
          "site_key": "forfaitdeal",
          "available": true,
          "seo_panel": {
            "alerts": [],
            "message": "Erreur reseau SEO Panel MCP sur http://127.0.0.1:8865/mcp: HTTPConnectionPool(host='127.0.0.1', port=8865): Max retries exceeded with url: /mcp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7d3727f33cb0>: Failed to establish a new connection: [Errno 111] Connection refused'))",
            "alerts_ok": false,
            "overview_ok": false,
            "health_score": null
          },
          "project_name": "ForfaitDeal"
        }
      },
      "recorded_at": "2026-06-10 00:00:21.977120+00:00",
      "details": {
        "sop": {
          "sop": {
            "id": 189,
            "name": "adaptive-feedback-playbook",
            "scope": "site",
            "source": "feedback_loop",
            "status": "draft",
            "content": "1. Sync and review the latest GSC and queue feedback before planning new work.\n2. If low-CTR pages exist with meaningful impressions, prioritize refreshes before net new drafts.\n3. If the queue is saturated, shift effort from generation to review, optimization, and publishing throughput.\n4. If failures or weak publish outcomes exist, add a verification step before production actions.\n5. Re-measure outcomes after each major SEO action and log the result back into memory.",
            "version": 33,
            "site_key": "forfaitdeal",
            "created_at": "2026-06-09 00:00:22.202666+00:00",
            "updated_at": "2026-06-10 00:00:21.429867+00:00",
            "confidence_label": "low",
            "confidence_score": 0
          },
          "evidence": {
            "lesson_count": 20,
            "outcome_count": 10,
            "observation_count": 10
          },
          "site_key": "forfaitdeal"
        },
        "feedback": {
          "site_key": "forfaitdeal",
          "gsc_pages": 10,
          "queue_rows": 17,
          "gsc_queries": 19,
          "workflow_events": 50
        },
        "business_feedback": {
          "crawler": {
            "ideas": [],
            "issues": [],
            "message": "Erreur reseau Crawler MCP sur http://127.0.0.1:8866/mcp: HTTPConnectionPool(host='127.0.0.1', port=8866): Max retries exceeded with url: /mcp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7d37255c7830>: Failed to establish a new connection: [Errno 111] Connection refused'))",
            "crawl_ok": false,
            "acquisition_ok": false
          },
          "linkmap": {
            "result": {},
            "message": "Outil LinkMap introuvable pour pagerank.",
            "pagerank_ok": false,
            "strategy_ok": false
          },
          "site_key": "forfaitdeal",
          "available": true,
          "seo_panel": {
            "alerts": [],
            "message": "Erreur reseau SEO Panel MCP sur http://127.0.0.1:8865/mcp: HTTPConnectionPool(host='127.0.0.1', port=8865): Max retries exceeded with url: /mcp (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7d3727f33cb0>: Failed to establish a new connection: [Errno 111] Connection refused'))",
            "alerts_ok": false,
            "overview_ok": false,
            "health_score": null
          },
          "project_name": "ForfaitDeal"
        }
      }
    }
  ],
  "recent_outcomes": [
    {
      "id": 355,
      "site_key": "forfaitdeal",
      "outcome_type": "seo_experiment_result",
      "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
      "metric_name": "impressions",
      "metric_value": -48.0,
      "payload_json": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "success": false,
        "conclusion": "rejected",
        "hypothesis": {
          "slug": "forfait-mobile-suisse-roaming-europe",
          "query": "roaming suisse",
          "autonomy": "auto_correctable",
          "baseline": {
            "ctr": 0.0,
            "clicks": 0,
            "position": 20.376543209876544,
            "impressions": 162
          },
          "site_key": "forfaitdeal",
          "reasoning": [
            "article assez mature (36j)",
            "page visible mais à renforcer (20.4)",
            "potentiel impression détecté (162)",
            "perte de clics probable: CTR 0.00% pour 162 impressions",
            "écart concurrentiel aligné avec la requête"
          ],
          "risk_level": "medium",
          "action_type": "content_refresh",
          "playbook_id": "gain_impressions",
          "playbook_name": "Gagner des impressions",
          "primary_metric": "impressions",
          "secondary_metrics": [
            "position",
            "clicks",
            "query_coverage"
          ],
          "expected_direction": "increase"
        },
        "impact_label": "negative",
        "primary_metric_delta": -48.0
      },
      "recorded_at": "2026-06-10 01:07:01.899277+00:00",
      "payload": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "success": false,
        "conclusion": "rejected",
        "hypothesis": {
          "slug": "forfait-mobile-suisse-roaming-europe",
          "query": "roaming suisse",
          "autonomy": "auto_correctable",
          "baseline": {
            "ctr": 0.0,
            "clicks": 0,
            "position": 20.376543209876544,
            "impressions": 162
          },
          "site_key": "forfaitdeal",
          "reasoning": [
            "article assez mature (36j)",
            "page visible mais à renforcer (20.4)",
            "potentiel impression détecté (162)",
            "perte de clics probable: CTR 0.00% pour 162 impressions",
            "écart concurrentiel aligné avec la requête"
          ],
          "risk_level": "medium",
          "action_type": "content_refresh",
          "playbook_id": "gain_impressions",
          "playbook_name": "Gagner des impressions",
          "primary_metric": "impressions",
          "secondary_metrics": [
            "position",
            "clicks",
            "query_coverage"
          ],
          "expected_direction": "increase"
        },
        "impact_label": "negative",
        "primary_metric_delta": -48.0
      }
    },
    {
      "id": 354,
      "site_key": "forfaitdeal",
      "outcome_type": "measurement_result",
      "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
      "metric_name": "impact_score",
      "metric_value": -5.327615334632878,
      "payload_json": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
        "action_type": "content_refresh",
        "impact_label": "negative",
        "measurement_id": 39
      },
      "recorded_at": "2026-06-10 01:07:01.852316+00:00",
      "payload": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
        "action_type": "content_refresh",
        "impact_label": "negative",
        "measurement_id": 39
      }
    },
    {
      "id": 353,
      "site_key": "forfaitdeal",
      "outcome_type": "gsc_delta",
      "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
      "metric_name": "position",
      "metric_value": 0.26380766731643845,
      "payload_json": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "current": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.640350877192983,
          "impressions": 114.0
        },
        "baseline": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.376543209876544,
          "impressions": 162.0
        },
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
      },
      "recorded_at": "2026-06-10 01:07:01.835880+00:00",
      "payload": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "current": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.640350877192983,
          "impressions": 114.0
        },
        "baseline": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.376543209876544,
          "impressions": 162.0
        },
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
      }
    },
    {
      "id": 352,
      "site_key": "forfaitdeal",
      "outcome_type": "gsc_delta",
      "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
      "metric_name": "ctr",
      "metric_value": 0.0,
      "payload_json": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "current": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.640350877192983,
          "impressions": 114.0
        },
        "baseline": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.376543209876544,
          "impressions": 162.0
        },
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
      },
      "recorded_at": "2026-06-10 01:07:01.819610+00:00",
      "payload": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "current": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.640350877192983,
          "impressions": 114.0
        },
        "baseline": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.376543209876544,
          "impressions": 162.0
        },
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
      }
    },
    {
      "id": 351,
      "site_key": "forfaitdeal",
      "outcome_type": "gsc_delta",
      "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
      "metric_name": "impressions",
      "metric_value": -48.0,
      "payload_json": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "current": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.640350877192983,
          "impressions": 114.0
        },
        "baseline": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.376543209876544,
          "impressions": 162.0
        },
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
      },
      "recorded_at": "2026-06-10 01:07:01.805368+00:00",
      "payload": {
        "delta": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 0.26380766731643845,
          "impressions": -48.0
        },
        "current": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.640350877192983,
          "impressions": 114.0
        },
        "baseline": {
          "ctr": 0.0,
          "clicks": 0.0,
          "position": 20.376543209876544,
          "impressions": 162.0
        },
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
      }
    }
  ],
  "recent_observations": [
    {
      "id": 1393,
      "site_key": "forfaitdeal",
      "source_type": "postmortem",
      "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
      "payload_json": {
        "status": "created",
        "evidence": {
          "delta": {
            "ctr": 0.0,
            "clicks": 0.0,
            "position": 0.26380766731643845,
            "impressions": -48.0
          },
          "event": {
            "id": 1103,
            "payload": {
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "content_refresh",
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "measurement_id": 39
            },
            "site_key": "forfaitdeal",
            "event_type": "measurement_completed",
            "recorded_at": "2026-06-10 01:07:01.865540+00:00",
            "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
            "payload_json": {
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "content_refresh",
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "measurement_id": 39
            }
          },
          "outcome": {
            "id": 354,
            "payload": {
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "content_refresh",
              "impact_label": "negative",
              "measurement_id": 39
            },
            "site_key": "forfaitdeal",
            "metric_name": "impact_score",
            "recorded_at": "2026-06-10 01:07:01.852316+00:00",
            "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
            "metric_value": -5.327615334632878,
            "outcome_type": "measurement_result",
            "payload_json": {
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "content_refresh",
              "impact_label": "negative",
              "measurement_id": 39
            }
          },
          "measurement": {
            "id": 39,
            "due_at": "2026-06-10 00:08:26.636581+00:00",
            "source": "automation",
            "status": "completed",
            "details": {
              "slug": "forfait-mobile-suisse-roaming-europe",
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "query": "roaming suisse",
              "score": 8,
              "baseline": {
                "row": {
                  "ctr": 0.0,
                  "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "top_query": "roaming suisse",
                  "impressions": 162
                },
                "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
              },
              "playbook": {
                "id": "gain_impressions",
                "name": "Gagner des impressions",
                "actions": [
                  "content_refresh",
                  "add_h2_sections",
                  "cover_gsc_queries"
                ],
                "autonomy": "auto_correctable",
                "risk_level": "medium",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ]
              },
              "hypothesis": {
                "slug": "forfait-mobile-suisse-roaming-europe",
                "query": "roaming suisse",
                "autonomy": "auto_correctable",
                "baseline": {
                  "ctr": 0.0,
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "impressions": 162
                },
                "site_key": "forfaitdeal",
                "reasoning": [
                  "article assez mature (36j)",
                  "page visible mais à renforcer (20.4)",
                  "potentiel impression détecté (162)",
                  "perte de clics probable: CTR 0.00% pour 162 impressions",
                  "écart concurrentiel aligné avec la requête"
                ],
                "risk_level": "medium",
                "action_type": "content_refresh",
                "playbook_id": "gain_impressions",
                "playbook_name": "Gagner des impressions",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ],
                "expected_direction": "increase"
              },
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "refresh_type": "content_refresh",
              "content_quality": {
                "content_quality_delta": 22,
                "quality_breakdown_after": {
                  "depth_score": 100,
                  "intent_match": 86,
                  "query_coverage": 100,
                  "conversion_score": 95,
                  "competitor_gap_score": 100,
                  "internal_links_score": 100,
                  "human_usefulness_score": 80
                },
                "quality_breakdown_delta": {
                  "depth_score": 0,
                  "intent_match": 29,
                  "query_coverage": 0,
                  "conversion_score": 83,
                  "competitor_gap_score": 0,
                  "internal_links_score": 75,
                  "human_usefulness_score": -20
                },
                "quality_breakdown_before": {
                  "depth_score": 100,
                  "intent_match": 57,
                  "query_coverage": 100,
                  "conversion_score": 12,
                  "competitor_gap_score": 100,
                  "internal_links_score": 25,
                  "human_usefulness_score": 100
                },
                "content_quality_score_after": 95,
                "content_quality_score_before": 73
              },
              "review_window_days": 14,
              "hypothesis_conclusion": {
                "delta": {
                  "ctr": 0.0,
                  "clicks": 0.0,
                  "position": 0.26380766731643845,
                  "impressions": -48.0
                },
                "success": false,
                "conclusion": "rejected",
                "hypothesis": {
                  "slug": "forfait-mobile-suisse-roaming-europe",
                  "query": "roaming suisse",
                  "autonomy": "auto_correctable",
                  "baseline": {
                    "ctr": 0.0,
                    "clicks": 0,
                    "position": 20.376543209876544,
                    "impressions": 162
                  },
                  "site_key": "forfaitdeal",
                  "reasoning": [
                    "article assez mature (36j)",
                    "page visible mais à renforcer (20.4)",
                    "potentiel impression détecté (162)",
                    "perte de clics probable: CTR 0.00% pour 162 impressions",
                    "écart concurrentiel aligné avec la requête"
                  ],
                  "risk_level": "medium",
                  "action_type": "content_refresh",
                  "playbook_id": "gain_impressions",
                  "playbook_name": "Gagner des impressions",
                  "primary_metric": "impressions",
                  "secondary_metrics": [
                    "position",
                    "clicks",
                    "query_coverage"
                  ],
                  "expected_direction": "increase"
                },
                "impact_label": "negative",
                "primary_metric_delta": -48.0
              }
            },
            "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "site_key": "forfaitdeal",
            "created_at": "2026-05-27 00:08:26.636611+00:00",
            "updated_at": "2026-06-10 01:07:01.915081+00:00",
            "action_type": "content_refresh",
            "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
            "completed_at": "2026-06-10 01:07:01.535930+00:00",
            "details_json": {
              "slug": "forfait-mobile-suisse-roaming-europe",
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "query": "roaming suisse",
              "score": 8,
              "baseline": {
                "row": {
                  "ctr": 0.0,
                  "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "top_query": "roaming suisse",
                  "impressions": 162
                },
                "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
              },
              "playbook": {
                "id": "gain_impressions",
                "name": "Gagner des impressions",
                "actions": [
                  "content_refresh",
                  "add_h2_sections",
                  "cover_gsc_queries"
                ],
                "autonomy": "auto_correctable",
                "risk_level": "medium",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ]
              },
              "hypothesis": {
                "slug": "forfait-mobile-suisse-roaming-europe",
                "query": "roaming suisse",
                "autonomy": "auto_correctable",
                "baseline": {
                  "ctr": 0.0,
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "impressions": 162
                },
                "site_key": "forfaitdeal",
                "reasoning": [
                  "article assez mature (36j)",
                  "page visible mais à renforcer (20.4)",
                  "potentiel impression détecté (162)",
                  "perte de clics probable: CTR 0.00% pour 162 impressions",
                  "écart concurrentiel aligné avec la requête"
                ],
                "risk_level": "medium",
                "action_type": "content_refresh",
                "playbook_id": "gain_impressions",
                "playbook_name": "Gagner des impressions",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ],
                "expected_direction": "increase"
              },
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "refresh_type": "content_refresh",
              "content_quality": {
                "content_quality_delta": 22,
                "quality_breakdown_after": {
                  "depth_score": 100,
                  "intent_match": 86,
                  "query_coverage": 100,
                  "conversion_score": 95,
                  "competitor_gap_score": 100,
                  "internal_links_score": 100,
                  "human_usefulness_score": 80
                },
                "quality_breakdown_delta": {
                  "depth_score": 0,
                  "intent_match": 29,
                  "query_coverage": 0,
                  "conversion_score": 83,
                  "competitor_gap_score": 0,
                  "internal_links_score": 75,
                  "human_usefulness_score": -20
                },
                "quality_breakdown_before": {
                  "depth_score": 100,
                  "intent_match": 57,
                  "query_coverage": 100,
                  "conversion_score": 12,
                  "competitor_gap_score": 100,
                  "internal_links_score": 25,
                  "human_usefulness_score": 100
                },
                "content_quality_score_after": 95,
                "content_quality_score_before": 73
              },
              "review_window_days": 14,
              "hypothesis_conclusion": {
                "delta": {
                  "ctr": 0.0,
                  "clicks": 0.0,
                  "position": 0.26380766731643845,
                  "impressions": -48.0
                },
                "success": false,
                "conclusion": "rejected",
                "hypothesis": {
                  "slug": "forfait-mobile-suisse-roaming-europe",
                  "query": "roaming suisse",
                  "autonomy": "auto_correctable",
                  "baseline": {
                    "ctr": 0.0,
                    "clicks": 0,
                    "position": 20.376543209876544,
                    "impressions": 162
                  },
                  "site_key": "forfaitdeal",
                  "reasoning": [
                    "article assez mature (36j)",
                    "page visible mais à renforcer (20.4)",
                    "potentiel impression détecté (162)",
                    "perte de clics probable: CTR 0.00% pour 162 impressions",
                    "écart concurrentiel aligné avec la requête"
                  ],
                  "risk_level": "medium",
                  "action_type": "content_refresh",
                  "playbook_id": "gain_impressions",
                  "playbook_name": "Gagner des impressions",
                  "primary_metric": "impressions",
                  "secondary_metrics": [
                    "position",
                    "clicks",
                    "query_coverage"
                  ],
                  "expected_direction": "increase"
                },
                "impact_label": "negative",
                "primary_metric_delta": -48.0
              }
            },
            "baseline_taken_at": "2026-05-27 00:08:26.636600+00:00"
          },
          "impact_label": "negative"
        },
        "site_key": "forfaitdeal",
        "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
        "impact_scope": "measurement",
        "sop_impacted": "adaptive-feedback-playbook",
        "signal_source": "events.measurement_completed",
        "cause_probable": "content_refresh_underperformed",
        "postmortem_type": "negative_measurement",
        "recommended_rule": "A measured SEO action produced a negative post-action delta. Do not reinforce this SOP until the hypothesis, page scope, or review window is revised."
      },
      "recorded_at": "2026-06-10 01:07:01.979922+00:00",
      "payload": {
        "status": "created",
        "evidence": {
          "delta": {
            "ctr": 0.0,
            "clicks": 0.0,
            "position": 0.26380766731643845,
            "impressions": -48.0
          },
          "event": {
            "id": 1103,
            "payload": {
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "content_refresh",
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "measurement_id": 39
            },
            "site_key": "forfaitdeal",
            "event_type": "measurement_completed",
            "recorded_at": "2026-06-10 01:07:01.865540+00:00",
            "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
            "payload_json": {
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "content_refresh",
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "measurement_id": 39
            }
          },
          "outcome": {
            "id": 354,
            "payload": {
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "content_refresh",
              "impact_label": "negative",
              "measurement_id": 39
            },
            "site_key": "forfaitdeal",
            "metric_name": "impact_score",
            "recorded_at": "2026-06-10 01:07:01.852316+00:00",
            "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
            "metric_value": -5.327615334632878,
            "outcome_type": "measurement_result",
            "payload_json": {
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "content_refresh",
              "impact_label": "negative",
              "measurement_id": 39
            }
          },
          "measurement": {
            "id": 39,
            "due_at": "2026-06-10 00:08:26.636581+00:00",
            "source": "automation",
            "status": "completed",
            "details": {
              "slug": "forfait-mobile-suisse-roaming-europe",
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "query": "roaming suisse",
              "score": 8,
              "baseline": {
                "row": {
                  "ctr": 0.0,
                  "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "top_query": "roaming suisse",
                  "impressions": 162
                },
                "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
              },
              "playbook": {
                "id": "gain_impressions",
                "name": "Gagner des impressions",
                "actions": [
                  "content_refresh",
                  "add_h2_sections",
                  "cover_gsc_queries"
                ],
                "autonomy": "auto_correctable",
                "risk_level": "medium",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ]
              },
              "hypothesis": {
                "slug": "forfait-mobile-suisse-roaming-europe",
                "query": "roaming suisse",
                "autonomy": "auto_correctable",
                "baseline": {
                  "ctr": 0.0,
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "impressions": 162
                },
                "site_key": "forfaitdeal",
                "reasoning": [
                  "article assez mature (36j)",
                  "page visible mais à renforcer (20.4)",
                  "potentiel impression détecté (162)",
                  "perte de clics probable: CTR 0.00% pour 162 impressions",
                  "écart concurrentiel aligné avec la requête"
                ],
                "risk_level": "medium",
                "action_type": "content_refresh",
                "playbook_id": "gain_impressions",
                "playbook_name": "Gagner des impressions",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ],
                "expected_direction": "increase"
              },
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "refresh_type": "content_refresh",
              "content_quality": {
                "content_quality_delta": 22,
                "quality_breakdown_after": {
                  "depth_score": 100,
                  "intent_match": 86,
                  "query_coverage": 100,
                  "conversion_score": 95,
                  "competitor_gap_score": 100,
                  "internal_links_score": 100,
                  "human_usefulness_score": 80
                },
                "quality_breakdown_delta": {
                  "depth_score": 0,
                  "intent_match": 29,
                  "query_coverage": 0,
                  "conversion_score": 83,
                  "competitor_gap_score": 0,
                  "internal_links_score": 75,
                  "human_usefulness_score": -20
                },
                "quality_breakdown_before": {
                  "depth_score": 100,
                  "intent_match": 57,
                  "query_coverage": 100,
                  "conversion_score": 12,
                  "competitor_gap_score": 100,
                  "internal_links_score": 25,
                  "human_usefulness_score": 100
                },
                "content_quality_score_after": 95,
                "content_quality_score_before": 73
              },
              "review_window_days": 14,
              "hypothesis_conclusion": {
                "delta": {
                  "ctr": 0.0,
                  "clicks": 0.0,
                  "position": 0.26380766731643845,
                  "impressions": -48.0
                },
                "success": false,
                "conclusion": "rejected",
                "hypothesis": {
                  "slug": "forfait-mobile-suisse-roaming-europe",
                  "query": "roaming suisse",
                  "autonomy": "auto_correctable",
                  "baseline": {
                    "ctr": 0.0,
                    "clicks": 0,
                    "position": 20.376543209876544,
                    "impressions": 162
                  },
                  "site_key": "forfaitdeal",
                  "reasoning": [
                    "article assez mature (36j)",
                    "page visible mais à renforcer (20.4)",
                    "potentiel impression détecté (162)",
                    "perte de clics probable: CTR 0.00% pour 162 impressions",
                    "écart concurrentiel aligné avec la requête"
                  ],
                  "risk_level": "medium",
                  "action_type": "content_refresh",
                  "playbook_id": "gain_impressions",
                  "playbook_name": "Gagner des impressions",
                  "primary_metric": "impressions",
                  "secondary_metrics": [
                    "position",
                    "clicks",
                    "query_coverage"
                  ],
                  "expected_direction": "increase"
                },
                "impact_label": "negative",
                "primary_metric_delta": -48.0
              }
            },
            "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "site_key": "forfaitdeal",
            "created_at": "2026-05-27 00:08:26.636611+00:00",
            "updated_at": "2026-06-10 01:07:01.915081+00:00",
            "action_type": "content_refresh",
            "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
            "completed_at": "2026-06-10 01:07:01.535930+00:00",
            "details_json": {
              "slug": "forfait-mobile-suisse-roaming-europe",
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "query": "roaming suisse",
              "score": 8,
              "baseline": {
                "row": {
                  "ctr": 0.0,
                  "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "top_query": "roaming suisse",
                  "impressions": 162
                },
                "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
              },
              "playbook": {
                "id": "gain_impressions",
                "name": "Gagner des impressions",
                "actions": [
                  "content_refresh",
                  "add_h2_sections",
                  "cover_gsc_queries"
                ],
                "autonomy": "auto_correctable",
                "risk_level": "medium",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ]
              },
              "hypothesis": {
                "slug": "forfait-mobile-suisse-roaming-europe",
                "query": "roaming suisse",
                "autonomy": "auto_correctable",
                "baseline": {
                  "ctr": 0.0,
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "impressions": 162
                },
                "site_key": "forfaitdeal",
                "reasoning": [
                  "article assez mature (36j)",
                  "page visible mais à renforcer (20.4)",
                  "potentiel impression détecté (162)",
                  "perte de clics probable: CTR 0.00% pour 162 impressions",
                  "écart concurrentiel aligné avec la requête"
                ],
                "risk_level": "medium",
                "action_type": "content_refresh",
                "playbook_id": "gain_impressions",
                "playbook_name": "Gagner des impressions",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ],
                "expected_direction": "increase"
              },
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "refresh_type": "content_refresh",
              "content_quality": {
                "content_quality_delta": 22,
                "quality_breakdown_after": {
                  "depth_score": 100,
                  "intent_match": 86,
                  "query_coverage": 100,
                  "conversion_score": 95,
                  "competitor_gap_score": 100,
                  "internal_links_score": 100,
                  "human_usefulness_score": 80
                },
                "quality_breakdown_delta": {
                  "depth_score": 0,
                  "intent_match": 29,
                  "query_coverage": 0,
                  "conversion_score": 83,
                  "competitor_gap_score": 0,
                  "internal_links_score": 75,
                  "human_usefulness_score": -20
                },
                "quality_breakdown_before": {
                  "depth_score": 100,
                  "intent_match": 57,
                  "query_coverage": 100,
                  "conversion_score": 12,
                  "competitor_gap_score": 100,
                  "internal_links_score": 25,
                  "human_usefulness_score": 100
                },
                "content_quality_score_after": 95,
                "content_quality_score_before": 73
              },
              "review_window_days": 14,
              "hypothesis_conclusion": {
                "delta": {
                  "ctr": 0.0,
                  "clicks": 0.0,
                  "position": 0.26380766731643845,
                  "impressions": -48.0
                },
                "success": false,
                "conclusion": "rejected",
                "hypothesis": {
                  "slug": "forfait-mobile-suisse-roaming-europe",
                  "query": "roaming suisse",
                  "autonomy": "auto_correctable",
                  "baseline": {
                    "ctr": 0.0,
                    "clicks": 0,
                    "position": 20.376543209876544,
                    "impressions": 162
                  },
                  "site_key": "forfaitdeal",
                  "reasoning": [
                    "article assez mature (36j)",
                    "page visible mais à renforcer (20.4)",
                    "potentiel impression détecté (162)",
                    "perte de clics probable: CTR 0.00% pour 162 impressions",
                    "écart concurrentiel aligné avec la requête"
                  ],
                  "risk_level": "medium",
                  "action_type": "content_refresh",
                  "playbook_id": "gain_impressions",
                  "playbook_name": "Gagner des impressions",
                  "primary_metric": "impressions",
                  "secondary_metrics": [
                    "position",
                    "clicks",
                    "query_coverage"
                  ],
                  "expected_direction": "increase"
                },
                "impact_label": "negative",
                "primary_metric_delta": -48.0
              }
            },
            "baseline_taken_at": "2026-05-27 00:08:26.636600+00:00"
          },
          "impact_label": "negative"
        },
        "site_key": "forfaitdeal",
        "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
        "impact_scope": "measurement",
        "sop_impacted": "adaptive-feedback-playbook",
        "signal_source": "events.measurement_completed",
        "cause_probable": "content_refresh_underperformed",
        "postmortem_type": "negative_measurement",
        "recommended_rule": "A measured SEO action produced a negative post-action delta. Do not reinforce this SOP until the hypothesis, page scope, or review window is revised."
      }
    },
    {
      "id": 1392,
      "site_key": "forfaitdeal",
      "source_type": "seo_experiment_concluded",
      "subject_key": "content-refresh:forfait-mobile-suisse-roaming-europe",
      "payload_json": {
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
        "conclusion": {
          "delta": {
            "ctr": 0.0,
            "clicks": 0.0,
            "position": 0.26380766731643845,
            "impressions": -48.0
          },
          "success": false,
          "conclusion": "rejected",
          "hypothesis": {
            "slug": "forfait-mobile-suisse-roaming-europe",
            "query": "roaming suisse",
            "autonomy": "auto_correctable",
            "baseline": {
              "ctr": 0.0,
              "clicks": 0,
              "position": 20.376543209876544,
              "impressions": 162
            },
            "site_key": "forfaitdeal",
            "reasoning": [
              "article assez mature (36j)",
              "page visible mais à renforcer (20.4)",
              "potentiel impression détecté (162)",
              "perte de clics probable: CTR 0.00% pour 162 impressions",
              "écart concurrentiel aligné avec la requête"
            ],
            "risk_level": "medium",
            "action_type": "content_refresh",
            "playbook_id": "gain_impressions",
            "playbook_name": "Gagner des impressions",
            "primary_metric": "impressions",
            "secondary_metrics": [
              "position",
              "clicks",
              "query_coverage"
            ],
            "expected_direction": "increase"
          },
          "impact_label": "negative",
          "primary_metric_delta": -48.0
        },
        "action_type": "content_refresh",
        "measurement_id": 39
      },
      "recorded_at": "2026-06-10 01:07:01.877951+00:00",
      "payload": {
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
        "conclusion": {
          "delta": {
            "ctr": 0.0,
            "clicks": 0.0,
            "position": 0.26380766731643845,
            "impressions": -48.0
          },
          "success": false,
          "conclusion": "rejected",
          "hypothesis": {
            "slug": "forfait-mobile-suisse-roaming-europe",
            "query": "roaming suisse",
            "autonomy": "auto_correctable",
            "baseline": {
              "ctr": 0.0,
              "clicks": 0,
              "position": 20.376543209876544,
              "impressions": 162
            },
            "site_key": "forfaitdeal",
            "reasoning": [
              "article assez mature (36j)",
              "page visible mais à renforcer (20.4)",
              "potentiel impression détecté (162)",
              "perte de clics probable: CTR 0.00% pour 162 impressions",
              "écart concurrentiel aligné avec la requête"
            ],
            "risk_level": "medium",
            "action_type": "content_refresh",
            "playbook_id": "gain_impressions",
            "playbook_name": "Gagner des impressions",
            "primary_metric": "impressions",
            "secondary_metrics": [
              "position",
              "clicks",
              "query_coverage"
            ],
            "expected_direction": "increase"
          },
          "impact_label": "negative",
          "primary_metric_delta": -48.0
        },
        "action_type": "content_refresh",
        "measurement_id": 39
      }
    },
    {
      "id": 1391,
      "site_key": "forfaitdeal",
      "source_type": "postmortem",
      "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
      "payload_json": {
        "status": "created",
        "evidence": {
          "delta": {
            "ctr": 0.0,
            "clicks": 0.0,
            "position": 0.26380766731643845,
            "impressions": -48.0
          },
          "event": {
            "id": 1100,
            "payload": {
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "refresh",
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "measurement_id": 38
            },
            "site_key": "forfaitdeal",
            "event_type": "measurement_completed",
            "recorded_at": "2026-06-10 01:07:01.612341+00:00",
            "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
            "payload_json": {
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "refresh",
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "measurement_id": 38
            }
          },
          "outcome": {
            "id": 348,
            "payload": {
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "refresh",
              "impact_label": "negative",
              "measurement_id": 38
            },
            "site_key": "forfaitdeal",
            "metric_name": "impact_score",
            "recorded_at": "2026-06-10 01:07:01.602342+00:00",
            "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
            "metric_value": -5.327615334632878,
            "outcome_type": "measurement_result",
            "payload_json": {
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "refresh",
              "impact_label": "negative",
              "measurement_id": 38
            }
          },
          "measurement": {
            "id": 38,
            "due_at": "2026-06-10 00:08:26.535564+00:00",
            "source": "automation",
            "status": "completed",
            "details": {
              "slug": "forfait-mobile-suisse-roaming-europe",
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "query": "roaming suisse",
              "baseline": {
                "row": {
                  "ctr": 0.0,
                  "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "top_query": "roaming suisse",
                  "impressions": 162
                },
                "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
              },
              "playbook": {
                "id": "gain_impressions",
                "name": "Gagner des impressions",
                "actions": [
                  "content_refresh",
                  "add_h2_sections",
                  "cover_gsc_queries"
                ],
                "autonomy": "auto_correctable",
                "risk_level": "medium",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ]
              },
              "hypothesis": {
                "slug": "forfait-mobile-suisse-roaming-europe",
                "query": "roaming suisse",
                "autonomy": "auto_correctable",
                "baseline": {
                  "ctr": 0.0,
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "impressions": 162
                },
                "site_key": "forfaitdeal",
                "reasoning": [
                  "article assez mature (36j)",
                  "page visible mais à renforcer (20.4)",
                  "potentiel impression détecté (162)",
                  "perte de clics probable: CTR 0.00% pour 162 impressions",
                  "écart concurrentiel aligné avec la requête"
                ],
                "risk_level": "medium",
                "action_type": "content_refresh",
                "playbook_id": "gain_impressions",
                "playbook_name": "Gagner des impressions",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ],
                "expected_direction": "increase"
              },
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "refresh_type": "content_refresh",
              "review_window_days": 14,
              "optimization_action": "content_refresh",
              "hypothesis_conclusion": {
                "delta": {
                  "ctr": 0.0,
                  "clicks": 0.0,
                  "position": 0.26380766731643845,
                  "impressions": -48.0
                },
                "success": false,
                "conclusion": "rejected",
                "hypothesis": {
                  "slug": "forfait-mobile-suisse-roaming-europe",
                  "query": "roaming suisse",
                  "autonomy": "auto_correctable",
                  "baseline": {
                    "ctr": 0.0,
                    "clicks": 0,
                    "position": 20.376543209876544,
                    "impressions": 162
                  },
                  "site_key": "forfaitdeal",
                  "reasoning": [
                    "article assez mature (36j)",
                    "page visible mais à renforcer (20.4)",
                    "potentiel impression détecté (162)",
                    "perte de clics probable: CTR 0.00% pour 162 impressions",
                    "écart concurrentiel aligné avec la requête"
                  ],
                  "risk_level": "medium",
                  "action_type": "content_refresh",
                  "playbook_id": "gain_impressions",
                  "playbook_name": "Gagner des impressions",
                  "primary_metric": "impressions",
                  "secondary_metrics": [
                    "position",
                    "clicks",
                    "query_coverage"
                  ],
                  "expected_direction": "increase"
                },
                "impact_label": "negative",
                "primary_metric_delta": -48.0
              }
            },
            "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "site_key": "forfaitdeal",
            "created_at": "2026-05-27 00:08:26.535600+00:00",
            "updated_at": "2026-06-10 01:07:01.668468+00:00",
            "action_type": "refresh",
            "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
            "completed_at": "2026-06-10 01:07:01.535930+00:00",
            "details_json": {
              "slug": "forfait-mobile-suisse-roaming-europe",
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "query": "roaming suisse",
              "baseline": {
                "row": {
                  "ctr": 0.0,
                  "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "top_query": "roaming suisse",
                  "impressions": 162
                },
                "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
              },
              "playbook": {
                "id": "gain_impressions",
                "name": "Gagner des impressions",
                "actions": [
                  "content_refresh",
                  "add_h2_sections",
                  "cover_gsc_queries"
                ],
                "autonomy": "auto_correctable",
                "risk_level": "medium",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ]
              },
              "hypothesis": {
                "slug": "forfait-mobile-suisse-roaming-europe",
                "query": "roaming suisse",
                "autonomy": "auto_correctable",
                "baseline": {
                  "ctr": 0.0,
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "impressions": 162
                },
                "site_key": "forfaitdeal",
                "reasoning": [
                  "article assez mature (36j)",
                  "page visible mais à renforcer (20.4)",
                  "potentiel impression détecté (162)",
                  "perte de clics probable: CTR 0.00% pour 162 impressions",
                  "écart concurrentiel aligné avec la requête"
                ],
                "risk_level": "medium",
                "action_type": "content_refresh",
                "playbook_id": "gain_impressions",
                "playbook_name": "Gagner des impressions",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ],
                "expected_direction": "increase"
              },
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "refresh_type": "content_refresh",
              "review_window_days": 14,
              "optimization_action": "content_refresh",
              "hypothesis_conclusion": {
                "delta": {
                  "ctr": 0.0,
                  "clicks": 0.0,
                  "position": 0.26380766731643845,
                  "impressions": -48.0
                },
                "success": false,
                "conclusion": "rejected",
                "hypothesis": {
                  "slug": "forfait-mobile-suisse-roaming-europe",
                  "query": "roaming suisse",
                  "autonomy": "auto_correctable",
                  "baseline": {
                    "ctr": 0.0,
                    "clicks": 0,
                    "position": 20.376543209876544,
                    "impressions": 162
                  },
                  "site_key": "forfaitdeal",
                  "reasoning": [
                    "article assez mature (36j)",
                    "page visible mais à renforcer (20.4)",
                    "potentiel impression détecté (162)",
                    "perte de clics probable: CTR 0.00% pour 162 impressions",
                    "écart concurrentiel aligné avec la requête"
                  ],
                  "risk_level": "medium",
                  "action_type": "content_refresh",
                  "playbook_id": "gain_impressions",
                  "playbook_name": "Gagner des impressions",
                  "primary_metric": "impressions",
                  "secondary_metrics": [
                    "position",
                    "clicks",
                    "query_coverage"
                  ],
                  "expected_direction": "increase"
                },
                "impact_label": "negative",
                "primary_metric_delta": -48.0
              }
            },
            "baseline_taken_at": "2026-05-27 00:08:26.535589+00:00"
          },
          "impact_label": "negative"
        },
        "site_key": "forfaitdeal",
        "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
        "impact_scope": "measurement",
        "sop_impacted": "adaptive-feedback-playbook",
        "signal_source": "events.measurement_completed",
        "cause_probable": "refresh_underperformed",
        "postmortem_type": "negative_measurement",
        "recommended_rule": "A measured SEO action produced a negative post-action delta. Do not reinforce this SOP until the hypothesis, page scope, or review window is revised."
      },
      "recorded_at": "2026-06-10 01:07:01.724791+00:00",
      "payload": {
        "status": "created",
        "evidence": {
          "delta": {
            "ctr": 0.0,
            "clicks": 0.0,
            "position": 0.26380766731643845,
            "impressions": -48.0
          },
          "event": {
            "id": 1100,
            "payload": {
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "refresh",
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "measurement_id": 38
            },
            "site_key": "forfaitdeal",
            "event_type": "measurement_completed",
            "recorded_at": "2026-06-10 01:07:01.612341+00:00",
            "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
            "payload_json": {
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "refresh",
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "measurement_id": 38
            }
          },
          "outcome": {
            "id": 348,
            "payload": {
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "refresh",
              "impact_label": "negative",
              "measurement_id": 38
            },
            "site_key": "forfaitdeal",
            "metric_name": "impact_score",
            "recorded_at": "2026-06-10 01:07:01.602342+00:00",
            "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
            "metric_value": -5.327615334632878,
            "outcome_type": "measurement_result",
            "payload_json": {
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "action_type": "refresh",
              "impact_label": "negative",
              "measurement_id": 38
            }
          },
          "measurement": {
            "id": 38,
            "due_at": "2026-06-10 00:08:26.535564+00:00",
            "source": "automation",
            "status": "completed",
            "details": {
              "slug": "forfait-mobile-suisse-roaming-europe",
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "query": "roaming suisse",
              "baseline": {
                "row": {
                  "ctr": 0.0,
                  "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "top_query": "roaming suisse",
                  "impressions": 162
                },
                "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
              },
              "playbook": {
                "id": "gain_impressions",
                "name": "Gagner des impressions",
                "actions": [
                  "content_refresh",
                  "add_h2_sections",
                  "cover_gsc_queries"
                ],
                "autonomy": "auto_correctable",
                "risk_level": "medium",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ]
              },
              "hypothesis": {
                "slug": "forfait-mobile-suisse-roaming-europe",
                "query": "roaming suisse",
                "autonomy": "auto_correctable",
                "baseline": {
                  "ctr": 0.0,
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "impressions": 162
                },
                "site_key": "forfaitdeal",
                "reasoning": [
                  "article assez mature (36j)",
                  "page visible mais à renforcer (20.4)",
                  "potentiel impression détecté (162)",
                  "perte de clics probable: CTR 0.00% pour 162 impressions",
                  "écart concurrentiel aligné avec la requête"
                ],
                "risk_level": "medium",
                "action_type": "content_refresh",
                "playbook_id": "gain_impressions",
                "playbook_name": "Gagner des impressions",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ],
                "expected_direction": "increase"
              },
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "refresh_type": "content_refresh",
              "review_window_days": 14,
              "optimization_action": "content_refresh",
              "hypothesis_conclusion": {
                "delta": {
                  "ctr": 0.0,
                  "clicks": 0.0,
                  "position": 0.26380766731643845,
                  "impressions": -48.0
                },
                "success": false,
                "conclusion": "rejected",
                "hypothesis": {
                  "slug": "forfait-mobile-suisse-roaming-europe",
                  "query": "roaming suisse",
                  "autonomy": "auto_correctable",
                  "baseline": {
                    "ctr": 0.0,
                    "clicks": 0,
                    "position": 20.376543209876544,
                    "impressions": 162
                  },
                  "site_key": "forfaitdeal",
                  "reasoning": [
                    "article assez mature (36j)",
                    "page visible mais à renforcer (20.4)",
                    "potentiel impression détecté (162)",
                    "perte de clics probable: CTR 0.00% pour 162 impressions",
                    "écart concurrentiel aligné avec la requête"
                  ],
                  "risk_level": "medium",
                  "action_type": "content_refresh",
                  "playbook_id": "gain_impressions",
                  "playbook_name": "Gagner des impressions",
                  "primary_metric": "impressions",
                  "secondary_metrics": [
                    "position",
                    "clicks",
                    "query_coverage"
                  ],
                  "expected_direction": "increase"
                },
                "impact_label": "negative",
                "primary_metric_delta": -48.0
              }
            },
            "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "site_key": "forfaitdeal",
            "created_at": "2026-05-27 00:08:26.535600+00:00",
            "updated_at": "2026-06-10 01:07:01.668468+00:00",
            "action_type": "refresh",
            "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
            "completed_at": "2026-06-10 01:07:01.535930+00:00",
            "details_json": {
              "slug": "forfait-mobile-suisse-roaming-europe",
              "delta": {
                "ctr": 0.0,
                "clicks": 0.0,
                "position": 0.26380766731643845,
                "impressions": -48.0
              },
              "query": "roaming suisse",
              "baseline": {
                "row": {
                  "ctr": 0.0,
                  "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "top_query": "roaming suisse",
                  "impressions": 162
                },
                "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe"
              },
              "playbook": {
                "id": "gain_impressions",
                "name": "Gagner des impressions",
                "actions": [
                  "content_refresh",
                  "add_h2_sections",
                  "cover_gsc_queries"
                ],
                "autonomy": "auto_correctable",
                "risk_level": "medium",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ]
              },
              "hypothesis": {
                "slug": "forfait-mobile-suisse-roaming-europe",
                "query": "roaming suisse",
                "autonomy": "auto_correctable",
                "baseline": {
                  "ctr": 0.0,
                  "clicks": 0,
                  "position": 20.376543209876544,
                  "impressions": 162
                },
                "site_key": "forfaitdeal",
                "reasoning": [
                  "article assez mature (36j)",
                  "page visible mais à renforcer (20.4)",
                  "potentiel impression détecté (162)",
                  "perte de clics probable: CTR 0.00% pour 162 impressions",
                  "écart concurrentiel aligné avec la requête"
                ],
                "risk_level": "medium",
                "action_type": "content_refresh",
                "playbook_id": "gain_impressions",
                "playbook_name": "Gagner des impressions",
                "primary_metric": "impressions",
                "secondary_metrics": [
                  "position",
                  "clicks",
                  "query_coverage"
                ],
                "expected_direction": "increase"
              },
              "impact_label": "negative",
              "impact_score": -5.327615334632878,
              "refresh_type": "content_refresh",
              "review_window_days": 14,
              "optimization_action": "content_refresh",
              "hypothesis_conclusion": {
                "delta": {
                  "ctr": 0.0,
                  "clicks": 0.0,
                  "position": 0.26380766731643845,
                  "impressions": -48.0
                },
                "success": false,
                "conclusion": "rejected",
                "hypothesis": {
                  "slug": "forfait-mobile-suisse-roaming-europe",
                  "query": "roaming suisse",
                  "autonomy": "auto_correctable",
                  "baseline": {
                    "ctr": 0.0,
                    "clicks": 0,
                    "position": 20.376543209876544,
                    "impressions": 162
                  },
                  "site_key": "forfaitdeal",
                  "reasoning": [
                    "article assez mature (36j)",
                    "page visible mais à renforcer (20.4)",
                    "potentiel impression détecté (162)",
                    "perte de clics probable: CTR 0.00% pour 162 impressions",
                    "écart concurrentiel aligné avec la requête"
                  ],
                  "risk_level": "medium",
                  "action_type": "content_refresh",
                  "playbook_id": "gain_impressions",
                  "playbook_name": "Gagner des impressions",
                  "primary_metric": "impressions",
                  "secondary_metrics": [
                    "position",
                    "clicks",
                    "query_coverage"
                  ],
                  "expected_direction": "increase"
                },
                "impact_label": "negative",
                "primary_metric_delta": -48.0
              }
            },
            "baseline_taken_at": "2026-05-27 00:08:26.535589+00:00"
          },
          "impact_label": "negative"
        },
        "site_key": "forfaitdeal",
        "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
        "impact_scope": "measurement",
        "sop_impacted": "adaptive-feedback-playbook",
        "signal_source": "events.measurement_completed",
        "cause_probable": "refresh_underperformed",
        "postmortem_type": "negative_measurement",
        "recommended_rule": "A measured SEO action produced a negative post-action delta. Do not reinforce this SOP until the hypothesis, page scope, or review window is revised."
      }
    },
    {
      "id": 1390,
      "site_key": "forfaitdeal",
      "source_type": "seo_experiment_concluded",
      "subject_key": "refresh:forfait-mobile-suisse-roaming-europe",
      "payload_json": {
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
        "conclusion": {
          "delta": {
            "ctr": 0.0,
            "clicks": 0.0,
            "position": 0.26380766731643845,
            "impressions": -48.0
          },
          "success": false,
          "conclusion": "rejected",
          "hypothesis": {
            "slug": "forfait-mobile-suisse-roaming-europe",
            "query": "roaming suisse",
            "autonomy": "auto_correctable",
            "baseline": {
              "ctr": 0.0,
              "clicks": 0,
              "position": 20.376543209876544,
              "impressions": 162
            },
            "site_key": "forfaitdeal",
            "reasoning": [
              "article assez mature (36j)",
              "page visible mais à renforcer (20.4)",
              "potentiel impression détecté (162)",
              "perte de clics probable: CTR 0.00% pour 162 impressions",
              "écart concurrentiel aligné avec la requête"
            ],
            "risk_level": "medium",
            "action_type": "content_refresh",
            "playbook_id": "gain_impressions",
            "playbook_name": "Gagner des impressions",
            "primary_metric": "impressions",
            "secondary_metrics": [
              "position",
              "clicks",
              "query_coverage"
            ],
            "expected_direction": "increase"
          },
          "impact_label": "negative",
          "primary_metric_delta": -48.0
        },
        "action_type": "refresh",
        "measurement_id": 38
      },
      "recorded_at": "2026-06-10 01:07:01.621393+00:00",
      "payload": {
        "page_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
        "conclusion": {
          "delta": {
            "ctr": 0.0,
            "clicks": 0.0,
            "position": 0.26380766731643845,
            "impressions": -48.0
          },
          "success": false,
          "conclusion": "rejected",
          "hypothesis": {
            "slug": "forfait-mobile-suisse-roaming-europe",
            "query": "roaming suisse",
            "autonomy": "auto_correctable",
            "baseline": {
              "ctr": 0.0,
              "clicks": 0,
              "position": 20.376543209876544,
              "impressions": 162
            },
            "site_key": "forfaitdeal",
            "reasoning": [
              "article assez mature (36j)",
              "page visible mais à renforcer (20.4)",
              "potentiel impression détecté (162)",
              "perte de clics probable: CTR 0.00% pour 162 impressions",
              "écart concurrentiel aligné avec la requête"
            ],
            "risk_level": "medium",
            "action_type": "content_refresh",
            "playbook_id": "gain_impressions",
            "playbook_name": "Gagner des impressions",
            "primary_metric": "impressions",
            "secondary_metrics": [
              "position",
              "clicks",
              "query_coverage"
            ],
            "expected_direction": "increase"
          },
          "impact_label": "negative",
          "primary_metric_delta": -48.0
        },
        "action_type": "refresh",
        "measurement_id": 38
      }
    },
    {
      "id": 1387,
      "site_key": "forfaitdeal",
      "source_type": "technical_audit",
      "subject_key": "forfaitdeal",
      "payload_json": {
        "gsc": {
          "checked": false
        },
        "pages": [
          {
            "ok": true,
            "url": "https://www.forfaitdeal.ch",
            "error": "",
            "noindex": false,
            "canonical": "https://www.forfaitdeal.ch/",
            "final_url": "https://www.forfaitdeal.ch/",
            "indexable": true,
            "redirected": false,
            "robots_meta": "",
            "status_code": 200,
            "x_robots_tag": "",
            "redirect_chain": [],
            "robots_allowed": true,
            "canonical_present": true,
            "canonical_matches_url": true
          },
          {
            "ok": true,
            "url": "https://www.forfaitdeal.ch/blog",
            "error": "",
            "noindex": false,
            "canonical": "https://www.forfaitdeal.ch/blog",
            "final_url": "https://www.forfaitdeal.ch/blog",
            "indexable": true,
            "redirected": false,
            "robots_meta": "",
            "status_code": 200,
            "x_robots_tag": "",
            "redirect_chain": [],
            "robots_allowed": true,
            "canonical_present": true,
            "canonical_matches_url": true
          }
        ],
        "robots": {
          "ok": true,
          "url": "https://www.forfaitdeal.ch/robots.txt",
          "error": "",
          "sitemaps": [
            "https://www.forfaitdeal.ch/sitemap.xml"
          ],
          "blocks_all": false,
          "rules_text": "User-agent: *\nAllow: /\n\nSitemap: https://www.forfaitdeal.ch/sitemap.xml\n",
          "status_code": 200
        },
        "status": "ok",
        "checked": true,
        "sitemap": {
          "ok": true,
          "checked": [
            {
              "ok": true,
              "url": "https://www.forfaitdeal.ch/sitemap.xml",
              "error": "",
              "root_tag": "urlset",
              "url_count": 24,
              "valid_xml": true,
              "status_code": 200,
              "child_checked": [],
              "child_sitemaps": [],
              "listed_sample_urls": [
                "https://www.forfaitdeal.ch/",
                "https://www.forfaitdeal.ch/comparateur",
                "https://www.forfaitdeal.ch/abonnement-mobile-suisse",
                "https://www.forfaitdeal.ch/comparateur-abonnement-mobile-suisse",
                "https://www.forfaitdeal.ch/forfait-mobile-suisse",
                "https://www.forfaitdeal.ch/forfait-mobile-sans-engagement",
                "https://www.forfaitdeal.ch/forfait-mobile-5g-suisse",
                "https://www.forfaitdeal.ch/roaming-suisse",
                "https://www.forfaitdeal.ch/blog",
                "https://www.forfaitdeal.ch/methodologie",
                "https://www.forfaitdeal.ch/confidentialite",
                "https://www.forfaitdeal.ch/blog/roaming-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-mobile-famille-suisse",
                "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
                "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
                "https://www.forfaitdeal.ch/blog/quel-abonnement-swisscom-choisir",
                "https://www.forfaitdeal.ch/blog/mvno-swisscom",
                "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-esim-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
                "https://www.forfaitdeal.ch/blog/abonnement-mobile"
              ]
            }
          ],
          "selected": {
            "ok": true,
            "url": "https://www.forfaitdeal.ch/sitemap.xml",
            "error": "",
            "root_tag": "urlset",
            "url_count": 24,
            "valid_xml": true,
            "status_code": 200,
            "child_checked": [],
            "child_sitemaps": [],
            "listed_sample_urls": [
              "https://www.forfaitdeal.ch/",
              "https://www.forfaitdeal.ch/comparateur",
              "https://www.forfaitdeal.ch/abonnement-mobile-suisse",
              "https://www.forfaitdeal.ch/comparateur-abonnement-mobile-suisse",
              "https://www.forfaitdeal.ch/forfait-mobile-suisse",
              "https://www.forfaitdeal.ch/forfait-mobile-sans-engagement",
              "https://www.forfaitdeal.ch/forfait-mobile-5g-suisse",
              "https://www.forfaitdeal.ch/roaming-suisse",
              "https://www.forfaitdeal.ch/blog",
              "https://www.forfaitdeal.ch/methodologie",
              "https://www.forfaitdeal.ch/confidentialite",
              "https://www.forfaitdeal.ch/blog/roaming-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-mobile-famille-suisse",
              "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
              "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
              "https://www.forfaitdeal.ch/blog/quel-abonnement-swisscom-choisir",
              "https://www.forfaitdeal.ch/blog/mvno-swisscom",
              "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-esim-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
              "https://www.forfaitdeal.ch/blog/abonnement-mobile"
            ]
          }
        },
        "site_key": "forfaitdeal",
        "warnings": [
          "URL GSC redirigée: https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse -> https://www.forfaitdeal.ch/blog/abonnement-mobile",
          "LCP mobile élevé (3008 ms)"
        ],
        "pagespeed": {
          "ok": true,
          "cls": 0.066347,
          "inp_ms": 85.0,
          "lcp_ms": 3008.4034554877235,
          "mobile": {
            "ok": true,
            "cls": 0.066347,
            "inp_ms": 85.0,
            "lcp_ms": 3008.4034554877235,
            "source": "pagespeed_insights",
            "strategy": "mobile",
            "performance_score": 90.0
          },
          "source": "pagespeed_insights",
          "desktop": {
            "ok": true,
            "cls": 0.009877,
            "inp_ms": 65.0,
            "lcp_ms": 688.405570760002,
            "source": "pagespeed_insights",
            "strategy": "desktop",
            "performance_score": 100.0
          },
          "strategy": "mobile",
          "performance_score": 90.0
        },
        "gsc_live_urls": {
          "urls": [
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "error": "",
              "clicks": 0,
              "position": 20.640350877192983,
              "canonical": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "final_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "indexable": true,
              "top_query": "roaming suisse",
              "redirected": false,
              "impressions": 114,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
              "error": "",
              "clicks": 0,
              "position": 8.795918367346939,
              "canonical": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
              "indexable": true,
              "top_query": "comment changer d'opérateur mobile",
              "redirected": false,
              "impressions": 49,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.03225806451612903,
              "url": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
              "error": "",
              "clicks": 1,
              "position": 10.32258064516129,
              "canonical": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
              "indexable": true,
              "top_query": "",
              "redirected": false,
              "impressions": 31,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
              "error": "",
              "clicks": 0,
              "position": 10.225806451612904,
              "canonical": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
              "final_url": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
              "indexable": true,
              "top_query": "swisscom résiliation",
              "redirected": false,
              "impressions": 31,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
              "error": "",
              "clicks": 0,
              "position": 6.565217391304348,
              "canonical": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
              "indexable": true,
              "top_query": "",
              "redirected": false,
              "impressions": 23,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse",
              "error": "",
              "clicks": 0,
              "position": 10.466666666666667,
              "canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "indexable": true,
              "top_query": "",
              "redirected": true,
              "impressions": 15,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog",
              "error": "",
              "clicks": 0,
              "position": 14.375,
              "canonical": "https://www.forfaitdeal.ch/blog",
              "final_url": "https://www.forfaitdeal.ch/blog",
              "indexable": true,
              "top_query": "comparatif abonnement mobile suisse",
              "redirected": false,
              "impressions": 8,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "error": "",
              "clicks": 0,
              "position": 20.25,
              "canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "indexable": true,
              "top_query": "abonnements mobiles pas chers",
              "redirected": false,
              "impressions": 8,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
              "error": "",
              "clicks": 0,
              "position": 19.125,
              "canonical": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
              "indexable": true,
              "top_query": "comparateur forfait mobile suisse",
              "redirected": false,
              "impressions": 8,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
              "error": "",
              "clicks": 0,
              "position": 11.6,
              "canonical": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
              "indexable": true,
              "top_query": "",
              "redirected": false,
              "impressions": 5,
              "status_code": 200
            }
          ],
          "source": "gsc_pages_28d",
          "checked": true,
          "broken_urls": [],
          "broken_count": 0,
          "checked_count": 10,
          "redirected_urls": [
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse",
              "error": "",
              "clicks": 0,
              "position": 10.466666666666667,
              "canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "indexable": true,
              "top_query": "",
              "redirected": true,
              "impressions": 15,
              "status_code": 200
            }
          ],
          "redirected_count": 1,
          "snapshot_saved_at": "2026-06-09T18:15:05.175276Z"
        },
        "blocking_issues": [],
        "safe_to_optimize": true,
        "sitemap_coverage": {
          "checked": true,
          "missing_urls": [],
          "expected_urls": [
            "https://www.forfaitdeal.ch",
            "https://www.forfaitdeal.ch/blog"
          ],
          "listed_url_sample_size": 24
        },
        "deployment_health": {
          "checked": false
        },
        "technical_health_score": 90
      },
      "recorded_at": "2026-06-10 00:06:56.710199+00:00",
      "payload": {
        "gsc": {
          "checked": false
        },
        "pages": [
          {
            "ok": true,
            "url": "https://www.forfaitdeal.ch",
            "error": "",
            "noindex": false,
            "canonical": "https://www.forfaitdeal.ch/",
            "final_url": "https://www.forfaitdeal.ch/",
            "indexable": true,
            "redirected": false,
            "robots_meta": "",
            "status_code": 200,
            "x_robots_tag": "",
            "redirect_chain": [],
            "robots_allowed": true,
            "canonical_present": true,
            "canonical_matches_url": true
          },
          {
            "ok": true,
            "url": "https://www.forfaitdeal.ch/blog",
            "error": "",
            "noindex": false,
            "canonical": "https://www.forfaitdeal.ch/blog",
            "final_url": "https://www.forfaitdeal.ch/blog",
            "indexable": true,
            "redirected": false,
            "robots_meta": "",
            "status_code": 200,
            "x_robots_tag": "",
            "redirect_chain": [],
            "robots_allowed": true,
            "canonical_present": true,
            "canonical_matches_url": true
          }
        ],
        "robots": {
          "ok": true,
          "url": "https://www.forfaitdeal.ch/robots.txt",
          "error": "",
          "sitemaps": [
            "https://www.forfaitdeal.ch/sitemap.xml"
          ],
          "blocks_all": false,
          "rules_text": "User-agent: *\nAllow: /\n\nSitemap: https://www.forfaitdeal.ch/sitemap.xml\n",
          "status_code": 200
        },
        "status": "ok",
        "checked": true,
        "sitemap": {
          "ok": true,
          "checked": [
            {
              "ok": true,
              "url": "https://www.forfaitdeal.ch/sitemap.xml",
              "error": "",
              "root_tag": "urlset",
              "url_count": 24,
              "valid_xml": true,
              "status_code": 200,
              "child_checked": [],
              "child_sitemaps": [],
              "listed_sample_urls": [
                "https://www.forfaitdeal.ch/",
                "https://www.forfaitdeal.ch/comparateur",
                "https://www.forfaitdeal.ch/abonnement-mobile-suisse",
                "https://www.forfaitdeal.ch/comparateur-abonnement-mobile-suisse",
                "https://www.forfaitdeal.ch/forfait-mobile-suisse",
                "https://www.forfaitdeal.ch/forfait-mobile-sans-engagement",
                "https://www.forfaitdeal.ch/forfait-mobile-5g-suisse",
                "https://www.forfaitdeal.ch/roaming-suisse",
                "https://www.forfaitdeal.ch/blog",
                "https://www.forfaitdeal.ch/methodologie",
                "https://www.forfaitdeal.ch/confidentialite",
                "https://www.forfaitdeal.ch/blog/roaming-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-mobile-famille-suisse",
                "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
                "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
                "https://www.forfaitdeal.ch/blog/quel-abonnement-swisscom-choisir",
                "https://www.forfaitdeal.ch/blog/mvno-swisscom",
                "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-esim-suisse",
                "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
                "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
                "https://www.forfaitdeal.ch/blog/abonnement-mobile"
              ]
            }
          ],
          "selected": {
            "ok": true,
            "url": "https://www.forfaitdeal.ch/sitemap.xml",
            "error": "",
            "root_tag": "urlset",
            "url_count": 24,
            "valid_xml": true,
            "status_code": 200,
            "child_checked": [],
            "child_sitemaps": [],
            "listed_sample_urls": [
              "https://www.forfaitdeal.ch/",
              "https://www.forfaitdeal.ch/comparateur",
              "https://www.forfaitdeal.ch/abonnement-mobile-suisse",
              "https://www.forfaitdeal.ch/comparateur-abonnement-mobile-suisse",
              "https://www.forfaitdeal.ch/forfait-mobile-suisse",
              "https://www.forfaitdeal.ch/forfait-mobile-sans-engagement",
              "https://www.forfaitdeal.ch/forfait-mobile-5g-suisse",
              "https://www.forfaitdeal.ch/roaming-suisse",
              "https://www.forfaitdeal.ch/blog",
              "https://www.forfaitdeal.ch/methodologie",
              "https://www.forfaitdeal.ch/confidentialite",
              "https://www.forfaitdeal.ch/blog/roaming-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-mobile-famille-suisse",
              "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
              "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
              "https://www.forfaitdeal.ch/blog/quel-abonnement-swisscom-choisir",
              "https://www.forfaitdeal.ch/blog/mvno-swisscom",
              "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-esim-suisse",
              "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
              "https://www.forfaitdeal.ch/blog/abonnement-mobile"
            ]
          }
        },
        "site_key": "forfaitdeal",
        "warnings": [
          "URL GSC redirigée: https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse -> https://www.forfaitdeal.ch/blog/abonnement-mobile",
          "LCP mobile élevé (3008 ms)"
        ],
        "pagespeed": {
          "ok": true,
          "cls": 0.066347,
          "inp_ms": 85.0,
          "lcp_ms": 3008.4034554877235,
          "mobile": {
            "ok": true,
            "cls": 0.066347,
            "inp_ms": 85.0,
            "lcp_ms": 3008.4034554877235,
            "source": "pagespeed_insights",
            "strategy": "mobile",
            "performance_score": 90.0
          },
          "source": "pagespeed_insights",
          "desktop": {
            "ok": true,
            "cls": 0.009877,
            "inp_ms": 65.0,
            "lcp_ms": 688.405570760002,
            "source": "pagespeed_insights",
            "strategy": "desktop",
            "performance_score": 100.0
          },
          "strategy": "mobile",
          "performance_score": 90.0
        },
        "gsc_live_urls": {
          "urls": [
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "error": "",
              "clicks": 0,
              "position": 20.640350877192983,
              "canonical": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "final_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
              "indexable": true,
              "top_query": "roaming suisse",
              "redirected": false,
              "impressions": 114,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
              "error": "",
              "clicks": 0,
              "position": 8.795918367346939,
              "canonical": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
              "indexable": true,
              "top_query": "comment changer d'opérateur mobile",
              "redirected": false,
              "impressions": 49,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.03225806451612903,
              "url": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
              "error": "",
              "clicks": 1,
              "position": 10.32258064516129,
              "canonical": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
              "indexable": true,
              "top_query": "",
              "redirected": false,
              "impressions": 31,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
              "error": "",
              "clicks": 0,
              "position": 10.225806451612904,
              "canonical": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
              "final_url": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
              "indexable": true,
              "top_query": "swisscom résiliation",
              "redirected": false,
              "impressions": 31,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
              "error": "",
              "clicks": 0,
              "position": 6.565217391304348,
              "canonical": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
              "indexable": true,
              "top_query": "",
              "redirected": false,
              "impressions": 23,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse",
              "error": "",
              "clicks": 0,
              "position": 10.466666666666667,
              "canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "indexable": true,
              "top_query": "",
              "redirected": true,
              "impressions": 15,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog",
              "error": "",
              "clicks": 0,
              "position": 14.375,
              "canonical": "https://www.forfaitdeal.ch/blog",
              "final_url": "https://www.forfaitdeal.ch/blog",
              "indexable": true,
              "top_query": "comparatif abonnement mobile suisse",
              "redirected": false,
              "impressions": 8,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "error": "",
              "clicks": 0,
              "position": 20.25,
              "canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "indexable": true,
              "top_query": "abonnements mobiles pas chers",
              "redirected": false,
              "impressions": 8,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
              "error": "",
              "clicks": 0,
              "position": 19.125,
              "canonical": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
              "indexable": true,
              "top_query": "comparateur forfait mobile suisse",
              "redirected": false,
              "impressions": 8,
              "status_code": 200
            },
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
              "error": "",
              "clicks": 0,
              "position": 11.6,
              "canonical": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
              "final_url": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
              "indexable": true,
              "top_query": "",
              "redirected": false,
              "impressions": 5,
              "status_code": 200
            }
          ],
          "source": "gsc_pages_28d",
          "checked": true,
          "broken_urls": [],
          "broken_count": 0,
          "checked_count": 10,
          "redirected_urls": [
            {
              "ok": true,
              "ctr": 0.0,
              "url": "https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse",
              "error": "",
              "clicks": 0,
              "position": 10.466666666666667,
              "canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
              "indexable": true,
              "top_query": "",
              "redirected": true,
              "impressions": 15,
              "status_code": 200
            }
          ],
          "redirected_count": 1,
          "snapshot_saved_at": "2026-06-09T18:15:05.175276Z"
        },
        "blocking_issues": [],
        "safe_to_optimize": true,
        "sitemap_coverage": {
          "checked": true,
          "missing_urls": [],
          "expected_urls": [
            "https://www.forfaitdeal.ch",
            "https://www.forfaitdeal.ch/blog"
          ],
          "listed_url_sample_size": 24
        },
        "deployment_health": {
          "checked": false
        },
        "technical_health_score": 90
      }
    }
  ],
  "live_state": {
    "queue": {
      "by_status": {
        "failed": 6,
        "published": 11
      },
      "recent_items": [
        {
          "id": 230,
          "slug": "roaming-suisse",
          "status": "failed",
          "scheduled_at": "2026-05-13T07:00:00+00:00",
          "published_at": null,
          "error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/6gck8h49Ck4eZgEk5V5jpb84HTJ9",
          "attempts": 0
        },
        {
          "id": 103,
          "slug": "forfait-mobile-famille-suisse",
          "status": "failed",
          "scheduled_at": "2026-05-08T07:00:00+00:00",
          "published_at": null,
          "error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/Dd6FLxAvJ7UjydbnkhWKSuJ3XJtC",
          "attempts": 0
        },
        {
          "id": 102,
          "slug": "portabilite-numero-mobile-suisse",
          "status": "failed",
          "scheduled_at": "2026-05-07T07:00:00+00:00",
          "published_at": null,
          "error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/6zomyRRv68WhLxRpiJFMtjmgsxPP",
          "attempts": 0
        },
        {
          "id": 101,
          "slug": "swisscom-resiliation-abonnement",
          "status": "failed",
          "scheduled_at": "2026-05-06T07:00:00+00:00",
          "published_at": null,
          "error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/GNScGHTdsrig2WoRZQsoutLjsMXq",
          "attempts": 0
        },
        {
          "id": 100,
          "slug": "quel-abonnement-swisscom-choisir",
          "status": "failed",
          "scheduled_at": "2026-05-05T07:00:00+00:00",
          "published_at": null,
          "error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/bT9eWtPkK875DkLHcj1vV21i7xC7",
          "attempts": 0
        }
      ]
    },
    "gsc": {
      "saved_at": "2026-06-10T12:15:06.220529Z",
      "top_pages": [
        {
          "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
          "clicks": 0,
          "impressions": 104,
          "ctr": 0.0,
          "position": 20.615384615384617,
          "top_query": "roaming suisse"
        },
        {
          "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
          "clicks": 0,
          "impressions": 49,
          "ctr": 0.0,
          "position": 8.795918367346939,
          "top_query": "comment changer d'opérateur mobile"
        },
        {
          "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
          "clicks": 0,
          "impressions": 31,
          "ctr": 0.0,
          "position": 10.225806451612904,
          "top_query": "swisscom résiliation"
        }
      ],
      "top_queries": [
        {
          "query": "roaming suisse",
          "clicks": 0,
          "impressions": 46,
          "ctr": 0.0,
          "position": 17.565217391304348
        },
        {
          "query": "forfait mobile france suisse",
          "clicks": 0,
          "impressions": 9,
          "ctr": 0.0,
          "position": 61.666666666666664
        },
        {
          "query": "roaming en suisse",
          "clicks": 0,
          "impressions": 6,
          "ctr": 0.0,
          "position": 13.0
        },
        {
          "query": "suisse roaming",
          "clicks": 0,
          "impressions": 5,
          "ctr": 0.0,
          "position": 13.0
        },
        {
          "query": "swisscom résiliation",
          "clicks": 0,
          "impressions": 5,
          "ctr": 0.0,
          "position": 11.6
        }
      ]
    },
    "workflow": {
      "updated_at": "2026-06-10T12:15:06.229435Z",
      "recent_events": [
        {
          "type": "hermes_content_pipeline",
          "payload": {
            "topic": "comparatif forfait mobile suisse",
            "slug": "comparatif-forfait-mobile-suisse",
            "queue_status": "scheduled"
          },
          "recorded_at": "2026-06-10T00:00:43.176887Z"
        },
        {
          "type": "hermes_content_pipeline",
          "payload": {
            "topic": "meilleur forfait mobile suisse",
            "slug": "meilleur-forfait-mobile-suisse",
            "queue_status": "scheduled"
          },
          "recorded_at": "2026-06-10T00:00:53.407260Z"
        },
        {
          "type": "hermes_content_pipeline",
          "payload": {
            "topic": "roaming suisse forfait",
            "slug": "roaming-suisse-forfait",
            "queue_status": "scheduled"
          },
          "recorded_at": "2026-06-10T00:01:03.580876Z"
        },
        {
          "type": "gsc_sync",
          "payload": {
            "pages_7d": 7,
            "pages_28d": 10,
            "queries_7d": 1,
            "queries_28d": 17,
            "page_query_28d": 17
          },
          "recorded_at": "2026-06-10T06:15:05.574258Z"
        },
        {
          "type": "gsc_sync",
          "payload": {
            "pages_7d": 7,
            "pages_28d": 10,
            "queries_7d": 1,
            "queries_28d": 17,
            "page_query_28d": 17
          },
          "recorded_at": "2026-06-10T12:15:06.229263Z"
        }
      ]
    }
  },
  "site_context": {
    "site_key": "forfaitdeal",
    "project_name": "ForfaitDeal",
    "project_type": "repo_files",
    "site_url": "https://www.forfaitdeal.ch",
    "base_url": "https://www.forfaitdeal.ch/blog",
    "gsc_property": "sc-domain:forfaitdeal.ch",
    "gsc_blog_prefix": "https://www.forfaitdeal.ch/blog",
    "agent_mode": "full_autonomy",
    "operator_policy": "agent_driven",
    "primary_market": "ch",
    "target_countries": [
      "ch",
      "fr"
    ],
    "seo_scope": "national",
    "competitors": [
      {
        "label": "Comparis Mobile",
        "url": "https://fr.comparis.ch/telecom/mobile",
        "notes": ""
      },
      {
        "label": "Moneyland Mobile",
        "url": "https://www.moneyland.ch/fr/abonnement-mobile-comparatif",
        "notes": ""
      }
    ],
    "editorial_policy": {
      "queue_target_max": 10,
      "queue_resume_threshold": 2,
      "publish_timezone": "Europe/Paris",
      "publish_hour_local": 9,
      "publish_weekdays_only": true,
      "max_daily_publishes": 1,
      "keyword_min_volume": 50,
      "keyword_max_difficulty": 45
    },
    "image_policy": {
      "style_guardrail": "editorial_photo",
      "subject_focus": "product_objects",
      "allow_humans": "limited",
      "fallback_enabled": true,
      "max_prompt_variants": 5,
      "min_quality_score": 70
    },
    "features": {
      "gsc_enabled": true,
      "writer_gsc_enabled": true,
      "gsc_opportunities_enabled": true,
      "seo_panel_enabled": true,
      "crawler_enabled": true,
      "linkmap_enabled": true
    }
  }
}

Vue knowledge

{
  "site_key": "forfaitdeal",
  "counts": {
    "memory_entries": 214,
    "lessons": 81,
    "sop_documents": 82,
    "events": 280,
    "observations": 401,
    "outcomes": 73,
    "learning_sessions": 60
  },
  "recent_lessons": [
    {
      "id": 197,
      "site_key": "forfaitdeal",
      "category": "ctr_optimization",
      "lesson": "Several visible pages have low CTR. Prioritize title, meta description, and intent alignment refreshes before creating net new content.",
      "confidence": "high",
      "source": "feedback_loop",
      "status": "validated",
      "details_json": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.640350877192983,
            "top_query": "roaming suisse",
            "impressions": 114
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.795918367346939,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 49
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.225806451612904,
            "top_query": "swisscom résiliation",
            "impressions": 31
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
            "clicks": 0,
            "position": 6.565217391304348,
            "top_query": "",
            "impressions": 23
          }
        ]
      },
      "created_at": "2026-06-10 00:00:21.260035+00:00",
      "updated_at": "2026-06-10 00:00:22.058752+00:00",
      "details": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.640350877192983,
            "top_query": "roaming suisse",
            "impressions": 114
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.795918367346939,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 49
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.225806451612904,
            "top_query": "swisscom résiliation",
            "impressions": 31
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
            "clicks": 0,
            "position": 6.565217391304348,
            "top_query": "",
            "impressions": 23
          }
        ]
      }
    },
    {
      "id": 194,
      "site_key": "forfaitdeal",
      "category": "ctr_optimization",
      "lesson": "Several visible pages have low CTR. Prioritize title, meta description, and intent alignment refreshes before creating net new content.",
      "confidence": "high",
      "source": "feedback_loop",
      "status": "deprecated",
      "details_json": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.984,
            "top_query": "roaming suisse",
            "impressions": 125
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.795918367346939,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 49
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.172413793103448,
            "top_query": "swisscom résiliation",
            "impressions": 29
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
            "clicks": 0,
            "position": 6.65,
            "top_query": "",
            "impressions": 20
          }
        ]
      },
      "created_at": "2026-06-09 00:00:22.009138+00:00",
      "updated_at": "2026-06-10 00:00:22.188469+00:00",
      "details": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.984,
            "top_query": "roaming suisse",
            "impressions": 125
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.795918367346939,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 49
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.172413793103448,
            "top_query": "swisscom résiliation",
            "impressions": 29
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
            "clicks": 0,
            "position": 6.65,
            "top_query": "",
            "impressions": 20
          }
        ]
      }
    },
    {
      "id": 191,
      "site_key": "forfaitdeal",
      "category": "ctr_optimization",
      "lesson": "Several visible pages have low CTR. Prioritize title, meta description, and intent alignment refreshes before creating net new content.",
      "confidence": "high",
      "source": "feedback_loop",
      "status": "deprecated",
      "details_json": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.986486486486488,
            "top_query": "roaming suisse",
            "impressions": 148
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.733333333333334,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 45
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.25,
            "top_query": "swisscom résiliation",
            "impressions": 24
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
            "clicks": 0,
            "position": 36.34782608695652,
            "top_query": "comparatif abonnement mobile suisse",
            "impressions": 23
          }
        ]
      },
      "created_at": "2026-06-08 00:00:22.927474+00:00",
      "updated_at": "2026-06-09 00:00:23.568162+00:00",
      "details": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.986486486486488,
            "top_query": "roaming suisse",
            "impressions": 148
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.733333333333334,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 45
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.25,
            "top_query": "swisscom résiliation",
            "impressions": 24
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
            "clicks": 0,
            "position": 36.34782608695652,
            "top_query": "comparatif abonnement mobile suisse",
            "impressions": 23
          }
        ]
      }
    },
    {
      "id": 188,
      "site_key": "forfaitdeal",
      "category": "ctr_optimization",
      "lesson": "Several visible pages have low CTR. Prioritize title, meta description, and intent alignment refreshes before creating net new content.",
      "confidence": "high",
      "source": "feedback_loop",
      "status": "deprecated",
      "details_json": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.986486486486488,
            "top_query": "roaming suisse",
            "impressions": 148
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.733333333333334,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 45
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.25,
            "top_query": "swisscom résiliation",
            "impressions": 24
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
            "clicks": 0,
            "position": 36.34782608695652,
            "top_query": "comparatif abonnement mobile suisse",
            "impressions": 23
          }
        ]
      },
      "created_at": "2026-06-07 00:00:28.174667+00:00",
      "updated_at": "2026-06-08 00:00:23.820283+00:00",
      "details": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.986486486486488,
            "top_query": "roaming suisse",
            "impressions": 148
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.733333333333334,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 45
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.25,
            "top_query": "swisscom résiliation",
            "impressions": 24
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
            "clicks": 0,
            "position": 36.34782608695652,
            "top_query": "comparatif abonnement mobile suisse",
            "impressions": 23
          }
        ]
      }
    },
    {
      "id": 185,
      "site_key": "forfaitdeal",
      "category": "ctr_optimization",
      "lesson": "Several visible pages have low CTR. Prioritize title, meta description, and intent alignment refreshes before creating net new content.",
      "confidence": "high",
      "source": "feedback_loop",
      "status": "deprecated",
      "details_json": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.986486486486488,
            "top_query": "roaming suisse",
            "impressions": 148
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.733333333333334,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 45
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.25,
            "top_query": "swisscom résiliation",
            "impressions": 24
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
            "clicks": 0,
            "position": 36.34782608695652,
            "top_query": "comparatif abonnement mobile suisse",
            "impressions": 23
          }
        ]
      },
      "created_at": "2026-06-06 00:00:20.345629+00:00",
      "updated_at": "2026-06-07 00:00:29.652586+00:00",
      "details": {
        "pages": [
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
            "clicks": 0,
            "position": 20.986486486486488,
            "top_query": "roaming suisse",
            "impressions": 148
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
            "clicks": 0,
            "position": 8.733333333333334,
            "top_query": "comment changer d'opérateur mobile",
            "impressions": 45
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
            "clicks": 0,
            "position": 10.25,
            "top_query": "swisscom résiliation",
            "impressions": 24
          },
          {
            "ctr": 0.0,
            "page": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
            "clicks": 0,
            "position": 36.34782608695652,
            "top_query": "comparatif abonnement mobile suisse",
            "impressions": 23
          }
        ]
      }
    }
  ],
  "recent_sops": [
    {
      "id": 189,
      "site_key": "forfaitdeal",
      "scope": "site",
      "name": "adaptive-feedback-playbook",
      "version": 33,
      "status": "validated",
      "content": "1. Sync and review the latest GSC and queue feedback before planning new work.\n2. If low-CTR pages exist with meaningful impressions, prioritize refreshes before net new drafts.\n3. If the queue is saturated, shift effort from generation to review, optimization, and publishing throughput.\n4. If failures or weak publish outcomes exist, add a verification step before production actions.\n5. Re-measure outcomes after each major SEO action and log the result back into memory.",
      "source": "feedback_loop",
      "created_at": "2026-06-09 00:00:22.202666+00:00",
      "updated_at": "2026-06-10 01:07:02.057102+00:00",
      "confidence_score": 0,
      "confidence_label": "low"
    },
    {
      "id": 1,
      "site_key": "forfaitdeal",
      "scope": "site",
      "name": "content-refresh-playbook",
      "version": 1,
      "status": "draft",
      "content": "1. Check GSC queries.\n2. Refresh title/H1.\n3. Add internal links.\n4. Re-measure after publication.",
      "source": "system",
      "created_at": "2026-04-24 12:53:15.224126+00:00",
      "updated_at": "2026-06-10 01:07:02.087096+00:00",
      "confidence_score": 0,
      "confidence_label": "low"
    },
    {
      "id": 192,
      "site_key": "forfaitdeal",
      "scope": "site",
      "name": "learningseo-site-improvement-playbook",
      "version": 48,
      "status": "draft",
      "content": "1. Treat crawlability, indexation, and internal-link architecture as preconditions before content-scale actions.\n2. Prioritize title/H1/intent refreshes on visible pages before creating new pages for adjacent intents.\n3. Every new or refreshed priority page should receive a deliberate internal-link plan from existing related pages.\n4. Automated actions must emit events, measurements, and postmortems by default.",
      "source": "learningseo_daily",
      "created_at": "2026-06-10 00:00:11.923364+00:00",
      "updated_at": "2026-06-10 01:07:02.070118+00:00",
      "confidence_score": 0,
      "confidence_label": "low"
    },
    {
      "id": 67,
      "site_key": "forfaitdeal",
      "scope": "site",
      "name": "learningseo-site-improvement-playbook",
      "version": 18,
      "status": "deprecated",
      "content": "1. Before new draft creation, verify that the target intent is not already partially served by an existing URL.\n2. Block SOP confidence increases when the latest measured action in the same category is negative.\n3. Treat crawlability, indexation, and internal-link architecture as preconditions before content-scale actions.\n4. Prioritize title/H1/intent refreshes on visible pages before creating new pages for adjacent intents.\n5. Every new or refreshed priority page should receive a deliberate internal-link plan from existing related pages.\n6. Automated actions must emit events, measurements, and postmortems by default.",
      "source": "learningseo_daily",
      "created_at": "2026-05-11 00:00:08.235696+00:00",
      "updated_at": "2026-06-10 01:07:02.670343+00:00",
      "confidence_score": 0,
      "confidence_label": "low"
    },
    {
      "id": 69,
      "site_key": "forfaitdeal",
      "scope": "site",
      "name": "adaptive-feedback-playbook",
      "version": 16,
      "status": "deprecated",
      "content": "1. Sync and review the latest GSC and queue feedback before planning new work.\n2. If low-CTR pages exist with meaningful impressions, prioritize refreshes before net new drafts.\n3. If the queue is saturated, shift effort from generation to review, optimization, and publishing throughput.\n4. If failures or weak publish outcomes exist, add a verification step before production actions.\n5. Re-measure outcomes after each major SEO action and log the result back into memory.",
      "source": "feedback_loop",
      "created_at": "2026-05-11 00:00:15.504592+00:00",
      "updated_at": "2026-06-10 01:07:02.655239+00:00",
      "confidence_score": 0,
      "confidence_label": "low"
    }
  ]
}