URL Change Lockdown

Stop rogue URL changes in WordPress. Blocks programmatic updates to site URLs, permalinks, slugs, and taxonomies. 🔒

Manual changes in wp-admin still work. Optional constants for temporary unlocks.


The Problem 😬

A single automated update can rewrite URLs across your site. Slug or taxonomy changes can silently break indexed links and tank SEO.

🚫 Locked out
If site URLs change, wp-admin can become unreachable.

⚠️ Broken assets
CSS, JS, and images point to the wrong domain.

💀 404s + SEO loss
Slug or taxonomy changes break URLs already in SERPs.


The Solution ✅

URL Change Lockdown blocks programmatic changes to site URLs, permalink settings, slugs, parent pages, and taxonomies. Manual edits in wp-admin still work. Need to update via WP-CLI or migration? Use a temporary unlock constant.


What It Does

🛡️ Locks site URLs
Blocks changes to home, siteurl, and permalink settings.

🔗 Locks slugs + parents
Programmatic changes to slugs and parent pages are blocked.

🏷️ Locks taxonomies
Programmatic category, tag, and term changes are blocked.


Common Failure Scenarios

📦 Migrations
Search/replace scripts push the wrong base URL or slugs.

🧱 Staging syncs
A staging database overwrites production URLs or categories.

🤖 Automation
AI tools or scripts try to update slugs or taxonomies.


100% Free. No Catches. 🎁

✅ No premium version
Everything is included. No upsells.

✅ No tracking
We do not collect data. We do not phone home.

✅ Open source
GPL v2. Small, readable code.

Requires WordPress 5.9+ and PHP 7.4+

Frequently Asked Questions

Will this block manual changes in wp-admin?

No. Manual updates in Settings → General, Settings → Permalinks, and post edit screens still work.

Does it block post/page slugs and parent pages?

Yes. Programmatic changes to slugs and parent pages are blocked unless explicitly allowed.

Does it block taxonomy changes?

Yes. Programmatic category, tag, and other term changes are blocked.

How do I allow programmatic changes temporarily?

Define URL_LOCKDOWN_ALLOW (or URL_LOCKDOWN_ALLOW_CLI for WP-CLI) in wp-config.php, make the change, then remove it.

Does it block content edits?

No. It only blocks URL-related changes. Content updates still work.

Will this affect WP-CLI or migrations?

Yes by default. Use the temporary constants to allow scripted updates.