{
"site_key": "forfaitdeal",
"task": "obsidian export",
"lessons": [
{
"id": 206,
"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": 21.022988505747126,
"top_query": "roaming suisse",
"impressions": 87
},
{
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.741379310344827,
"top_query": "comment changer d'opérateur mobile",
"impressions": 58
},
{
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
"clicks": 0,
"position": 10.36111111111111,
"top_query": "swisscom résiliation",
"impressions": 36
},
{
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
"clicks": 0,
"position": 6.785714285714286,
"top_query": "",
"impressions": 28
}
]
},
"created_at": "2026-06-13 00:00:20.602741+00:00",
"updated_at": "2026-06-13 00:00:21.561751+00:00",
"details": {
"pages": [
{
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
"clicks": 0,
"position": 21.022988505747126,
"top_query": "roaming suisse",
"impressions": 87
},
{
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.741379310344827,
"top_query": "comment changer d'opérateur mobile",
"impressions": 58
},
{
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
"clicks": 0,
"position": 10.36111111111111,
"top_query": "swisscom résiliation",
"impressions": 36
},
{
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
"clicks": 0,
"position": 6.785714285714286,
"top_query": "",
"impressions": 28
}
]
}
},
{
"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": 208,
"site_key": "forfaitdeal",
"scope": "site",
"name": "adaptive-feedback-playbook",
"version": 35,
"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.",
"source": "feedback_loop",
"created_at": "2026-06-13 00:00:20.779246+00:00",
"updated_at": "2026-06-13 00:00:20.779246+00:00",
"confidence_score": 0,
"confidence_label": "low"
}
],
"recent_memory": [
{
"id": 360,
"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-15T07:00:00+00:00"
}
},
"recorded_at": "2026-06-13 00:00:43.404450+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-15T07:00:00+00:00"
}
}
},
{
"id": 359,
"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-15T07:00:00+00:00"
}
},
"recorded_at": "2026-06-13 00:00:43.208913+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-15T07:00:00+00:00"
}
}
},
{
"id": 358,
"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-15T07:00:00+00:00"
}
},
"recorded_at": "2026-06-13 00:00:32.963758+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-15T07:00:00+00:00"
}
}
},
{
"id": 357,
"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-15T07:00:00+00:00"
}
},
"recorded_at": "2026-06-13 00:00:22.578753+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-15T07:00:00+00:00"
}
}
},
{
"id": 356,
"site_key": "forfaitdeal",
"category": "routine",
"action": "daily_feedback_learning",
"target": "forfaitdeal",
"outcome": "2 lessons derived",
"quality": "good",
"details_json": {
"sop": {
"sop": {
"id": 208,
"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": 35,
"site_key": "forfaitdeal",
"created_at": "2026-06-13 00:00:20.779246+00:00",
"updated_at": "2026-06-13 00:00:20.779246+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": 17,
"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 0x74bef65dc890>: 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 0x74bef89d5dc0>: 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-13 00:00:21.456833+00:00",
"details": {
"sop": {
"sop": {
"id": 208,
"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": 35,
"site_key": "forfaitdeal",
"created_at": "2026-06-13 00:00:20.779246+00:00",
"updated_at": "2026-06-13 00:00:20.779246+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": 17,
"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 0x74bef65dc890>: 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 0x74bef89d5dc0>: 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": 379,
"site_key": "forfaitdeal",
"outcome_type": "gsc_baseline",
"subject_key": "content-refresh:portabilite-numero-mobile-suisse",
"metric_name": "position",
"metric_value": 8.81132075471698,
"payload_json": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
},
"recorded_at": "2026-06-11 00:07:15.683730+00:00",
"payload": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
}
},
{
"id": 378,
"site_key": "forfaitdeal",
"outcome_type": "gsc_baseline",
"subject_key": "content-refresh:portabilite-numero-mobile-suisse",
"metric_name": "ctr",
"metric_value": 0.0,
"payload_json": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
},
"recorded_at": "2026-06-11 00:07:15.673205+00:00",
"payload": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
}
},
{
"id": 377,
"site_key": "forfaitdeal",
"outcome_type": "gsc_baseline",
"subject_key": "content-refresh:portabilite-numero-mobile-suisse",
"metric_name": "impressions",
"metric_value": 53.0,
"payload_json": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
},
"recorded_at": "2026-06-11 00:07:15.662992+00:00",
"payload": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
}
},
{
"id": 376,
"site_key": "forfaitdeal",
"outcome_type": "gsc_baseline",
"subject_key": "content-refresh:portabilite-numero-mobile-suisse",
"metric_name": "clicks",
"metric_value": 0.0,
"payload_json": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
},
"recorded_at": "2026-06-11 00:07:15.653570+00:00",
"payload": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
}
},
{
"id": 375,
"site_key": "forfaitdeal",
"outcome_type": "gsc_baseline",
"subject_key": "refresh:portabilite-numero-mobile-suisse",
"metric_name": "position",
"metric_value": 8.81132075471698,
"payload_json": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
},
"recorded_at": "2026-06-11 00:07:15.578789+00:00",
"payload": {
"row": {
"ctr": 0.0,
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"position": 8.81132075471698,
"top_query": "comment changer d'opérateur mobile",
"impressions": 53
},
"page_url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse"
}
}
],
"recent_observations": [
{
"id": 1479,
"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é (3007 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.066347,
"inp_ms": 103.0,
"lcp_ms": 3007.899906951483,
"mobile": {
"ok": true,
"cls": 0.066347,
"inp_ms": 103.0,
"lcp_ms": 3007.899906951483,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 90.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.009877,
"inp_ms": 96.0,
"lcp_ms": 688.4210841298029,
"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": 21.022988505747126,
"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": 87,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"error": "",
"clicks": 0,
"position": 8.741379310344827,
"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": 58,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
"error": "",
"clicks": 0,
"position": 10.36111111111111,
"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": 36,
"status_code": 200
},
{
"ok": true,
"ctr": 0.03333333333333333,
"url": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
"error": "",
"clicks": 1,
"position": 10.933333333333334,
"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": "comparatif operateurs mobile suisse",
"redirected": false,
"impressions": 30,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
"error": "",
"clicks": 0,
"position": 6.785714285714286,
"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": 28,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse",
"error": "",
"clicks": 0,
"position": 8.538461538461538,
"canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"indexable": true,
"top_query": "",
"redirected": true,
"impressions": 13,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog",
"error": "",
"clicks": 0,
"position": 13.857142857142858,
"canonical": "https://www.forfaitdeal.ch/blog",
"final_url": "https://www.forfaitdeal.ch/blog",
"indexable": true,
"top_query": "comparatif abonnement mobile suisse",
"redirected": false,
"impressions": 7,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
"error": "",
"clicks": 0,
"position": 11.142857142857142,
"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": 7,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"error": "",
"clicks": 0,
"position": 24.666666666666668,
"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": 6,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
"error": "",
"clicks": 0,
"position": 9.5,
"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": "",
"redirected": false,
"impressions": 2,
"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": 8.538461538461538,
"canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"indexable": true,
"top_query": "",
"redirected": true,
"impressions": 13,
"status_code": 200
}
],
"redirected_count": 1,
"snapshot_saved_at": "2026-06-12T18:15:05.142488Z"
},
"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-13 00:06:31.574211+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é (3007 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.066347,
"inp_ms": 103.0,
"lcp_ms": 3007.899906951483,
"mobile": {
"ok": true,
"cls": 0.066347,
"inp_ms": 103.0,
"lcp_ms": 3007.899906951483,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 90.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.009877,
"inp_ms": 96.0,
"lcp_ms": 688.4210841298029,
"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": 21.022988505747126,
"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": 87,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"error": "",
"clicks": 0,
"position": 8.741379310344827,
"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": 58,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
"error": "",
"clicks": 0,
"position": 10.36111111111111,
"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": 36,
"status_code": 200
},
{
"ok": true,
"ctr": 0.03333333333333333,
"url": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
"error": "",
"clicks": 1,
"position": 10.933333333333334,
"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": "comparatif operateurs mobile suisse",
"redirected": false,
"impressions": 30,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
"error": "",
"clicks": 0,
"position": 6.785714285714286,
"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": 28,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse",
"error": "",
"clicks": 0,
"position": 8.538461538461538,
"canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"indexable": true,
"top_query": "",
"redirected": true,
"impressions": 13,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog",
"error": "",
"clicks": 0,
"position": 13.857142857142858,
"canonical": "https://www.forfaitdeal.ch/blog",
"final_url": "https://www.forfaitdeal.ch/blog",
"indexable": true,
"top_query": "comparatif abonnement mobile suisse",
"redirected": false,
"impressions": 7,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
"error": "",
"clicks": 0,
"position": 11.142857142857142,
"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": 7,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"error": "",
"clicks": 0,
"position": 24.666666666666668,
"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": 6,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
"error": "",
"clicks": 0,
"position": 9.5,
"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": "",
"redirected": false,
"impressions": 2,
"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": 8.538461538461538,
"canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"indexable": true,
"top_query": "",
"redirected": true,
"impressions": 13,
"status_code": 200
}
],
"redirected_count": 1,
"snapshot_saved_at": "2026-06-12T18:15:05.142488Z"
},
"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
}
},
{
"id": 1474,
"site_key": "forfaitdeal",
"source_type": "technical_remediation",
"subject_key": "forfaitdeal",
"payload_json": {
"ok": true,
"errors": [],
"actions": [
{
"type": "optimize_lcp",
"value": 2594.2,
"metric": "lcp_ms",
"target": "https://www.forfaitdeal.ch",
"priority": "high",
"threshold": 2500,
"recommended_changes": [
"Identifier l'élément LCP mobile sur la home via PageSpeed/Lighthouse.",
"Optimiser l'image ou le bloc hero responsable: format WebP/AVIF, dimensions adaptées, compression.",
"Précharger ou prioriser uniquement l'asset LCP critique et différer les médias non critiques.",
"Réduire CSS/JS bloquant au-dessus de la ligne de flottaison."
]
}
],
"changed": false,
"attempted": true,
"deployment": {
"ok": true,
"detail": "no_change",
"checked": false
}
},
"recorded_at": "2026-06-13 00:04:06.302725+00:00",
"payload": {
"ok": true,
"errors": [],
"actions": [
{
"type": "optimize_lcp",
"value": 2594.2,
"metric": "lcp_ms",
"target": "https://www.forfaitdeal.ch",
"priority": "high",
"threshold": 2500,
"recommended_changes": [
"Identifier l'élément LCP mobile sur la home via PageSpeed/Lighthouse.",
"Optimiser l'image ou le bloc hero responsable: format WebP/AVIF, dimensions adaptées, compression.",
"Précharger ou prioriser uniquement l'asset LCP critique et différer les médias non critiques.",
"Réduire CSS/JS bloquant au-dessus de la ligne de flottaison."
]
}
],
"changed": false,
"attempted": true,
"deployment": {
"ok": true,
"detail": "no_change",
"checked": false
}
}
},
{
"id": 1473,
"site_key": "forfaitdeal",
"source_type": "technical_audit",
"subject_key": "forfaitdeal",
"payload_json": {
"gsc": {
"ok": true,
"checked": true,
"message": "Connexion GSC OK",
"payload": {
"sample_rows": 1,
"properties_count": 5,
"resolved_property": "sc-domain:forfaitdeal.ch"
},
"sitemap_url": "https://www.forfaitdeal.ch/sitemap.xml",
"sitemap_submission_ready": true
},
"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é (2594 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.066347,
"inp_ms": 84.0,
"lcp_ms": 2594.2209713166085,
"mobile": {
"ok": true,
"cls": 0.066347,
"inp_ms": 84.0,
"lcp_ms": 2594.2209713166085,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 92.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.009877,
"inp_ms": 63.0,
"lcp_ms": 717.3968842409979,
"source": "pagespeed_insights",
"strategy": "desktop",
"performance_score": 99.0
},
"strategy": "mobile",
"performance_score": 92.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": 21.022988505747126,
"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": 87,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"error": "",
"clicks": 0,
"position": 8.741379310344827,
"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": 58,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
"error": "",
"clicks": 0,
"position": 10.36111111111111,
"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": 36,
"status_code": 200
},
{
"ok": true,
"ctr": 0.03333333333333333,
"url": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
"error": "",
"clicks": 1,
"position": 10.933333333333334,
"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": "comparatif operateurs mobile suisse",
"redirected": false,
"impressions": 30,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
"error": "",
"clicks": 0,
"position": 6.785714285714286,
"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": 28,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse",
"error": "",
"clicks": 0,
"position": 8.538461538461538,
"canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"indexable": true,
"top_query": "",
"redirected": true,
"impressions": 13,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog",
"error": "",
"clicks": 0,
"position": 13.857142857142858,
"canonical": "https://www.forfaitdeal.ch/blog",
"final_url": "https://www.forfaitdeal.ch/blog",
"indexable": true,
"top_query": "comparatif abonnement mobile suisse",
"redirected": false,
"impressions": 7,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
"error": "",
"clicks": 0,
"position": 11.142857142857142,
"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": 7,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"error": "",
"clicks": 0,
"position": 24.666666666666668,
"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": 6,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
"error": "",
"clicks": 0,
"position": 9.5,
"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": "",
"redirected": false,
"impressions": 2,
"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": 8.538461538461538,
"canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"indexable": true,
"top_query": "",
"redirected": true,
"impressions": 13,
"status_code": 200
}
],
"redirected_count": 1,
"snapshot_saved_at": "2026-06-12T18:15:05.142488Z"
},
"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-13 00:04:05.156670+00:00",
"payload": {
"gsc": {
"ok": true,
"checked": true,
"message": "Connexion GSC OK",
"payload": {
"sample_rows": 1,
"properties_count": 5,
"resolved_property": "sc-domain:forfaitdeal.ch"
},
"sitemap_url": "https://www.forfaitdeal.ch/sitemap.xml",
"sitemap_submission_ready": true
},
"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é (2594 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.066347,
"inp_ms": 84.0,
"lcp_ms": 2594.2209713166085,
"mobile": {
"ok": true,
"cls": 0.066347,
"inp_ms": 84.0,
"lcp_ms": 2594.2209713166085,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 92.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.009877,
"inp_ms": 63.0,
"lcp_ms": 717.3968842409979,
"source": "pagespeed_insights",
"strategy": "desktop",
"performance_score": 99.0
},
"strategy": "mobile",
"performance_score": 92.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": 21.022988505747126,
"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": 87,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"error": "",
"clicks": 0,
"position": 8.741379310344827,
"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": 58,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
"error": "",
"clicks": 0,
"position": 10.36111111111111,
"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": 36,
"status_code": 200
},
{
"ok": true,
"ctr": 0.03333333333333333,
"url": "https://www.forfaitdeal.ch/blog/comparatif-abonnement-mobile-suisse",
"error": "",
"clicks": 1,
"position": 10.933333333333334,
"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": "comparatif operateurs mobile suisse",
"redirected": false,
"impressions": 30,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-data-suisse",
"error": "",
"clicks": 0,
"position": 6.785714285714286,
"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": 28,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/abonnement-mobile-suisse",
"error": "",
"clicks": 0,
"position": 8.538461538461538,
"canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"indexable": true,
"top_query": "",
"redirected": true,
"impressions": 13,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog",
"error": "",
"clicks": 0,
"position": 13.857142857142858,
"canonical": "https://www.forfaitdeal.ch/blog",
"final_url": "https://www.forfaitdeal.ch/blog",
"indexable": true,
"top_query": "comparatif abonnement mobile suisse",
"redirected": false,
"impressions": 7,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-mobile-5g-suisse",
"error": "",
"clicks": 0,
"position": 11.142857142857142,
"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": 7,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"error": "",
"clicks": 0,
"position": 24.666666666666668,
"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": 6,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.forfaitdeal.ch/blog/forfait-mobile-sans-engagement-suisse",
"error": "",
"clicks": 0,
"position": 9.5,
"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": "",
"redirected": false,
"impressions": 2,
"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": 8.538461538461538,
"canonical": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"final_url": "https://www.forfaitdeal.ch/blog/abonnement-mobile",
"indexable": true,
"top_query": "",
"redirected": true,
"impressions": 13,
"status_code": 200
}
],
"redirected_count": 1,
"snapshot_saved_at": "2026-06-12T18:15:05.142488Z"
},
"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
}
},
{
"id": 1466,
"site_key": "forfaitdeal",
"source_type": "workflow_state",
"subject_key": "recent_events",
"payload_json": {
"events": [
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 1,
"queries_28d": 17,
"page_query_28d": 17
},
"recorded_at": "2026-06-11T12:15:06.106809Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 1,
"queries_28d": 17,
"page_query_28d": 17
},
"recorded_at": "2026-06-11T18:15:05.478360Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 2
},
"recorded_at": "2026-06-12T00:00:21.693058Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"slug": "forfait-mobile-suisse",
"topic": "forfait mobile suisse",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-12T00:00:32.988705Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"slug": "comparatif-forfait-mobile-suisse",
"topic": "comparatif forfait mobile suisse",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-12T00:00:43.455949Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"slug": "meilleur-forfait-mobile-suisse",
"topic": "meilleur forfait mobile suisse",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-12T00:00:53.720932Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"slug": "roaming-suisse-forfait",
"topic": "roaming suisse forfait",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-12T00:01:03.933649Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 0,
"queries_28d": 16,
"page_query_28d": 16
},
"recorded_at": "2026-06-12T06:15:05.650887Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 1,
"queries_28d": 17,
"page_query_28d": 17
},
"recorded_at": "2026-06-12T12:15:06.004758Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 1,
"queries_28d": 17,
"page_query_28d": 17
},
"recorded_at": "2026-06-12T18:15:05.150217Z"
}
]
},
"recorded_at": "2026-06-13 00:00:18.185188+00:00",
"payload": {
"events": [
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 1,
"queries_28d": 17,
"page_query_28d": 17
},
"recorded_at": "2026-06-11T12:15:06.106809Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 1,
"queries_28d": 17,
"page_query_28d": 17
},
"recorded_at": "2026-06-11T18:15:05.478360Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 2
},
"recorded_at": "2026-06-12T00:00:21.693058Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"slug": "forfait-mobile-suisse",
"topic": "forfait mobile suisse",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-12T00:00:32.988705Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"slug": "comparatif-forfait-mobile-suisse",
"topic": "comparatif forfait mobile suisse",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-12T00:00:43.455949Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"slug": "meilleur-forfait-mobile-suisse",
"topic": "meilleur forfait mobile suisse",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-12T00:00:53.720932Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"slug": "roaming-suisse-forfait",
"topic": "roaming suisse forfait",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-12T00:01:03.933649Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 0,
"queries_28d": 16,
"page_query_28d": 16
},
"recorded_at": "2026-06-12T06:15:05.650887Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 1,
"queries_28d": 17,
"page_query_28d": 17
},
"recorded_at": "2026-06-12T12:15:06.004758Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 8,
"pages_28d": 10,
"queries_7d": 1,
"queries_28d": 17,
"page_query_28d": 17
},
"recorded_at": "2026-06-12T18:15:05.150217Z"
}
]
}
},
{
"id": 1465,
"site_key": "forfaitdeal",
"source_type": "queue_state",
"subject_key": "recent_queue",
"payload_json": {
"recent_rows": [
{
"id": 230,
"slug": "roaming-suisse",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/6gck8h49Ck4eZgEk5V5jpb84HTJ9",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-13T07:00:00+00:00"
},
{
"id": 103,
"slug": "forfait-mobile-famille-suisse",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/Dd6FLxAvJ7UjydbnkhWKSuJ3XJtC",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-08T07:00:00+00:00"
},
{
"id": 102,
"slug": "portabilite-numero-mobile-suisse",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/6zomyRRv68WhLxRpiJFMtjmgsxPP",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-07T07:00:00+00:00"
},
{
"id": 101,
"slug": "swisscom-resiliation-abonnement",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/GNScGHTdsrig2WoRZQsoutLjsMXq",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-06T07:00:00+00:00"
},
{
"id": 100,
"slug": "quel-abonnement-swisscom-choisir",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/bT9eWtPkK875DkLHcj1vV21i7xC7",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-05T07:00:00+00:00"
},
{
"id": 99,
"slug": "mvno-swisscom",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/34hpo31aSd4WgYCmgXXpepK453Hq",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-04T07:00:00+00:00"
},
{
"id": 89,
"slug": "comparatif-abonnement-mobile-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 88,
"slug": "abonnement-mobile",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 23,
"slug": "forfait-mobile-suisse-roaming-europe",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 22,
"slug": "forfait-mobile-sans-engagement-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 21,
"slug": "forfait-mobile-5g-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 20,
"slug": "forfait-esim-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 19,
"slug": "forfait-data-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 18,
"slug": "roaming-suisse-forfait",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-02",
"scheduled_at": null
},
{
"id": 17,
"slug": "meilleur-forfait-mobile-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-02",
"scheduled_at": null
},
{
"id": 16,
"slug": "forfait-mobile-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-02",
"scheduled_at": null
},
{
"id": 15,
"slug": "comparatif-forfait-mobile-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-02",
"scheduled_at": null
}
]
},
"recorded_at": "2026-06-13 00:00:18.168835+00:00",
"payload": {
"recent_rows": [
{
"id": 230,
"slug": "roaming-suisse",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/6gck8h49Ck4eZgEk5V5jpb84HTJ9",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-13T07:00:00+00:00"
},
{
"id": 103,
"slug": "forfait-mobile-famille-suisse",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/Dd6FLxAvJ7UjydbnkhWKSuJ3XJtC",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-08T07:00:00+00:00"
},
{
"id": 102,
"slug": "portabilite-numero-mobile-suisse",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/6zomyRRv68WhLxRpiJFMtjmgsxPP",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-07T07:00:00+00:00"
},
{
"id": 101,
"slug": "swisscom-resiliation-abonnement",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/GNScGHTdsrig2WoRZQsoutLjsMXq",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-06T07:00:00+00:00"
},
{
"id": 100,
"slug": "quel-abonnement-swisscom-choisir",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/bT9eWtPkK875DkLHcj1vV21i7xC7",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-05T07:00:00+00:00"
},
{
"id": 99,
"slug": "mvno-swisscom",
"error": "Vercel: ERROR — Command \"npm run build\" exited with 1\nLogs : https://vercel.com/anges-projects-a4da2420/comparateur-mobile/34hpo31aSd4WgYCmgXXpepK453Hq",
"status": "failed",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-05-04T07:00:00+00:00"
},
{
"id": 89,
"slug": "comparatif-abonnement-mobile-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 88,
"slug": "abonnement-mobile",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 23,
"slug": "forfait-mobile-suisse-roaming-europe",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 22,
"slug": "forfait-mobile-sans-engagement-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 21,
"slug": "forfait-mobile-5g-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 20,
"slug": "forfait-esim-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 19,
"slug": "forfait-data-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-04-21",
"scheduled_at": null
},
{
"id": 18,
"slug": "roaming-suisse-forfait",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-02",
"scheduled_at": null
},
{
"id": 17,
"slug": "meilleur-forfait-mobile-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-02",
"scheduled_at": null
},
{
"id": 16,
"slug": "forfait-mobile-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-02",
"scheduled_at": null
},
{
"id": 15,
"slug": "comparatif-forfait-mobile-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-02",
"scheduled_at": null
}
]
}
}
],
"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-12T18:15:05.142488Z",
"top_pages": [
{
"page": "https://www.forfaitdeal.ch/blog/forfait-mobile-suisse-roaming-europe",
"clicks": 0,
"impressions": 87,
"ctr": 0.0,
"position": 21.022988505747126,
"top_query": "roaming suisse"
},
{
"page": "https://www.forfaitdeal.ch/blog/portabilite-numero-mobile-suisse",
"clicks": 0,
"impressions": 58,
"ctr": 0.0,
"position": 8.741379310344827,
"top_query": "comment changer d'opérateur mobile"
},
{
"page": "https://www.forfaitdeal.ch/blog/swisscom-resiliation-abonnement",
"clicks": 0,
"impressions": 36,
"ctr": 0.0,
"position": 10.36111111111111,
"top_query": "swisscom résiliation"
}
],
"top_queries": [
{
"query": "roaming suisse",
"clicks": 0,
"impressions": 40,
"ctr": 0.0,
"position": 17.425
},
{
"query": "forfait mobile france suisse",
"clicks": 0,
"impressions": 9,
"ctr": 0.0,
"position": 61.666666666666664
},
{
"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
},
{
"query": "comparatif abonnement mobile suisse",
"clicks": 0,
"impressions": 3,
"ctr": 0.0,
"position": 18.666666666666668
}
]
},
"workflow": {
"updated_at": "2026-06-13T00:00:43.385382Z",
"recent_events": [
{
"type": "hermes_daily_feedback_learning",
"payload": {
"lessons_created": 2,
"sop_name": "adaptive-feedback-playbook"
},
"recorded_at": "2026-06-13T00:00:21.366708Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"topic": "forfait mobile suisse",
"slug": "forfait-mobile-suisse",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-13T00:00:22.463313Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"topic": "comparatif forfait mobile suisse",
"slug": "comparatif-forfait-mobile-suisse",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-13T00:00:32.894771Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"topic": "meilleur forfait mobile suisse",
"slug": "meilleur-forfait-mobile-suisse",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-13T00:00:43.183911Z"
},
{
"type": "hermes_content_pipeline",
"payload": {
"topic": "roaming suisse forfait",
"slug": "roaming-suisse-forfait",
"queue_status": "scheduled"
},
"recorded_at": "2026-06-13T00:00:43.385185Z"
}
]
}
},
"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
}
}
}