For a site migration with many chronologically sorted pages (4000+ existing, ~1000 new per year), I’m organizing them into date-based subfolders for performance reasons. Pages are stored at /archive/2025/10/<page-uid>, URLs are rewritten to /archive/2025-10-<page-uid>, and a custom route handler resolves the actual page path.
Editors shouldn’t need to worry about this folder structure—it should be derived automatically from a date field:
- New drafts are stored in
/archive/_drafts/ - When published, pages move to their date-based folder (e.g.,
/archive/2025/10)
Moving pages when they change status is working via the page.changeStatus hook.
I’ve also overridden the submit method of Kirby’s page.changeStatus dialog to return a redirect field (like the page.move dialog does), which successfully redirects the Panel after publishing
But how can i redirect the panel to the new location when a published page date field is changed?
I move the page to its new date-based location in a page.update:after hook. However, the Panel throws an error because it can’t find the page at the old location anymore.