Cascading updates
How folder moves and Edit URL rewrite descendant page URLs, and the safeguards that stop accidental rewrites.
A folder's URL is part of every page beneath it, so changing it can rewrite many URLs at once. The plugin only does that when you ask for it explicitly.
Display name and URL are independent
Renaming a page or folder (its title or name) never changes its URL segment. To change a URL, use the Edit URL action. This has been the behaviour since v0.3.13.
A URL can change in two ways, and both cascade to descendants:
- Moving a folder. When you move a folder in the tree, choose Keep existing URLs (the default — pages stay where they are) or Update URLs (every page in the folder and its subfolders gets a new slug from the new path).
- Edit URL on a folder. Changing a folder's
pathSegmentregenerates the slug of every page beneath it.
Edits made through Payload's standard folder edit screen never cascade. Only the tree's Update URLs choice, Edit URL and Regenerate URLs rewrite descendant slugs.
Edit URL
Right-click any page or folder and choose Edit URL to change its URL segment without touching its display name. The modal has two safeguards.
- Live availability check. As you type, a debounced (300 ms) server check shows a green "Available" or a red "URL is already in use" indicator. Save stays disabled until the segment is valid and available, so a duplicate segment can't be saved. The server checks again on save and answers
409if the segment was taken in the meantime. - Type-to-confirm gate. Changing a folder's segment — or moving a folder with children while choosing Update URLs — shows the exact number of pages affected and asks you to type the new segment before it proceeds. This applies to single and bulk folder moves.
Use these controls to reorganise content without breaking existing links: keep URLs when a move is only organisational, and update them when the new structure should show in the address.
Every old URL is kept in the page's URL history, so you can still build redirects after a cascade.
Postgres migration when upgrading to v0.3.13+
The slug history reason field gained an 'edit-url' value, which is a schema change on Postgres. Run a migration before using this version:
pnpm payload migrate:create
pnpm payload migrateThe generated migration adds the value with ALTER TYPE ... ADD VALUE 'edit-url' on the slug history enum of each managed collection and its versions table. MongoDB and SQLite need no migration, and no adapter needs a data migration — existing reason: 'rename' entries stay valid.

