From platinum-seo-engine
Use when: kullanıcı "migration map", "redirect map", "site taşıma", "URL değişikliği", "301 haritası", "domain taşıma", "redirect planı", "eski URL'leri yeni URL'lere yönlendir", "migration verify", "redirect doğrula" der ya da /pseo-migration-map çağırır. Free (paid MCP yok) — SF export + master.xlsx okur. Also use when: bir site/CMS/domain taşıması planlanıyor; eski-site SF crawl inventory'si alındı; operatör bir url-mapping.csv (+ opsiyonel regex mapping-rules.json) sağladı; bulgular master.xlsx#redirect_404'e key=url merge ile yazılacak (plan modu) veya post-launch crawl ile doğrulanacak (verify modu); 301 haritası + sunucu-config snippet'leri + faz-geçit checklist raporda üretilecek (recommendation-only, operatör deploy eder). Do not use when: tek-URL retire/sunset (content-remediation, R-90/R-91, ayrı — bu skill BULK harita yapar); SF export yok (sf-import önce, DURUR); robots.txt/ noindex denetimi (robots-policy-audit); master.xlsx yokken (init-project önce); GSC'ye sitemap submit / Change-of-Address (operatör-only, motor YAZMAZ).
How this skill is triggered — by the user, by Claude, or both
Slash command
/platinum-seo-engine:migration-mapThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Site-migration / redirect-map playbook per `rules/tech-seo-governance.md`
Site-migration / redirect-map playbook per rules/tech-seo-governance.md
R-134 (Migration Redirect-Map Contract), R-135 (Migration Phase Gate),
R-136 (Post-Migration Verification & Rollback Watch). SF's redirect_chains
is a Tier-1 export collected on every crawl but consumed by nothing; this skill
turns it (plus the old-site inventory + an operator mapping seed) into a
one-to-one redirect map and a post-launch verification.
Recommendation-only (R-135). The engine produces the map + the verification;
the operator deploys (htaccess/nginx/platform snippets are recommendations,
emitted as report text). The engine NEVER writes to client infrastructure, NEVER
calls mcp__gsc__submit_sitemap, and NEVER auto-triggers Change-of-Address (no
API exists — GSC UI is operator-only). The Excel write is behind the standard
request_approval gate. Scope fence: content-remediation owns single-URL
retire (R-90/R-91); this skill handles the BULK map and never re-issues a
single-URL retire.
mode, enum-in-description per W-F3 D1)plan — read the old-site inventory + the operator seed, expand explicit
pairs + ordered regex rules over the full inventory, lint, and write
redirect_404 rows (status: TODO). A mode value that is neither plan
nor verify → DURUR (the skill refuses with an explanation, never guesses).verify — read the post-launch crawl (redirect_chains.csv +
response_codes_all.csv), confirm each map row resolves old → single-hop 301 →
200, and update matching redirect_404 rows' status (DONE for verified;
rows stay TODO/ONGOING otherwise). R-136 cadence (T+1d / T+7d / T+30d) is a
report checklist, not a scheduler.master.xlsx#redirect_404 — {url, inlinks, action, target_url, status} rows
(action carries 301/410 per R-91 convention; status = statusEnum). Written
via scripts/util/sheet_merge.merge_keyed_rows(..., key_column="url") —
idempotent re-runs replace the same url keys in place and preserve foreign
rows (sf_projection's own redirect_404 rows survive). sf-import's
transaction.replace wipes the sheet → re-run after every sf-import.outputs/reports/{date}-migration-map.md — map stats + unmapped triage table +
lint findings + server-config snippet section + the R-135 phase-gate checklist
(incl. the Change-of-Address line when the domain changes) + (verify) the
verification table + rollback recommendation.events.jsonl — append_provenance(source.kind="sf_csv", operation="project_excel", target_excel_sheet="redirect_404").Mirrors tech-audit's shape minus the budget pre-flight (this skill is free).
workflow_runner.create_run(skill="migration-map", mode=...).sf-exports/{date}/raw/; plan: read
internal_all.csv (Address + Inlinks) + the seed *-url-mapping.csv
(old_url,new_url,action) + optional *-mapping-rules.json (validated against
schemas/migration-mapping.schema.json); read master.xlsx#gsc_performance
(url/clicks, read-only) for traffic-critical detection. verify: read
redirect_chains.csv + response_codes_all.csv from the post-launch export.from scripts.planning import migration_map_transform as mmt
# plan
out = mmt.build_map(inventory_rows, mapping_pairs, mapping_rules, gsc_rows,
homepage_collapse_pct=homepage_collapse_pct)
# verify
res = mmt.verify_map(redirect_rows, redirect_chain_rows, response_rows)
build_map lints loops/self-redirects (RED), chains > 3 hops, homepage-collapse
%, traffic-critical-unmapped, duplicate-target fan-in — and never silently
drops an old URL (every one is a row or listed in unmapped, R-134).
verify_map flags 302/307-leaks, chains > 3 hops, 4xx/5xx regressions, and
redirect-to-homepage drift (R-136), with a RedirectChainsSchemaDriftError
guard on column drift.request_approval(...) ("N redirect satırı
master.xlsx#redirect_404'e yazılsın mı?"); skill EXIT awaiting_approval.sheet_merge.merge_keyed_rows(master_xlsx, "redirect_404", out["redirect_rows"], key_column="url", run_id=..., project_slug=..., writer="migration-map") (plan), or update matching rows' status (verify).render_template.py templates/reports/migration-map.template.md
→ outputs/reports/{date}-migration-map.md (server-config snippets +
phase-gate checklist as recommendation text).append_provenance(source.kind="sf_csv", operation="project_excel", target_excel_sheet="redirect_404", rows_written=...).events_writer.append_work(event_type="redirect_deployed", task_id=...)
(event_kind=work). This is gated on the approval/confirm step and is
never autonomous — the engine does not deploy and does not assume
deployment. Until confirmed, rows stay TODO.workflow_runner.complete(...) with string-typed outputs.Stop and flag the manager — do not patch, do not fabricate.
mode is neither plan nor verify (refuse with explanation — never guess a mode).internal_all.csv (inventory) missing — run sf-import first.*-url-mapping.csv) absent — a bulk map needs
the operator's old→new decisions (an LLM session may DRAFT the seed; the engine
does not invent targets).redirect_chains.csv missing, or its Address column absent
(RedirectChainsSchemaDriftError) — re-export with default columns.master.xlsx#redirect_404 row schema mismatch on write (RowSchemaError).lint.verdict == "RED") — surface
for operator resolution before any deploy.PSEO_WORKSPACE_ROOT unset and no workspace_root arg.rules/tech-seo-governance.md (R-134 / R-135 / R-136); rules/content-update-discipline.md (R-91 single-URL 301/410 — the content-remediation scope fence).scripts/planning/migration_map_transform.py (build_map, verify_map,
MigrationMapError, RedirectChainsSchemaDriftError).scripts/util/sheet_merge.py (merge_keyed_rows, key=url).schemas/master-excel.schema.json#redirect_404 (5-col + statusEnum),
schemas/migration-mapping.schema.json (optional regex rules),
schemas/events.schema.json (redirect_deployed work event — enum-legal, no change).templates/reports/migration-map.template.md.commands/pseo-migration-map.md.master-task-sync (optional follow-up tasks via primary_source: "redirect_404"),
indexing-ping (sitemap-submit recommendation — operator-consent gated), drift-check.budget.uses_paid_mcp=false; GSC reads are cost-0 and optional.skill-frontmatter.schema.json;
redirect_404 rows validate against master-excel.schema.json#redirect_404.merge_keyed_rows replaces the same url keys in place; foreign sf_projection rows preserved.redirect_deployed event gated on operator confirm — never autonomous (append-only via events_writer).npx claudepluginhub popiliadam/platinum-seo-engine --plugin platinum-seo-engineExecutes platform content migrations, consolidations, and URL restructures while preserving SEO equity. Guides through inventory, audit, and redirect mapping across any CMS or domain setup.
Creates, audits, and fixes URL redirects (301/302) for WordPress and Webflow sites. Detects chains and loops, deploys via CMS MCP.
Use when planning redirects or site migration. Covers 301 vs 302 vs 307/308, migration plans, redirect chains, link equity preservation, www/non-www, HTTP→HTTPS, 404 monitoring.