← DidYouSEOCONTENT HISTORY

Update to DidYouSEO

Snapshot Nov 6, 2026 · 07:21 UTC · version 1.1.0

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save DidYouSEO and check future changes in Following.

Up to 3 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Detect keyword cannibalization from real Google Search Console data and decide, per conflict, whether to merge, redirect, re-target or leave the pages alone. Use when the user asks about cannibalization, pages competing with each other, duplicate rankings, or rankings that keep swapping between URLs. Requires the DidYouSEO MCP connector with Search Console connected.",
  "included_files": [],
  "name": "keyword-cannibalization-fix",
  "skill_md_contents": "---\nname: keyword-cannibalization-fix\ndescription: Detect keyword cannibalization from real Google Search Console data and decide, per conflict, whether to merge, redirect, re-target or leave the pages alone. Use when the user asks about cannibalization, pages competing with each other, duplicate rankings, or rankings that keep swapping between URLs. Requires the DidYouSEO MCP connector with Search Console connected.\n---\n\n# Keyword cannibalization fix plan\n\nFind queries where two or more of the site's own pages compete, and give a decision for each conflict, not just a list.\n\n## Tools\n\n- `get_search_console_cannibalization` (website, days=90) - conflicts with competing pages, severity and the reason.\n- `analyze_meta_tags` (url) - compare the competing pages' titles and headings.\n\n## Steps\n\n1. Call `get_search_console_cannibalization` with `days: 90`.\n2. Skip low-severity conflicts unless there are no others. Two pages sharing a query is normal; it's only a problem when they split clicks or rankings swap.\n3. For each remaining conflict, call `analyze_meta_tags` on the competing pages and decide:\n   - **Merge and redirect** - both pages cover the same intent. Keep the one with more clicks, fold the other's unique content into it, 301 the weaker URL.\n   - **Re-target** - different intents that look similar (for example a guide and a product page). Change the weaker page's title and H1 to its own intent and link it to the stronger page.\n   - **Canonical** - near-duplicates that must both exist (filters, print versions). Canonical to the main one.\n   - **Leave it** - Google shows both because they serve different searchers and both get clicks.\n4. Give the reason for each decision in one line, based on the data returned.\n\n## Output format\n\nFor each conflict:\n\n```\nQuery: \"<query>\"\nPages: <url A> (<clicks>) vs <url B> (<clicks>)\nDecision: <Merge and redirect | Re-target | Canonical | Leave it>\nWhy: <one line>\nSteps: <2-4 concrete steps>\n```\n\nFinish with the order to do them in: highest-impression conflicts first.\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"
}

SHA-256 of public snapshot: f00112d9d3ad400e241c4e6d259929f4ffcf4b6be8c33c71ceb5e02683d0340a