LLM Pack optiprime
Site : optiprime
Usage
Ce document sert de contexte compact pour un humain ou un LLM externe. Il duplique l’essentiel de la base machine en Markdown lisible.
Pack JSON
{
"site": "optiprime",
"market": {
"primary_market": "ch",
"target_countries": [
"ch",
"fr"
],
"seo_scope": "national"
},
"context_pack": {
"site_key": "optiprime",
"task": "external llm pack",
"lessons": [
{
"id": 14,
"category": "measurement",
"lesson": "Toujours mesurer après action.",
"confidence": "high",
"status": "validated"
},
{
"id": 17,
"category": "measurement",
"lesson": "Measured SEO actions are generating positive post-action deltas. Increase trust in SOPs that led to these actions.",
"confidence": "high",
"status": "validated"
},
{
"id": 18,
"category": "measurement",
"lesson": "Mesurer après publication améliore la qualité des SOP.",
"confidence": "high",
"status": "validated"
},
{
"id": 10,
"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",
"status": "deprecated"
},
{
"id": 15,
"category": "postmortem",
"lesson": "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.",
"confidence": "high",
"status": "draft"
},
{
"id": 196,
"site_key": "optiprime",
"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.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"clicks": 0,
"position": 28.382395382395384,
"top_query": "comparer assurance obligatoire",
"impressions": 693
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog",
"clicks": 0,
"position": 31.540697674418606,
"top_query": "classement assurance de base",
"impressions": 344
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"clicks": 0,
"position": 20.55140186915888,
"top_query": "classement assurance de base",
"impressions": 321
},
{
"ctr": 0.005263157894736842,
"page": "https://www.optiprime.ch/blog/assurance-maladie",
"clicks": 1,
"position": 21.6,
"top_query": "guide assurance maladie suisse",
"impressions": 190
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"clicks": 0,
"position": 56.19310344827586,
"top_query": "comparaison caisses maladie suisse",
"impressions": 145
}
]
},
"created_at": "2026-06-10 00:00:16.371114+00:00",
"updated_at": "2026-06-10 00:00:17.552997+00:00",
"details": {
"pages": [
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"clicks": 0,
"position": 28.382395382395384,
"top_query": "comparer assurance obligatoire",
"impressions": 693
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog",
"clicks": 0,
"position": 31.540697674418606,
"top_query": "classement assurance de base",
"impressions": 344
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"clicks": 0,
"position": 20.55140186915888,
"top_query": "classement assurance de base",
"impressions": 321
},
{
"ctr": 0.005263157894736842,
"page": "https://www.optiprime.ch/blog/assurance-maladie",
"clicks": 1,
"position": 21.6,
"top_query": "guide assurance maladie suisse",
"impressions": 190
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"clicks": 0,
"position": 56.19310344827586,
"top_query": "comparaison caisses maladie suisse",
"impressions": 145
}
]
}
},
{
"id": 124,
"site_key": "optiprime",
"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-16 00:00:12.014717+00:00",
"updated_at": "2026-05-16 00:00:12.496888+00:00",
"details": {
"failed_count": 0,
"queued_count": 5
}
}
],
"sops": [
{
"id": 8,
"name": "adaptive-feedback-playbook",
"scope": "site",
"status": "deprecated",
"content": "Toujours mesurer après action."
}
],
"recent_memory": [
{
"id": 334,
"site_key": "optiprime",
"category": "routine",
"action": "daily_feedback_learning",
"target": "optiprime",
"outcome": "1 lessons derived",
"quality": "good",
"details_json": {
"sop": {
"sop": {
"id": 188,
"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": 30,
"site_key": "optiprime",
"created_at": "2026-06-09 00:00:18.456194+00:00",
"updated_at": "2026-06-10 00:00:16.537695+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 114,
"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 0x7d37255c6330>: 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": "optiprime",
"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 0x7d37255c46b0>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
},
"recorded_at": "2026-06-10 00:00:17.436672+00:00",
"details": {
"sop": {
"sop": {
"id": 188,
"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": 30,
"site_key": "optiprime",
"created_at": "2026-06-09 00:00:18.456194+00:00",
"updated_at": "2026-06-10 00:00:16.537695+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 114,
"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 0x7d37255c6330>: 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": "optiprime",
"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 0x7d37255c46b0>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
}
},
{
"id": 327,
"site_key": "optiprime",
"category": "routine",
"action": "daily_feedback_learning",
"target": "optiprime",
"outcome": "1 lessons derived",
"quality": "good",
"details_json": {
"sop": {
"sop": {
"id": 188,
"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": 30,
"site_key": "optiprime",
"created_at": "2026-06-09 00:00:18.456194+00:00",
"updated_at": "2026-06-09 00:00:18.456194+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 111,
"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 0x761de5eca300>: 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": "optiprime",
"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 0x761de5ec8680>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
},
"recorded_at": "2026-06-09 00:00:19.028437+00:00",
"details": {
"sop": {
"sop": {
"id": 188,
"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": 30,
"site_key": "optiprime",
"created_at": "2026-06-09 00:00:18.456194+00:00",
"updated_at": "2026-06-09 00:00:18.456194+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 111,
"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 0x761de5eca300>: 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": "optiprime",
"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 0x761de5ec8680>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
}
},
{
"id": 320,
"site_key": "optiprime",
"category": "routine",
"action": "daily_feedback_learning",
"target": "optiprime",
"outcome": "1 lessons derived",
"quality": "good",
"details_json": {
"sop": {
"sop": {
"id": 182,
"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": 29,
"site_key": "optiprime",
"created_at": "2026-06-08 00:00:19.263269+00:00",
"updated_at": "2026-06-08 00:00:19.263269+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 107,
"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 0x7e6095002360>: 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": "optiprime",
"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 0x7e60950006e0>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
},
"recorded_at": "2026-06-08 00:00:19.870649+00:00",
"details": {
"sop": {
"sop": {
"id": 182,
"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": 29,
"site_key": "optiprime",
"created_at": "2026-06-08 00:00:19.263269+00:00",
"updated_at": "2026-06-08 00:00:19.263269+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 107,
"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 0x7e6095002360>: 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": "optiprime",
"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 0x7e60950006e0>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
}
},
{
"id": 313,
"site_key": "optiprime",
"category": "routine",
"action": "daily_feedback_learning",
"target": "optiprime",
"outcome": "1 lessons derived",
"quality": "good",
"details_json": {
"sop": {
"sop": {
"id": 173,
"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": 28,
"site_key": "optiprime",
"created_at": "2026-06-06 00:00:16.598122+00:00",
"updated_at": "2026-06-07 00:00:23.485673+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 107,
"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 0x70633de562d0>: 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": "optiprime",
"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 0x70633de54650>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
},
"recorded_at": "2026-06-07 00:00:24.000244+00:00",
"details": {
"sop": {
"sop": {
"id": 173,
"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": 28,
"site_key": "optiprime",
"created_at": "2026-06-06 00:00:16.598122+00:00",
"updated_at": "2026-06-07 00:00:23.485673+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 107,
"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 0x70633de562d0>: 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": "optiprime",
"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 0x70633de54650>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
}
},
{
"id": 306,
"site_key": "optiprime",
"category": "routine",
"action": "daily_feedback_learning",
"target": "optiprime",
"outcome": "1 lessons derived",
"quality": "good",
"details_json": {
"sop": {
"sop": {
"id": 173,
"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": 28,
"site_key": "optiprime",
"created_at": "2026-06-06 00:00:16.598122+00:00",
"updated_at": "2026-06-06 00:00:16.598122+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 107,
"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 0x76ba3d81a3c0>: 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": "optiprime",
"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 0x76ba3d818740>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
},
"recorded_at": "2026-06-06 00:00:17.416325+00:00",
"details": {
"sop": {
"sop": {
"id": 173,
"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": 28,
"site_key": "optiprime",
"created_at": "2026-06-06 00:00:16.598122+00:00",
"updated_at": "2026-06-06 00:00:16.598122+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 107,
"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 0x76ba3d81a3c0>: 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": "optiprime",
"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 0x76ba3d818740>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
}
},
{
"id": 299,
"site_key": "optiprime",
"category": "routine",
"action": "daily_feedback_learning",
"target": "optiprime",
"outcome": "1 lessons derived",
"quality": "good",
"details_json": {
"sop": {
"sop": {
"id": 164,
"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": 27,
"site_key": "optiprime",
"created_at": "2026-06-04 00:00:17.979111+00:00",
"updated_at": "2026-06-05 00:00:19.381603+00:00",
"confidence_label": "high",
"confidence_score": 100
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 107,
"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 0x7f97205065a0>: 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": "optiprime",
"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 0x7f9720504920>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
},
"recorded_at": "2026-06-05 00:00:20.056662+00:00",
"details": {
"sop": {
"sop": {
"id": 164,
"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": 27,
"site_key": "optiprime",
"created_at": "2026-06-04 00:00:17.979111+00:00",
"updated_at": "2026-06-05 00:00:19.381603+00:00",
"confidence_label": "high",
"confidence_score": 100
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 107,
"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 0x7f97205065a0>: 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": "optiprime",
"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 0x7f9720504920>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
}
},
{
"id": 292,
"site_key": "optiprime",
"category": "routine",
"action": "daily_feedback_learning",
"target": "optiprime",
"outcome": "1 lessons derived",
"quality": "good",
"details_json": {
"sop": {
"sop": {
"id": 164,
"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": 27,
"site_key": "optiprime",
"created_at": "2026-06-04 00:00:17.979111+00:00",
"updated_at": "2026-06-04 00:00:17.979111+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 110,
"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 0x77e22bc16300>: 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": "optiprime",
"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 0x77e22bc14680>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
},
"recorded_at": "2026-06-04 00:00:18.367152+00:00",
"details": {
"sop": {
"sop": {
"id": 164,
"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": 27,
"site_key": "optiprime",
"created_at": "2026-06-04 00:00:17.979111+00:00",
"updated_at": "2026-06-04 00:00:17.979111+00:00",
"confidence_label": "low",
"confidence_score": 0
},
"evidence": {
"lesson_count": 20,
"outcome_count": 10,
"observation_count": 10
},
"site_key": "optiprime"
},
"feedback": {
"site_key": "optiprime",
"gsc_pages": 5,
"queue_rows": 20,
"gsc_queries": 110,
"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 0x77e22bc16300>: 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": "optiprime",
"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 0x77e22bc14680>: Failed to establish a new connection: [Errno 111] Connection refused'))",
"alerts_ok": false,
"overview_ok": false,
"health_score": null
},
"project_name": "Optiprime"
}
}
}
],
"recent_outcomes": [
{
"id": 359,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:guide-assurance-maladie-suisse",
"metric_name": "position",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
},
"recorded_at": "2026-06-10 09:00:03.588047+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
}
},
{
"id": 358,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:guide-assurance-maladie-suisse",
"metric_name": "ctr",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
},
"recorded_at": "2026-06-10 09:00:03.562809+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
}
},
{
"id": 357,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:guide-assurance-maladie-suisse",
"metric_name": "impressions",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
},
"recorded_at": "2026-06-10 09:00:03.536046+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
}
},
{
"id": 356,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:guide-assurance-maladie-suisse",
"metric_name": "clicks",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
},
"recorded_at": "2026-06-10 09:00:03.509812+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
}
},
{
"id": 343,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:meilleures-caisses-maladie-suisse-2026",
"metric_name": "position",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
},
"recorded_at": "2026-06-09 09:00:04.219677+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
}
}
],
"recent_observations": [
{
"id": 1394,
"site_key": "optiprime",
"source_type": "measurement_scheduled",
"subject_key": "publish:guide-assurance-maladie-suisse",
"payload_json": {
"due_at": "2026-06-24T09:00:03.599356Z",
"details": {
"slug": "guide-assurance-maladie-suisse",
"queue_id": 293
},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"action_type": "publish",
"measurement_id": 48
},
"recorded_at": "2026-06-10 09:00:03.644756+00:00",
"payload": {
"due_at": "2026-06-24T09:00:03.599356Z",
"details": {
"slug": "guide-assurance-maladie-suisse",
"queue_id": 293
},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"action_type": "publish",
"measurement_id": 48
}
},
{
"id": 1386,
"site_key": "optiprime",
"source_type": "technical_audit",
"subject_key": "optiprime",
"payload_json": {
"gsc": {
"checked": false
},
"pages": [
{
"ok": true,
"url": "https://www.optiprime.ch",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch",
"final_url": "https://www.optiprime.ch/",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
},
{
"ok": true,
"url": "https://www.optiprime.ch/blog",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
}
],
"robots": {
"ok": true,
"url": "https://www.optiprime.ch/robots.txt",
"error": "",
"sitemaps": [
"https://www.optiprime.ch/sitemap.xml"
],
"blocks_all": false,
"rules_text": "User-Agent: *\nAllow: /\n\nHost: https://www.optiprime.ch\nSitemap: https://www.optiprime.ch/sitemap.xml\n",
"status_code": 200
},
"status": "ok",
"checked": true,
"sitemap": {
"ok": true,
"checked": [
{
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
],
"selected": {
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
},
"site_key": "optiprime",
"warnings": [
"LCP mobile élevé (3017 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.0,
"inp_ms": 57.0,
"lcp_ms": 3017.195338073276,
"mobile": {
"ok": true,
"cls": 0.0,
"inp_ms": 57.0,
"lcp_ms": 3017.195338073276,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 90.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.001884,
"inp_ms": 61.0,
"lcp_ms": 688.3998788523573,
"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.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"error": "",
"clicks": 0,
"position": 28.382395382395384,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"indexable": true,
"top_query": "comparer assurance obligatoire",
"redirected": false,
"impressions": 693,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog",
"error": "",
"clicks": 0,
"position": 31.540697674418606,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 344,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"error": "",
"clicks": 0,
"position": 20.55140186915888,
"canonical": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"final_url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 321,
"status_code": 200
},
{
"ok": true,
"ctr": 0.005263157894736842,
"url": "https://www.optiprime.ch/blog/assurance-maladie",
"error": "",
"clicks": 1,
"position": 21.6,
"canonical": "https://www.optiprime.ch/assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/assurance-maladie",
"indexable": true,
"top_query": "guide assurance maladie suisse",
"redirected": false,
"impressions": 190,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"error": "",
"clicks": 0,
"position": 56.19310344827586,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"indexable": true,
"top_query": "comparaison caisses maladie suisse",
"redirected": false,
"impressions": 145,
"status_code": 200
}
],
"source": "gsc_pages_28d",
"checked": true,
"broken_urls": [],
"broken_count": 0,
"checked_count": 5,
"redirected_urls": [],
"redirected_count": 0,
"snapshot_saved_at": "2026-06-09T18:15:03.464697Z"
},
"blocking_issues": [],
"safe_to_optimize": true,
"sitemap_coverage": {
"checked": true,
"missing_urls": [],
"expected_urls": [
"https://www.optiprime.ch",
"https://www.optiprime.ch/blog"
],
"listed_url_sample_size": 20
},
"deployment_health": {
"checked": false
},
"technical_health_score": 90
},
"recorded_at": "2026-06-10 00:06:19.957472+00:00",
"payload": {
"gsc": {
"checked": false
},
"pages": [
{
"ok": true,
"url": "https://www.optiprime.ch",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch",
"final_url": "https://www.optiprime.ch/",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
},
{
"ok": true,
"url": "https://www.optiprime.ch/blog",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
}
],
"robots": {
"ok": true,
"url": "https://www.optiprime.ch/robots.txt",
"error": "",
"sitemaps": [
"https://www.optiprime.ch/sitemap.xml"
],
"blocks_all": false,
"rules_text": "User-Agent: *\nAllow: /\n\nHost: https://www.optiprime.ch\nSitemap: https://www.optiprime.ch/sitemap.xml\n",
"status_code": 200
},
"status": "ok",
"checked": true,
"sitemap": {
"ok": true,
"checked": [
{
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
],
"selected": {
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
},
"site_key": "optiprime",
"warnings": [
"LCP mobile élevé (3017 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.0,
"inp_ms": 57.0,
"lcp_ms": 3017.195338073276,
"mobile": {
"ok": true,
"cls": 0.0,
"inp_ms": 57.0,
"lcp_ms": 3017.195338073276,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 90.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.001884,
"inp_ms": 61.0,
"lcp_ms": 688.3998788523573,
"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.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"error": "",
"clicks": 0,
"position": 28.382395382395384,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"indexable": true,
"top_query": "comparer assurance obligatoire",
"redirected": false,
"impressions": 693,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog",
"error": "",
"clicks": 0,
"position": 31.540697674418606,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 344,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"error": "",
"clicks": 0,
"position": 20.55140186915888,
"canonical": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"final_url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 321,
"status_code": 200
},
{
"ok": true,
"ctr": 0.005263157894736842,
"url": "https://www.optiprime.ch/blog/assurance-maladie",
"error": "",
"clicks": 1,
"position": 21.6,
"canonical": "https://www.optiprime.ch/assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/assurance-maladie",
"indexable": true,
"top_query": "guide assurance maladie suisse",
"redirected": false,
"impressions": 190,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"error": "",
"clicks": 0,
"position": 56.19310344827586,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"indexable": true,
"top_query": "comparaison caisses maladie suisse",
"redirected": false,
"impressions": 145,
"status_code": 200
}
],
"source": "gsc_pages_28d",
"checked": true,
"broken_urls": [],
"broken_count": 0,
"checked_count": 5,
"redirected_urls": [],
"redirected_count": 0,
"snapshot_saved_at": "2026-06-09T18:15:03.464697Z"
},
"blocking_issues": [],
"safe_to_optimize": true,
"sitemap_coverage": {
"checked": true,
"missing_urls": [],
"expected_urls": [
"https://www.optiprime.ch",
"https://www.optiprime.ch/blog"
],
"listed_url_sample_size": 20
},
"deployment_health": {
"checked": false
},
"technical_health_score": 90
}
},
{
"id": 1380,
"site_key": "optiprime",
"source_type": "technical_remediation",
"subject_key": "optiprime",
"payload_json": {
"ok": true,
"errors": [],
"actions": [
{
"type": "optimize_lcp",
"value": 5922.9,
"metric": "lcp_ms",
"target": "https://www.optiprime.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-10 00:03:33.616129+00:00",
"payload": {
"ok": true,
"errors": [],
"actions": [
{
"type": "optimize_lcp",
"value": 5922.9,
"metric": "lcp_ms",
"target": "https://www.optiprime.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": 1379,
"site_key": "optiprime",
"source_type": "technical_audit",
"subject_key": "optiprime",
"payload_json": {
"gsc": {
"ok": true,
"checked": true,
"message": "Connexion GSC OK",
"payload": {
"sample_rows": 1,
"properties_count": 5,
"resolved_property": "https://www.optiprime.ch"
},
"sitemap_url": "https://www.optiprime.ch/sitemap.xml",
"sitemap_submission_ready": true
},
"pages": [
{
"ok": true,
"url": "https://www.optiprime.ch",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch",
"final_url": "https://www.optiprime.ch/",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
},
{
"ok": true,
"url": "https://www.optiprime.ch/blog",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
}
],
"robots": {
"ok": true,
"url": "https://www.optiprime.ch/robots.txt",
"error": "",
"sitemaps": [
"https://www.optiprime.ch/sitemap.xml"
],
"blocks_all": false,
"rules_text": "User-Agent: *\nAllow: /\n\nHost: https://www.optiprime.ch\nSitemap: https://www.optiprime.ch/sitemap.xml\n",
"status_code": 200
},
"status": "ok",
"checked": true,
"sitemap": {
"ok": true,
"checked": [
{
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
],
"selected": {
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
},
"site_key": "optiprime",
"warnings": [
"LCP mobile élevé (5922 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 5922.898362397889,
"mobile": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 5922.898362397889,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 69.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 891.6987050228244,
"source": "pagespeed_insights",
"strategy": "desktop",
"performance_score": 98.0
},
"strategy": "mobile",
"performance_score": 69.0
},
"gsc_live_urls": {
"urls": [
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"error": "",
"clicks": 0,
"position": 28.382395382395384,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"indexable": true,
"top_query": "comparer assurance obligatoire",
"redirected": false,
"impressions": 693,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog",
"error": "",
"clicks": 0,
"position": 31.540697674418606,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 344,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"error": "",
"clicks": 0,
"position": 20.55140186915888,
"canonical": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"final_url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 321,
"status_code": 200
},
{
"ok": true,
"ctr": 0.005263157894736842,
"url": "https://www.optiprime.ch/blog/assurance-maladie",
"error": "",
"clicks": 1,
"position": 21.6,
"canonical": "https://www.optiprime.ch/assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/assurance-maladie",
"indexable": true,
"top_query": "guide assurance maladie suisse",
"redirected": false,
"impressions": 190,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"error": "",
"clicks": 0,
"position": 56.19310344827586,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"indexable": true,
"top_query": "comparaison caisses maladie suisse",
"redirected": false,
"impressions": 145,
"status_code": 200
}
],
"source": "gsc_pages_28d",
"checked": true,
"broken_urls": [],
"broken_count": 0,
"checked_count": 5,
"redirected_urls": [],
"redirected_count": 0,
"snapshot_saved_at": "2026-06-09T18:15:03.464697Z"
},
"blocking_issues": [],
"safe_to_optimize": true,
"sitemap_coverage": {
"checked": true,
"missing_urls": [],
"expected_urls": [
"https://www.optiprime.ch",
"https://www.optiprime.ch/blog"
],
"listed_url_sample_size": 20
},
"deployment_health": {
"checked": false
},
"technical_health_score": 90
},
"recorded_at": "2026-06-10 00:03:32.403872+00:00",
"payload": {
"gsc": {
"ok": true,
"checked": true,
"message": "Connexion GSC OK",
"payload": {
"sample_rows": 1,
"properties_count": 5,
"resolved_property": "https://www.optiprime.ch"
},
"sitemap_url": "https://www.optiprime.ch/sitemap.xml",
"sitemap_submission_ready": true
},
"pages": [
{
"ok": true,
"url": "https://www.optiprime.ch",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch",
"final_url": "https://www.optiprime.ch/",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
},
{
"ok": true,
"url": "https://www.optiprime.ch/blog",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
}
],
"robots": {
"ok": true,
"url": "https://www.optiprime.ch/robots.txt",
"error": "",
"sitemaps": [
"https://www.optiprime.ch/sitemap.xml"
],
"blocks_all": false,
"rules_text": "User-Agent: *\nAllow: /\n\nHost: https://www.optiprime.ch\nSitemap: https://www.optiprime.ch/sitemap.xml\n",
"status_code": 200
},
"status": "ok",
"checked": true,
"sitemap": {
"ok": true,
"checked": [
{
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
],
"selected": {
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
},
"site_key": "optiprime",
"warnings": [
"LCP mobile élevé (5922 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 5922.898362397889,
"mobile": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 5922.898362397889,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 69.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 891.6987050228244,
"source": "pagespeed_insights",
"strategy": "desktop",
"performance_score": 98.0
},
"strategy": "mobile",
"performance_score": 69.0
},
"gsc_live_urls": {
"urls": [
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"error": "",
"clicks": 0,
"position": 28.382395382395384,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"indexable": true,
"top_query": "comparer assurance obligatoire",
"redirected": false,
"impressions": 693,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog",
"error": "",
"clicks": 0,
"position": 31.540697674418606,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 344,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"error": "",
"clicks": 0,
"position": 20.55140186915888,
"canonical": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"final_url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 321,
"status_code": 200
},
{
"ok": true,
"ctr": 0.005263157894736842,
"url": "https://www.optiprime.ch/blog/assurance-maladie",
"error": "",
"clicks": 1,
"position": 21.6,
"canonical": "https://www.optiprime.ch/assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/assurance-maladie",
"indexable": true,
"top_query": "guide assurance maladie suisse",
"redirected": false,
"impressions": 190,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"error": "",
"clicks": 0,
"position": 56.19310344827586,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"indexable": true,
"top_query": "comparaison caisses maladie suisse",
"redirected": false,
"impressions": 145,
"status_code": 200
}
],
"source": "gsc_pages_28d",
"checked": true,
"broken_urls": [],
"broken_count": 0,
"checked_count": 5,
"redirected_urls": [],
"redirected_count": 0,
"snapshot_saved_at": "2026-06-09T18:15:03.464697Z"
},
"blocking_issues": [],
"safe_to_optimize": true,
"sitemap_coverage": {
"checked": true,
"missing_urls": [],
"expected_urls": [
"https://www.optiprime.ch",
"https://www.optiprime.ch/blog"
],
"listed_url_sample_size": 20
},
"deployment_health": {
"checked": false
},
"technical_health_score": 90
}
},
{
"id": 1371,
"site_key": "optiprime",
"source_type": "workflow_state",
"subject_key": "recent_events",
"payload_json": {
"events": [
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-07T00:00:23.917753Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-08T00:00:19.832788Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T06:15:03.965583Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T12:15:04.514431Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T18:15:04.230979Z"
},
{
"type": "hermes_content_lifecycle",
"payload": {
"merge_count": 3,
"watch_count": 6,
"create_count": 0,
"deleted_count": 0,
"optimize_count": 5
},
"recorded_at": "2026-06-08T20:45:02.880294Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-09T00:00:19.002523Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T06:15:04.069943Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T12:15:05.454455Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T18:15:03.476743Z"
}
]
},
"recorded_at": "2026-06-10 00:00:13.603754+00:00",
"payload": {
"events": [
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-07T00:00:23.917753Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-08T00:00:19.832788Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T06:15:03.965583Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T12:15:04.514431Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T18:15:04.230979Z"
},
{
"type": "hermes_content_lifecycle",
"payload": {
"merge_count": 3,
"watch_count": 6,
"create_count": 0,
"deleted_count": 0,
"optimize_count": 5
},
"recorded_at": "2026-06-08T20:45:02.880294Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-09T00:00:19.002523Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T06:15:04.069943Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T12:15:05.454455Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T18:15:03.476743Z"
}
]
}
},
{
"id": 1370,
"site_key": "optiprime",
"source_type": "queue_state",
"subject_key": "recent_queue",
"payload_json": {
"recent_rows": [
{
"id": 325,
"slug": "classement-assurance-de-base",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-11T07:00:00+00:00"
},
{
"id": 295,
"slug": "meilleures-caisses-maladie-suisse-2026",
"error": "not present in local blog inventory",
"status": "published",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-06-09T09:00:49.447584+00:00",
"scheduled_at": "2026-06-09T07:00:00+00:00"
},
{
"id": 294,
"slug": "lamal-suisse-pas-chere",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-12T07:00:00+00:00"
},
{
"id": 293,
"slug": "guide-assurance-maladie-suisse",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-10T07:00:00+00:00"
},
{
"id": 108,
"slug": "prime-assurance-maladie-2026",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-08",
"scheduled_at": null
},
{
"id": 107,
"slug": "changer-assurance-maladie-suisse",
"error": "not present in local blog inventory",
"status": "published",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-15T09:00:38.440609+00:00",
"scheduled_at": "2026-05-15T07:00:00+00:00"
},
{
"id": 106,
"slug": "meilleure-lamal-suisse",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-06",
"scheduled_at": null
},
{
"id": 105,
"slug": "comparaison-assurance-de-base",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-05",
"scheduled_at": null
},
{
"id": 104,
"slug": "comment-choisir-assurance-sante-suisse",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-04",
"scheduled_at": null
},
{
"id": 98,
"slug": "groupe-mutuel",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 97,
"slug": "css-assurance",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 96,
"slug": "comparis-assurance-maladie",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 95,
"slug": "comparatif-assurance-maladie",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-28",
"scheduled_at": null
},
{
"id": 94,
"slug": "comparateur-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-29",
"scheduled_at": null
},
{
"id": 93,
"slug": "attenuer-l-assurance-maladie",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 92,
"slug": "assurance-maladie-neuchatel",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 91,
"slug": "assurance-comparative-maladie",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 90,
"slug": "ameli",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 13,
"slug": "franchise-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-06-01T07:00:00+00:00",
"scheduled_at": null
},
{
"id": 12,
"slug": "criteres-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-29T07:00:00+00:00",
"scheduled_at": null
}
]
},
"recorded_at": "2026-06-10 00:00:13.575881+00:00",
"payload": {
"recent_rows": [
{
"id": 325,
"slug": "classement-assurance-de-base",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-11T07:00:00+00:00"
},
{
"id": 295,
"slug": "meilleures-caisses-maladie-suisse-2026",
"error": "not present in local blog inventory",
"status": "published",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-06-09T09:00:49.447584+00:00",
"scheduled_at": "2026-06-09T07:00:00+00:00"
},
{
"id": 294,
"slug": "lamal-suisse-pas-chere",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-12T07:00:00+00:00"
},
{
"id": 293,
"slug": "guide-assurance-maladie-suisse",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-10T07:00:00+00:00"
},
{
"id": 108,
"slug": "prime-assurance-maladie-2026",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-08",
"scheduled_at": null
},
{
"id": 107,
"slug": "changer-assurance-maladie-suisse",
"error": "not present in local blog inventory",
"status": "published",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-15T09:00:38.440609+00:00",
"scheduled_at": "2026-05-15T07:00:00+00:00"
},
{
"id": 106,
"slug": "meilleure-lamal-suisse",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-06",
"scheduled_at": null
},
{
"id": 105,
"slug": "comparaison-assurance-de-base",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-05",
"scheduled_at": null
},
{
"id": 104,
"slug": "comment-choisir-assurance-sante-suisse",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-04",
"scheduled_at": null
},
{
"id": 98,
"slug": "groupe-mutuel",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 97,
"slug": "css-assurance",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 96,
"slug": "comparis-assurance-maladie",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 95,
"slug": "comparatif-assurance-maladie",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-28",
"scheduled_at": null
},
{
"id": 94,
"slug": "comparateur-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-29",
"scheduled_at": null
},
{
"id": 93,
"slug": "attenuer-l-assurance-maladie",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 92,
"slug": "assurance-maladie-neuchatel",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 91,
"slug": "assurance-comparative-maladie",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 90,
"slug": "ameli",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 13,
"slug": "franchise-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-06-01T07:00:00+00:00",
"scheduled_at": null
},
{
"id": 12,
"slug": "criteres-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-29T07:00:00+00:00",
"scheduled_at": null
}
]
}
},
{
"id": 1369,
"site_key": "optiprime",
"source_type": "gsc_snapshot",
"subject_key": "pages_28d",
"payload_json": {
"saved_at": "2026-06-09T18:15:03.464697Z",
"top_pages": [
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"clicks": 0,
"position": 28.382395382395384,
"top_query": "comparer assurance obligatoire",
"impressions": 693
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog",
"clicks": 0,
"position": 31.540697674418606,
"top_query": "classement assurance de base",
"impressions": 344
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"clicks": 0,
"position": 20.55140186915888,
"top_query": "classement assurance de base",
"impressions": 321
},
{
"ctr": 0.005263157894736842,
"page": "https://www.optiprime.ch/blog/assurance-maladie",
"clicks": 1,
"position": 21.6,
"top_query": "guide assurance maladie suisse",
"impressions": 190
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"clicks": 0,
"position": 56.19310344827586,
"top_query": "comparaison caisses maladie suisse",
"impressions": 145
}
],
"top_queries": [
{
"ctr": 0.0,
"query": "classement assurance de base",
"clicks": 0,
"position": 26.65909090909091,
"impressions": 88
},
{
"ctr": 0.0,
"query": "comparer assurance obligatoire",
"clicks": 0,
"position": 22.532467532467532,
"impressions": 77
},
{
"ctr": 0.0,
"query": "assurance obligatoire la moins chère",
"clicks": 0,
"position": 25.223880597014926,
"impressions": 67
},
{
"ctr": 0.0,
"query": "guide assurance maladie suisse",
"clicks": 0,
"position": 40.83582089552239,
"impressions": 67
},
{
"ctr": 0.0,
"query": "choix caisse-maladie",
"clicks": 0,
"position": 27.560606060606062,
"impressions": 66
},
{
"ctr": 0.0,
"query": "choix caisse maladie",
"clicks": 0,
"position": 26.476190476190474,
"impressions": 63
},
{
"ctr": 0.0,
"query": "optimisation prime caisse maladie",
"clicks": 0,
"position": 43.54,
"impressions": 50
},
{
"ctr": 0.0,
"query": "assurance maladie suisse pas chère",
"clicks": 0,
"position": 26.404761904761905,
"impressions": 42
},
{
"ctr": 0.0,
"query": "meilleures caisses maladie suisse 2026",
"clicks": 0,
"position": 41.5,
"impressions": 42
},
{
"ctr": 0.0,
"query": "comparaison caisses maladie suisse",
"clicks": 0,
"position": 74.8974358974359,
"impressions": 39
}
]
},
"recorded_at": "2026-06-10 00:00:13.518131+00:00",
"payload": {
"saved_at": "2026-06-09T18:15:03.464697Z",
"top_pages": [
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"clicks": 0,
"position": 28.382395382395384,
"top_query": "comparer assurance obligatoire",
"impressions": 693
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog",
"clicks": 0,
"position": 31.540697674418606,
"top_query": "classement assurance de base",
"impressions": 344
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"clicks": 0,
"position": 20.55140186915888,
"top_query": "classement assurance de base",
"impressions": 321
},
{
"ctr": 0.005263157894736842,
"page": "https://www.optiprime.ch/blog/assurance-maladie",
"clicks": 1,
"position": 21.6,
"top_query": "guide assurance maladie suisse",
"impressions": 190
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"clicks": 0,
"position": 56.19310344827586,
"top_query": "comparaison caisses maladie suisse",
"impressions": 145
}
],
"top_queries": [
{
"ctr": 0.0,
"query": "classement assurance de base",
"clicks": 0,
"position": 26.65909090909091,
"impressions": 88
},
{
"ctr": 0.0,
"query": "comparer assurance obligatoire",
"clicks": 0,
"position": 22.532467532467532,
"impressions": 77
},
{
"ctr": 0.0,
"query": "assurance obligatoire la moins chère",
"clicks": 0,
"position": 25.223880597014926,
"impressions": 67
},
{
"ctr": 0.0,
"query": "guide assurance maladie suisse",
"clicks": 0,
"position": 40.83582089552239,
"impressions": 67
},
{
"ctr": 0.0,
"query": "choix caisse-maladie",
"clicks": 0,
"position": 27.560606060606062,
"impressions": 66
},
{
"ctr": 0.0,
"query": "choix caisse maladie",
"clicks": 0,
"position": 26.476190476190474,
"impressions": 63
},
{
"ctr": 0.0,
"query": "optimisation prime caisse maladie",
"clicks": 0,
"position": 43.54,
"impressions": 50
},
{
"ctr": 0.0,
"query": "assurance maladie suisse pas chère",
"clicks": 0,
"position": 26.404761904761905,
"impressions": 42
},
{
"ctr": 0.0,
"query": "meilleures caisses maladie suisse 2026",
"clicks": 0,
"position": 41.5,
"impressions": 42
},
{
"ctr": 0.0,
"query": "comparaison caisses maladie suisse",
"clicks": 0,
"position": 74.8974358974359,
"impressions": 39
}
]
}
}
],
"live_state": {
"queue": {
"by_status": {
"deleted": 10,
"published": 11,
"scheduled": 3
},
"recent_items": [
{
"id": 325,
"slug": "classement-assurance-de-base",
"status": "scheduled",
"scheduled_at": "2026-06-11T07:00:00+00:00",
"published_at": null,
"error": "not present in local blog inventory",
"attempts": 0
},
{
"id": 295,
"slug": "meilleures-caisses-maladie-suisse-2026",
"status": "scheduled",
"scheduled_at": "2026-06-15T07:00:00+00:00",
"published_at": null,
"error": "not present in local blog inventory",
"attempts": 0
},
{
"id": 294,
"slug": "lamal-suisse-pas-chere",
"status": "scheduled",
"scheduled_at": "2026-06-12T07:00:00+00:00",
"published_at": null,
"error": "not present in local blog inventory",
"attempts": 0
},
{
"id": 293,
"slug": "guide-assurance-maladie-suisse",
"status": "published",
"scheduled_at": "2026-06-10T07:00:00+00:00",
"published_at": "2026-06-10T09:00:48.810952+00:00",
"error": "not present in local blog inventory",
"attempts": 0
},
{
"id": 108,
"slug": "prime-assurance-maladie-2026",
"status": "deleted",
"scheduled_at": null,
"published_at": "2026-05-08",
"error": null,
"attempts": 0
}
]
},
"gsc": {
"saved_at": "2026-06-10T06:15:04.014558Z",
"top_pages": [
{
"page": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"clicks": 0,
"impressions": 642,
"ctr": 0.0,
"position": 28.447040498442366,
"top_query": "comparer assurance obligatoire"
},
{
"page": "https://www.optiprime.ch/blog",
"clicks": 0,
"impressions": 331,
"ctr": 0.0,
"position": 31.338368580060422,
"top_query": "classement assurance de base"
},
{
"page": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"clicks": 0,
"impressions": 287,
"ctr": 0.0,
"position": 21.013937282229964,
"top_query": "classement assurance de base"
}
],
"top_queries": [
{
"query": "classement assurance de base",
"clicks": 0,
"impressions": 86,
"ctr": 0.0,
"position": 26.662790697674417
},
{
"query": "comparer assurance obligatoire",
"clicks": 0,
"impressions": 74,
"ctr": 0.0,
"position": 22.513513513513512
},
{
"query": "assurance obligatoire la moins chère",
"clicks": 0,
"impressions": 64,
"ctr": 0.0,
"position": 25.28125
},
{
"query": "choix caisse-maladie",
"clicks": 0,
"impressions": 62,
"ctr": 0.0,
"position": 27.725806451612904
},
{
"query": "guide assurance maladie suisse",
"clicks": 0,
"impressions": 61,
"ctr": 0.0,
"position": 39.78688524590164
}
]
},
"workflow": {
"updated_at": "2026-06-10T06:15:04.028689Z",
"recent_events": [
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T06:15:04.069943Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T12:15:05.454455Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T18:15:03.476743Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"lessons_created": 1,
"sop_name": "adaptive-feedback-playbook"
},
"recorded_at": "2026-06-10T00:00:17.399972Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 33,
"queries_28d": 112,
"page_query_28d": 192
},
"recorded_at": "2026-06-10T06:15:04.028462Z"
}
]
}
},
"site_context": {
"site_key": "optiprime",
"project_name": "Optiprime",
"project_type": "repo_files",
"site_url": "https://www.optiprime.ch",
"base_url": "https://www.optiprime.ch/blog",
"gsc_property": "https://www.optiprime.ch",
"gsc_blog_prefix": "https://www.optiprime.ch/blog",
"agent_mode": "full_autonomy",
"operator_policy": "agent_driven",
"primary_market": "ch",
"target_countries": [
"ch",
"fr"
],
"seo_scope": "national",
"competitors": [
{
"label": "Sante.app LAMal",
"url": "https://sante.app/lamal/",
"notes": ""
},
{
"label": "Komparator Assurance Maladie",
"url": "https://www.komparator.ch/comparateur-assurances-maladie/",
"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": "advisory_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
}
}
},
"validated_lessons": [
{
"id": 196,
"site_key": "optiprime",
"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.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"clicks": 0,
"position": 28.382395382395384,
"top_query": "comparer assurance obligatoire",
"impressions": 693
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog",
"clicks": 0,
"position": 31.540697674418606,
"top_query": "classement assurance de base",
"impressions": 344
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"clicks": 0,
"position": 20.55140186915888,
"top_query": "classement assurance de base",
"impressions": 321
},
{
"ctr": 0.005263157894736842,
"page": "https://www.optiprime.ch/blog/assurance-maladie",
"clicks": 1,
"position": 21.6,
"top_query": "guide assurance maladie suisse",
"impressions": 190
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"clicks": 0,
"position": 56.19310344827586,
"top_query": "comparaison caisses maladie suisse",
"impressions": 145
}
]
},
"created_at": "2026-06-10 00:00:16.371114+00:00",
"updated_at": "2026-06-10 00:00:17.552997+00:00",
"details": {
"pages": [
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"clicks": 0,
"position": 28.382395382395384,
"top_query": "comparer assurance obligatoire",
"impressions": 693
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog",
"clicks": 0,
"position": 31.540697674418606,
"top_query": "classement assurance de base",
"impressions": 344
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"clicks": 0,
"position": 20.55140186915888,
"top_query": "classement assurance de base",
"impressions": 321
},
{
"ctr": 0.005263157894736842,
"page": "https://www.optiprime.ch/blog/assurance-maladie",
"clicks": 1,
"position": 21.6,
"top_query": "guide assurance maladie suisse",
"impressions": 190
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"clicks": 0,
"position": 56.19310344827586,
"top_query": "comparaison caisses maladie suisse",
"impressions": 145
}
]
}
},
{
"id": 124,
"site_key": "optiprime",
"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-16 00:00:12.014717+00:00",
"updated_at": "2026-05-16 00:00:12.496888+00:00",
"details": {
"failed_count": 0,
"queued_count": 5
}
},
{
"id": 18,
"site_key": "optiprime",
"category": "measurement",
"lesson": "Mesurer après publication améliore la qualité des SOP.",
"confidence": "high",
"source": "manual",
"status": "validated",
"details_json": {},
"created_at": "2026-04-24 13:35:15.566161+00:00",
"updated_at": "2026-04-24 13:35:15.566161+00:00",
"details": {}
},
{
"id": 17,
"site_key": "optiprime",
"category": "measurement",
"lesson": "Measured SEO actions are generating positive post-action deltas. Increase trust in SOPs that led to these actions.",
"confidence": "high",
"source": "measurement_loop",
"status": "validated",
"details_json": {
"delta": {
"ctr": 0.004975124378109453,
"clicks": 1.0,
"position": 0.5927624447594404,
"impressions": 22.0
},
"page_url": "https://www.optiprime.ch/blog/assurance-maladie",
"action_type": "content_refresh",
"subject_key": "content-refresh:assurance-maladie",
"impact_label": "positive",
"impact_score": 4.511987548292065,
"measurement_id": 34
},
"created_at": "2026-04-24 13:35:15.533922+00:00",
"updated_at": "2026-06-04 00:07:02.304529+00:00",
"details": {
"delta": {
"ctr": 0.004975124378109453,
"clicks": 1.0,
"position": 0.5927624447594404,
"impressions": 22.0
},
"page_url": "https://www.optiprime.ch/blog/assurance-maladie",
"action_type": "content_refresh",
"subject_key": "content-refresh:assurance-maladie",
"impact_label": "positive",
"impact_score": 4.511987548292065,
"measurement_id": 34
}
},
{
"id": 14,
"site_key": "optiprime",
"category": "measurement",
"lesson": "Toujours mesurer après action.",
"confidence": "high",
"source": "manual",
"status": "validated",
"details_json": {},
"created_at": "2026-04-24 13:35:15.426383+00:00",
"updated_at": "2026-04-24 13:35:15.426383+00:00",
"details": {}
}
],
"active_sops": [
{
"id": 188,
"site_key": "optiprime",
"scope": "site",
"name": "adaptive-feedback-playbook",
"version": 30,
"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:18.456194+00:00",
"updated_at": "2026-06-10 00:00:17.707087+00:00",
"confidence_score": 0,
"confidence_label": "low"
}
],
"recent_outcomes": [
{
"id": 359,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:guide-assurance-maladie-suisse",
"metric_name": "position",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
},
"recorded_at": "2026-06-10 09:00:03.588047+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
}
},
{
"id": 358,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:guide-assurance-maladie-suisse",
"metric_name": "ctr",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
},
"recorded_at": "2026-06-10 09:00:03.562809+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
}
},
{
"id": 357,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:guide-assurance-maladie-suisse",
"metric_name": "impressions",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
},
"recorded_at": "2026-06-10 09:00:03.536046+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
}
},
{
"id": 356,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:guide-assurance-maladie-suisse",
"metric_name": "clicks",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
},
"recorded_at": "2026-06-10 09:00:03.509812+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse"
}
},
{
"id": 343,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:meilleures-caisses-maladie-suisse-2026",
"metric_name": "position",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
},
"recorded_at": "2026-06-09 09:00:04.219677+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
}
},
{
"id": 342,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:meilleures-caisses-maladie-suisse-2026",
"metric_name": "ctr",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
},
"recorded_at": "2026-06-09 09:00:04.189814+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
}
},
{
"id": 341,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:meilleures-caisses-maladie-suisse-2026",
"metric_name": "impressions",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
},
"recorded_at": "2026-06-09 09:00:04.164719+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
}
},
{
"id": 340,
"site_key": "optiprime",
"outcome_type": "gsc_baseline",
"subject_key": "publish:meilleures-caisses-maladie-suisse-2026",
"metric_name": "clicks",
"metric_value": 0.0,
"payload_json": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
},
"recorded_at": "2026-06-09 09:00:04.134767+00:00",
"payload": {
"row": {},
"page_url": "https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026"
}
}
],
"recent_observations": [
{
"id": 1394,
"site_key": "optiprime",
"source_type": "measurement_scheduled",
"subject_key": "publish:guide-assurance-maladie-suisse",
"payload_json": {
"due_at": "2026-06-24T09:00:03.599356Z",
"details": {
"slug": "guide-assurance-maladie-suisse",
"queue_id": 293
},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"action_type": "publish",
"measurement_id": 48
},
"recorded_at": "2026-06-10 09:00:03.644756+00:00",
"payload": {
"due_at": "2026-06-24T09:00:03.599356Z",
"details": {
"slug": "guide-assurance-maladie-suisse",
"queue_id": 293
},
"page_url": "https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"action_type": "publish",
"measurement_id": 48
}
},
{
"id": 1386,
"site_key": "optiprime",
"source_type": "technical_audit",
"subject_key": "optiprime",
"payload_json": {
"gsc": {
"checked": false
},
"pages": [
{
"ok": true,
"url": "https://www.optiprime.ch",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch",
"final_url": "https://www.optiprime.ch/",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
},
{
"ok": true,
"url": "https://www.optiprime.ch/blog",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
}
],
"robots": {
"ok": true,
"url": "https://www.optiprime.ch/robots.txt",
"error": "",
"sitemaps": [
"https://www.optiprime.ch/sitemap.xml"
],
"blocks_all": false,
"rules_text": "User-Agent: *\nAllow: /\n\nHost: https://www.optiprime.ch\nSitemap: https://www.optiprime.ch/sitemap.xml\n",
"status_code": 200
},
"status": "ok",
"checked": true,
"sitemap": {
"ok": true,
"checked": [
{
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
],
"selected": {
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
},
"site_key": "optiprime",
"warnings": [
"LCP mobile élevé (3017 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.0,
"inp_ms": 57.0,
"lcp_ms": 3017.195338073276,
"mobile": {
"ok": true,
"cls": 0.0,
"inp_ms": 57.0,
"lcp_ms": 3017.195338073276,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 90.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.001884,
"inp_ms": 61.0,
"lcp_ms": 688.3998788523573,
"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.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"error": "",
"clicks": 0,
"position": 28.382395382395384,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"indexable": true,
"top_query": "comparer assurance obligatoire",
"redirected": false,
"impressions": 693,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog",
"error": "",
"clicks": 0,
"position": 31.540697674418606,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 344,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"error": "",
"clicks": 0,
"position": 20.55140186915888,
"canonical": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"final_url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 321,
"status_code": 200
},
{
"ok": true,
"ctr": 0.005263157894736842,
"url": "https://www.optiprime.ch/blog/assurance-maladie",
"error": "",
"clicks": 1,
"position": 21.6,
"canonical": "https://www.optiprime.ch/assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/assurance-maladie",
"indexable": true,
"top_query": "guide assurance maladie suisse",
"redirected": false,
"impressions": 190,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"error": "",
"clicks": 0,
"position": 56.19310344827586,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"indexable": true,
"top_query": "comparaison caisses maladie suisse",
"redirected": false,
"impressions": 145,
"status_code": 200
}
],
"source": "gsc_pages_28d",
"checked": true,
"broken_urls": [],
"broken_count": 0,
"checked_count": 5,
"redirected_urls": [],
"redirected_count": 0,
"snapshot_saved_at": "2026-06-09T18:15:03.464697Z"
},
"blocking_issues": [],
"safe_to_optimize": true,
"sitemap_coverage": {
"checked": true,
"missing_urls": [],
"expected_urls": [
"https://www.optiprime.ch",
"https://www.optiprime.ch/blog"
],
"listed_url_sample_size": 20
},
"deployment_health": {
"checked": false
},
"technical_health_score": 90
},
"recorded_at": "2026-06-10 00:06:19.957472+00:00",
"payload": {
"gsc": {
"checked": false
},
"pages": [
{
"ok": true,
"url": "https://www.optiprime.ch",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch",
"final_url": "https://www.optiprime.ch/",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
},
{
"ok": true,
"url": "https://www.optiprime.ch/blog",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
}
],
"robots": {
"ok": true,
"url": "https://www.optiprime.ch/robots.txt",
"error": "",
"sitemaps": [
"https://www.optiprime.ch/sitemap.xml"
],
"blocks_all": false,
"rules_text": "User-Agent: *\nAllow: /\n\nHost: https://www.optiprime.ch\nSitemap: https://www.optiprime.ch/sitemap.xml\n",
"status_code": 200
},
"status": "ok",
"checked": true,
"sitemap": {
"ok": true,
"checked": [
{
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
],
"selected": {
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
},
"site_key": "optiprime",
"warnings": [
"LCP mobile élevé (3017 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.0,
"inp_ms": 57.0,
"lcp_ms": 3017.195338073276,
"mobile": {
"ok": true,
"cls": 0.0,
"inp_ms": 57.0,
"lcp_ms": 3017.195338073276,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 90.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.001884,
"inp_ms": 61.0,
"lcp_ms": 688.3998788523573,
"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.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"error": "",
"clicks": 0,
"position": 28.382395382395384,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"indexable": true,
"top_query": "comparer assurance obligatoire",
"redirected": false,
"impressions": 693,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog",
"error": "",
"clicks": 0,
"position": 31.540697674418606,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 344,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"error": "",
"clicks": 0,
"position": 20.55140186915888,
"canonical": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"final_url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 321,
"status_code": 200
},
{
"ok": true,
"ctr": 0.005263157894736842,
"url": "https://www.optiprime.ch/blog/assurance-maladie",
"error": "",
"clicks": 1,
"position": 21.6,
"canonical": "https://www.optiprime.ch/assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/assurance-maladie",
"indexable": true,
"top_query": "guide assurance maladie suisse",
"redirected": false,
"impressions": 190,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"error": "",
"clicks": 0,
"position": 56.19310344827586,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"indexable": true,
"top_query": "comparaison caisses maladie suisse",
"redirected": false,
"impressions": 145,
"status_code": 200
}
],
"source": "gsc_pages_28d",
"checked": true,
"broken_urls": [],
"broken_count": 0,
"checked_count": 5,
"redirected_urls": [],
"redirected_count": 0,
"snapshot_saved_at": "2026-06-09T18:15:03.464697Z"
},
"blocking_issues": [],
"safe_to_optimize": true,
"sitemap_coverage": {
"checked": true,
"missing_urls": [],
"expected_urls": [
"https://www.optiprime.ch",
"https://www.optiprime.ch/blog"
],
"listed_url_sample_size": 20
},
"deployment_health": {
"checked": false
},
"technical_health_score": 90
}
},
{
"id": 1380,
"site_key": "optiprime",
"source_type": "technical_remediation",
"subject_key": "optiprime",
"payload_json": {
"ok": true,
"errors": [],
"actions": [
{
"type": "optimize_lcp",
"value": 5922.9,
"metric": "lcp_ms",
"target": "https://www.optiprime.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-10 00:03:33.616129+00:00",
"payload": {
"ok": true,
"errors": [],
"actions": [
{
"type": "optimize_lcp",
"value": 5922.9,
"metric": "lcp_ms",
"target": "https://www.optiprime.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": 1379,
"site_key": "optiprime",
"source_type": "technical_audit",
"subject_key": "optiprime",
"payload_json": {
"gsc": {
"ok": true,
"checked": true,
"message": "Connexion GSC OK",
"payload": {
"sample_rows": 1,
"properties_count": 5,
"resolved_property": "https://www.optiprime.ch"
},
"sitemap_url": "https://www.optiprime.ch/sitemap.xml",
"sitemap_submission_ready": true
},
"pages": [
{
"ok": true,
"url": "https://www.optiprime.ch",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch",
"final_url": "https://www.optiprime.ch/",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
},
{
"ok": true,
"url": "https://www.optiprime.ch/blog",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
}
],
"robots": {
"ok": true,
"url": "https://www.optiprime.ch/robots.txt",
"error": "",
"sitemaps": [
"https://www.optiprime.ch/sitemap.xml"
],
"blocks_all": false,
"rules_text": "User-Agent: *\nAllow: /\n\nHost: https://www.optiprime.ch\nSitemap: https://www.optiprime.ch/sitemap.xml\n",
"status_code": 200
},
"status": "ok",
"checked": true,
"sitemap": {
"ok": true,
"checked": [
{
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
],
"selected": {
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
},
"site_key": "optiprime",
"warnings": [
"LCP mobile élevé (5922 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 5922.898362397889,
"mobile": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 5922.898362397889,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 69.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 891.6987050228244,
"source": "pagespeed_insights",
"strategy": "desktop",
"performance_score": 98.0
},
"strategy": "mobile",
"performance_score": 69.0
},
"gsc_live_urls": {
"urls": [
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"error": "",
"clicks": 0,
"position": 28.382395382395384,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"indexable": true,
"top_query": "comparer assurance obligatoire",
"redirected": false,
"impressions": 693,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog",
"error": "",
"clicks": 0,
"position": 31.540697674418606,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 344,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"error": "",
"clicks": 0,
"position": 20.55140186915888,
"canonical": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"final_url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 321,
"status_code": 200
},
{
"ok": true,
"ctr": 0.005263157894736842,
"url": "https://www.optiprime.ch/blog/assurance-maladie",
"error": "",
"clicks": 1,
"position": 21.6,
"canonical": "https://www.optiprime.ch/assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/assurance-maladie",
"indexable": true,
"top_query": "guide assurance maladie suisse",
"redirected": false,
"impressions": 190,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"error": "",
"clicks": 0,
"position": 56.19310344827586,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"indexable": true,
"top_query": "comparaison caisses maladie suisse",
"redirected": false,
"impressions": 145,
"status_code": 200
}
],
"source": "gsc_pages_28d",
"checked": true,
"broken_urls": [],
"broken_count": 0,
"checked_count": 5,
"redirected_urls": [],
"redirected_count": 0,
"snapshot_saved_at": "2026-06-09T18:15:03.464697Z"
},
"blocking_issues": [],
"safe_to_optimize": true,
"sitemap_coverage": {
"checked": true,
"missing_urls": [],
"expected_urls": [
"https://www.optiprime.ch",
"https://www.optiprime.ch/blog"
],
"listed_url_sample_size": 20
},
"deployment_health": {
"checked": false
},
"technical_health_score": 90
},
"recorded_at": "2026-06-10 00:03:32.403872+00:00",
"payload": {
"gsc": {
"ok": true,
"checked": true,
"message": "Connexion GSC OK",
"payload": {
"sample_rows": 1,
"properties_count": 5,
"resolved_property": "https://www.optiprime.ch"
},
"sitemap_url": "https://www.optiprime.ch/sitemap.xml",
"sitemap_submission_ready": true
},
"pages": [
{
"ok": true,
"url": "https://www.optiprime.ch",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch",
"final_url": "https://www.optiprime.ch/",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
},
{
"ok": true,
"url": "https://www.optiprime.ch/blog",
"error": "",
"noindex": false,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"redirected": false,
"robots_meta": "index, follow",
"status_code": 200,
"x_robots_tag": "",
"redirect_chain": [],
"robots_allowed": true,
"canonical_present": true,
"canonical_matches_url": true
}
],
"robots": {
"ok": true,
"url": "https://www.optiprime.ch/robots.txt",
"error": "",
"sitemaps": [
"https://www.optiprime.ch/sitemap.xml"
],
"blocks_all": false,
"rules_text": "User-Agent: *\nAllow: /\n\nHost: https://www.optiprime.ch\nSitemap: https://www.optiprime.ch/sitemap.xml\n",
"status_code": 200
},
"status": "ok",
"checked": true,
"sitemap": {
"ok": true,
"checked": [
{
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
],
"selected": {
"ok": true,
"url": "https://www.optiprime.ch/sitemap.xml",
"error": "",
"root_tag": "urlset",
"url_count": 20,
"valid_xml": true,
"status_code": 200,
"child_checked": [],
"child_sitemaps": [],
"listed_sample_urls": [
"https://www.optiprime.ch/",
"https://www.optiprime.ch/comparateur",
"https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-suisse",
"https://www.optiprime.ch/assurance-maladie-pas-chere",
"https://www.optiprime.ch/caisse-maladie-suisse-pas-chere",
"https://www.optiprime.ch/prime-assurance-maladie-2026",
"https://www.optiprime.ch/blog",
"https://www.optiprime.ch/methodologie",
"https://www.optiprime.ch/confidentialite",
"https://www.optiprime.ch/blog/meilleures-caisses-maladie-suisse-2026",
"https://www.optiprime.ch/blog/lamal-suisse-pas-chere",
"https://www.optiprime.ch/blog/classement-assurance-de-base",
"https://www.optiprime.ch/blog/guide-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/changer-assurance-maladie-suisse",
"https://www.optiprime.ch/blog/assurance-maladie-suisse-comparee",
"https://www.optiprime.ch/blog/meilleure-lamal-suisse",
"https://www.optiprime.ch/blog/comparaison-assurance-de-base",
"https://www.optiprime.ch/blog/comment-choisir-assurance-sante-suisse",
"https://www.optiprime.ch/blog/comparis-assurance-maladie"
]
}
},
"site_key": "optiprime",
"warnings": [
"LCP mobile élevé (5922 ms)"
],
"pagespeed": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 5922.898362397889,
"mobile": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 5922.898362397889,
"source": "pagespeed_insights",
"strategy": "mobile",
"performance_score": 69.0
},
"source": "pagespeed_insights",
"desktop": {
"ok": true,
"cls": 0.0,
"inp_ms": 85.0,
"lcp_ms": 891.6987050228244,
"source": "pagespeed_insights",
"strategy": "desktop",
"performance_score": 98.0
},
"strategy": "mobile",
"performance_score": 69.0
},
"gsc_live_urls": {
"urls": [
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"error": "",
"clicks": 0,
"position": 28.382395382395384,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"indexable": true,
"top_query": "comparer assurance obligatoire",
"redirected": false,
"impressions": 693,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog",
"error": "",
"clicks": 0,
"position": 31.540697674418606,
"canonical": "https://www.optiprime.ch/blog",
"final_url": "https://www.optiprime.ch/blog",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 344,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"error": "",
"clicks": 0,
"position": 20.55140186915888,
"canonical": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"final_url": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"indexable": true,
"top_query": "classement assurance de base",
"redirected": false,
"impressions": 321,
"status_code": 200
},
{
"ok": true,
"ctr": 0.005263157894736842,
"url": "https://www.optiprime.ch/blog/assurance-maladie",
"error": "",
"clicks": 1,
"position": 21.6,
"canonical": "https://www.optiprime.ch/assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/assurance-maladie",
"indexable": true,
"top_query": "guide assurance maladie suisse",
"redirected": false,
"impressions": 190,
"status_code": 200
},
{
"ok": true,
"ctr": 0.0,
"url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"error": "",
"clicks": 0,
"position": 56.19310344827586,
"canonical": "https://www.optiprime.ch/comparateur-assurance-maladie-suisse",
"final_url": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"indexable": true,
"top_query": "comparaison caisses maladie suisse",
"redirected": false,
"impressions": 145,
"status_code": 200
}
],
"source": "gsc_pages_28d",
"checked": true,
"broken_urls": [],
"broken_count": 0,
"checked_count": 5,
"redirected_urls": [],
"redirected_count": 0,
"snapshot_saved_at": "2026-06-09T18:15:03.464697Z"
},
"blocking_issues": [],
"safe_to_optimize": true,
"sitemap_coverage": {
"checked": true,
"missing_urls": [],
"expected_urls": [
"https://www.optiprime.ch",
"https://www.optiprime.ch/blog"
],
"listed_url_sample_size": 20
},
"deployment_health": {
"checked": false
},
"technical_health_score": 90
}
},
{
"id": 1371,
"site_key": "optiprime",
"source_type": "workflow_state",
"subject_key": "recent_events",
"payload_json": {
"events": [
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-07T00:00:23.917753Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-08T00:00:19.832788Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T06:15:03.965583Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T12:15:04.514431Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T18:15:04.230979Z"
},
{
"type": "hermes_content_lifecycle",
"payload": {
"merge_count": 3,
"watch_count": 6,
"create_count": 0,
"deleted_count": 0,
"optimize_count": 5
},
"recorded_at": "2026-06-08T20:45:02.880294Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-09T00:00:19.002523Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T06:15:04.069943Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T12:15:05.454455Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T18:15:03.476743Z"
}
]
},
"recorded_at": "2026-06-10 00:00:13.603754+00:00",
"payload": {
"events": [
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-07T00:00:23.917753Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-08T00:00:19.832788Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T06:15:03.965583Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T12:15:04.514431Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 50,
"queries_28d": 111,
"page_query_28d": 192
},
"recorded_at": "2026-06-08T18:15:04.230979Z"
},
{
"type": "hermes_content_lifecycle",
"payload": {
"merge_count": 3,
"watch_count": 6,
"create_count": 0,
"deleted_count": 0,
"optimize_count": 5
},
"recorded_at": "2026-06-08T20:45:02.880294Z"
},
{
"type": "hermes_daily_feedback_learning",
"payload": {
"sop_name": "adaptive-feedback-playbook",
"lessons_created": 1
},
"recorded_at": "2026-06-09T00:00:19.002523Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T06:15:04.069943Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T12:15:05.454455Z"
},
{
"type": "gsc_sync",
"payload": {
"pages_7d": 5,
"pages_28d": 5,
"queries_7d": 43,
"queries_28d": 114,
"page_query_28d": 194
},
"recorded_at": "2026-06-09T18:15:03.476743Z"
}
]
}
},
{
"id": 1370,
"site_key": "optiprime",
"source_type": "queue_state",
"subject_key": "recent_queue",
"payload_json": {
"recent_rows": [
{
"id": 325,
"slug": "classement-assurance-de-base",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-11T07:00:00+00:00"
},
{
"id": 295,
"slug": "meilleures-caisses-maladie-suisse-2026",
"error": "not present in local blog inventory",
"status": "published",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-06-09T09:00:49.447584+00:00",
"scheduled_at": "2026-06-09T07:00:00+00:00"
},
{
"id": 294,
"slug": "lamal-suisse-pas-chere",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-12T07:00:00+00:00"
},
{
"id": 293,
"slug": "guide-assurance-maladie-suisse",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-10T07:00:00+00:00"
},
{
"id": 108,
"slug": "prime-assurance-maladie-2026",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-08",
"scheduled_at": null
},
{
"id": 107,
"slug": "changer-assurance-maladie-suisse",
"error": "not present in local blog inventory",
"status": "published",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-15T09:00:38.440609+00:00",
"scheduled_at": "2026-05-15T07:00:00+00:00"
},
{
"id": 106,
"slug": "meilleure-lamal-suisse",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-06",
"scheduled_at": null
},
{
"id": 105,
"slug": "comparaison-assurance-de-base",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-05",
"scheduled_at": null
},
{
"id": 104,
"slug": "comment-choisir-assurance-sante-suisse",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-04",
"scheduled_at": null
},
{
"id": 98,
"slug": "groupe-mutuel",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 97,
"slug": "css-assurance",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 96,
"slug": "comparis-assurance-maladie",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 95,
"slug": "comparatif-assurance-maladie",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-28",
"scheduled_at": null
},
{
"id": 94,
"slug": "comparateur-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-29",
"scheduled_at": null
},
{
"id": 93,
"slug": "attenuer-l-assurance-maladie",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 92,
"slug": "assurance-maladie-neuchatel",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 91,
"slug": "assurance-comparative-maladie",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 90,
"slug": "ameli",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 13,
"slug": "franchise-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-06-01T07:00:00+00:00",
"scheduled_at": null
},
{
"id": 12,
"slug": "criteres-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-29T07:00:00+00:00",
"scheduled_at": null
}
]
},
"recorded_at": "2026-06-10 00:00:13.575881+00:00",
"payload": {
"recent_rows": [
{
"id": 325,
"slug": "classement-assurance-de-base",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-11T07:00:00+00:00"
},
{
"id": 295,
"slug": "meilleures-caisses-maladie-suisse-2026",
"error": "not present in local blog inventory",
"status": "published",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-06-09T09:00:49.447584+00:00",
"scheduled_at": "2026-06-09T07:00:00+00:00"
},
{
"id": 294,
"slug": "lamal-suisse-pas-chere",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-12T07:00:00+00:00"
},
{
"id": 293,
"slug": "guide-assurance-maladie-suisse",
"error": "not present in local blog inventory",
"status": "scheduled",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": null,
"scheduled_at": "2026-06-10T07:00:00+00:00"
},
{
"id": 108,
"slug": "prime-assurance-maladie-2026",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-08",
"scheduled_at": null
},
{
"id": 107,
"slug": "changer-assurance-maladie-suisse",
"error": "not present in local blog inventory",
"status": "published",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-15T09:00:38.440609+00:00",
"scheduled_at": "2026-05-15T07:00:00+00:00"
},
{
"id": 106,
"slug": "meilleure-lamal-suisse",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-06",
"scheduled_at": null
},
{
"id": 105,
"slug": "comparaison-assurance-de-base",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-05",
"scheduled_at": null
},
{
"id": 104,
"slug": "comment-choisir-assurance-sante-suisse",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 1,
"gsc_indexed": 0,
"published_at": "2026-05-04",
"scheduled_at": null
},
{
"id": 98,
"slug": "groupe-mutuel",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 97,
"slug": "css-assurance",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 96,
"slug": "comparis-assurance-maladie",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 95,
"slug": "comparatif-assurance-maladie",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-28",
"scheduled_at": null
},
{
"id": 94,
"slug": "comparateur-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-29",
"scheduled_at": null
},
{
"id": 93,
"slug": "attenuer-l-assurance-maladie",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 92,
"slug": "assurance-maladie-neuchatel",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 91,
"slug": "assurance-comparative-maladie",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 90,
"slug": "ameli",
"error": null,
"status": "deleted",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-03-31",
"scheduled_at": null
},
{
"id": 13,
"slug": "franchise-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-06-01T07:00:00+00:00",
"scheduled_at": null
},
{
"id": 12,
"slug": "criteres-assurance-maladie-suisse",
"error": null,
"status": "published",
"attempts": 0,
"vercel_ok": 0,
"gsc_indexed": 0,
"published_at": "2026-05-29T07:00:00+00:00",
"scheduled_at": null
}
]
}
},
{
"id": 1369,
"site_key": "optiprime",
"source_type": "gsc_snapshot",
"subject_key": "pages_28d",
"payload_json": {
"saved_at": "2026-06-09T18:15:03.464697Z",
"top_pages": [
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"clicks": 0,
"position": 28.382395382395384,
"top_query": "comparer assurance obligatoire",
"impressions": 693
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog",
"clicks": 0,
"position": 31.540697674418606,
"top_query": "classement assurance de base",
"impressions": 344
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"clicks": 0,
"position": 20.55140186915888,
"top_query": "classement assurance de base",
"impressions": 321
},
{
"ctr": 0.005263157894736842,
"page": "https://www.optiprime.ch/blog/assurance-maladie",
"clicks": 1,
"position": 21.6,
"top_query": "guide assurance maladie suisse",
"impressions": 190
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"clicks": 0,
"position": 56.19310344827586,
"top_query": "comparaison caisses maladie suisse",
"impressions": 145
}
],
"top_queries": [
{
"ctr": 0.0,
"query": "classement assurance de base",
"clicks": 0,
"position": 26.65909090909091,
"impressions": 88
},
{
"ctr": 0.0,
"query": "comparer assurance obligatoire",
"clicks": 0,
"position": 22.532467532467532,
"impressions": 77
},
{
"ctr": 0.0,
"query": "assurance obligatoire la moins chère",
"clicks": 0,
"position": 25.223880597014926,
"impressions": 67
},
{
"ctr": 0.0,
"query": "guide assurance maladie suisse",
"clicks": 0,
"position": 40.83582089552239,
"impressions": 67
},
{
"ctr": 0.0,
"query": "choix caisse-maladie",
"clicks": 0,
"position": 27.560606060606062,
"impressions": 66
},
{
"ctr": 0.0,
"query": "choix caisse maladie",
"clicks": 0,
"position": 26.476190476190474,
"impressions": 63
},
{
"ctr": 0.0,
"query": "optimisation prime caisse maladie",
"clicks": 0,
"position": 43.54,
"impressions": 50
},
{
"ctr": 0.0,
"query": "assurance maladie suisse pas chère",
"clicks": 0,
"position": 26.404761904761905,
"impressions": 42
},
{
"ctr": 0.0,
"query": "meilleures caisses maladie suisse 2026",
"clicks": 0,
"position": 41.5,
"impressions": 42
},
{
"ctr": 0.0,
"query": "comparaison caisses maladie suisse",
"clicks": 0,
"position": 74.8974358974359,
"impressions": 39
}
]
},
"recorded_at": "2026-06-10 00:00:13.518131+00:00",
"payload": {
"saved_at": "2026-06-09T18:15:03.464697Z",
"top_pages": [
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparateur-assurance-maladie-suisse",
"clicks": 0,
"position": 28.382395382395384,
"top_query": "comparer assurance obligatoire",
"impressions": 693
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog",
"clicks": 0,
"position": 31.540697674418606,
"top_query": "classement assurance de base",
"impressions": 344
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparis-assurance-maladie",
"clicks": 0,
"position": 20.55140186915888,
"top_query": "classement assurance de base",
"impressions": 321
},
{
"ctr": 0.005263157894736842,
"page": "https://www.optiprime.ch/blog/assurance-maladie",
"clicks": 1,
"position": 21.6,
"top_query": "guide assurance maladie suisse",
"impressions": 190
},
{
"ctr": 0.0,
"page": "https://www.optiprime.ch/blog/comparatif-assurance-maladie",
"clicks": 0,
"position": 56.19310344827586,
"top_query": "comparaison caisses maladie suisse",
"impressions": 145
}
],
"top_queries": [
{
"ctr": 0.0,
"query": "classement assurance de base",
"clicks": 0,
"position": 26.65909090909091,
"impressions": 88
},
{
"ctr": 0.0,
"query": "comparer assurance obligatoire",
"clicks": 0,
"position": 22.532467532467532,
"impressions": 77
},
{
"ctr": 0.0,
"query": "assurance obligatoire la moins chère",
"clicks": 0,
"position": 25.223880597014926,
"impressions": 67
},
{
"ctr": 0.0,
"query": "guide assurance maladie suisse",
"clicks": 0,
"position": 40.83582089552239,
"impressions": 67
},
{
"ctr": 0.0,
"query": "choix caisse-maladie",
"clicks": 0,
"position": 27.560606060606062,
"impressions": 66
},
{
"ctr": 0.0,
"query": "choix caisse maladie",
"clicks": 0,
"position": 26.476190476190474,
"impressions": 63
},
{
"ctr": 0.0,
"query": "optimisation prime caisse maladie",
"clicks": 0,
"position": 43.54,
"impressions": 50
},
{
"ctr": 0.0,
"query": "assurance maladie suisse pas chère",
"clicks": 0,
"position": 26.404761904761905,
"impressions": 42
},
{
"ctr": 0.0,
"query": "meilleures caisses maladie suisse 2026",
"clicks": 0,
"position": 41.5,
"impressions": 42
},
{
"ctr": 0.0,
"query": "comparaison caisses maladie suisse",
"clicks": 0,
"position": 74.8974358974359,
"impressions": 39
}
]
}
},
{
"id": 1365,
"site_key": "optiprime",
"source_type": "learningseo_site_feedback",
"subject_key": "optiprime",
"payload_json": {
"site_key": "optiprime",
"project_name": "Optiprime",
"applied_topics": [
"fundamentals",
"execution",
"technical",
"content",
"links",
"automation"
],
"contradictions": [
"Average ranking remains weak. Content coverage and intent fit need to improve before scaling output volume."
],
"sop_candidates": [
"Treat crawlability, indexation, and internal-link architecture as preconditions before content-scale actions.",
"Prioritize title/H1/intent refreshes on visible pages before creating new pages for adjacent intents.",
"Every new or refreshed priority page should receive a deliberate internal-link plan from existing related pages.",
"Automated actions must emit events, measurements, and postmortems by default."
],
"lessons_created": 7
},
"recorded_at": "2026-06-10 00:00:11.013074+00:00",
"payload": {
"site_key": "optiprime",
"project_name": "Optiprime",
"applied_topics": [
"fundamentals",
"execution",
"technical",
"content",
"links",
"automation"
],
"contradictions": [
"Average ranking remains weak. Content coverage and intent fit need to improve before scaling output volume."
],
"sop_candidates": [
"Treat crawlability, indexation, and internal-link architecture as preconditions before content-scale actions.",
"Prioritize title/H1/intent refreshes on visible pages before creating new pages for adjacent intents.",
"Every new or refreshed priority page should receive a deliberate internal-link plan from existing related pages.",
"Automated actions must emit events, measurements, and postmortems by default."
],
"lessons_created": 7
}
}
]
}