{"id":83999,"plugin_id":"plugin_asdk_app_6ad8713615b0819191f7a3c9c7c68999","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-11-06T07:21:16.269Z","digest":"3c17fc9722a6cd86b1b70a0969b18c1a9b2f563a173fbd46c1d89fd29bbf9fa9","against":null,"payload":{"description":"Diagnose a drop in Google organic traffic by comparing Search Console periods and auditing the pages that lost the most clicks. Use when the user says traffic fell, clicks dropped, a page stopped ranking, or asks what happened to their SEO. Requires the DidYouSEO MCP connector with Search Console connected.","included_files":[],"name":"traffic-drop-diagnosis","skill_md_contents":"---\nname: traffic-drop-diagnosis\ndescription: Diagnose a drop in Google organic traffic by comparing Search Console periods and auditing the pages that lost the most clicks. Use when the user says traffic fell, clicks dropped, a page stopped ranking, or asks what happened to their SEO. Requires the DidYouSEO MCP connector with Search Console connected.\n---\n\n# Traffic drop diagnosis\n\nWork out whether a drop is technical, a ranking loss, a demand change or a result-page change, and say which with evidence.\n\n## Tools\n\n- `get_search_console_changes` (website, days) - biggest click losers and gainers against the previous period, with position changes.\n- `run_seo_audit` (url) - audit the pages that lost the most.\n- `check_robots_txt` (url) - rule out a crawl block.\n- `get_ga4_organic_traffic` (website, days) - confirm the drop in real visits, if Google Analytics is connected.\n\n## Steps\n\n1. Ask when the drop started if the user didn't say. Use a window that covers it: `days: 28` for a recent drop, `days: 90` for a slow decline.\n2. Call `get_search_console_changes`. If Google Analytics is connected, also call `get_ga4_organic_traffic` for the same window: if Search Console clicks held but GA4 organic sessions fell, suspect tracking (a removed or broken GA4 tag), not SEO.\n3. Classify the pattern from the losers:\n   - **Position fell, impressions held** - ranking loss. Likely content or competition.\n   - **Impressions fell, position held** - demand or seasonality. Fewer people searching.\n   - **Impressions held, position held, clicks fell** - the result page changed (AI Overview, new features). CTR problem, not a ranking problem.\n   - **Many pages fell at once, sitewide** - technical issue or a Google update.\n4. For a sitewide drop, run `check_robots_txt` on the homepage and `run_seo_audit` on the homepage and the top 2 losing pages. Look for noindex, canonical, robots or server errors first.\n5. For page-level drops, run `run_seo_audit` on the top 3 losing pages.\n6. Only call something a Google update if the timing matches and nothing technical explains it. Say it's a hypothesis.\n\n## Output format\n\n```\nWhat happened: <one sentence with the numbers>\nMost likely cause: <category> - <evidence>\nRuled out: <what you checked and found fine>\n\nFix\n1. <action>\n2. <action>\n\nWatch: <what to re-check and when>\n```\n\n## Limits\n\n- Audits and single-URL checks (`run_seo_audit`, `run_pagespeed_insights`, `analyze_meta_tags`, `check_robots_txt`, `validate_schema`, `serp_preview`, `check_core_web_vitals`, `check_open_graph`, `check_hreflang`) count as page checks. On the Free plan there are 10 a day. If a tool says \"Daily limit reached\", stop calling them, tell the user the limit resets at 00:00 UTC, and finish with the data you have.\n- On the Free plan, the Search Console and Google Analytics tools return a short preview. Say the results may be incomplete.\n- Don't mention prices or upgrades. If the user asks how to get more, say plan details are on didyouseo.com.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}