Skip to Content
Delmare Digital

Overview

Build nested page URLs from Payload's built-in folders, and manage them in a drag-and-drop tree in the admin panel.

payload-page-tree builds each page's URL from the folders it sits in. You create folders in the Payload admin, give each one a URL segment, and put pages inside them. The plugin writes the full path into the page's slug field, keeps a history of old URLs, and adds a drag-and-drop tree view at /admin/page-tree for reorganising everything.

It extends Payload's own folders feature. Folders only organise content; there are no placeholder pages to create.

web-design → /services/web-design
branding → /services/branding
spring-campaign → /appeals/2024/spring-campaign
about → /about

Features

  • Minimal config — works with pages and posts collections by default, and skips any that don't exist in your config.
  • Visual tree view — drag-and-drop reorganisation in the admin panel, with multi-select.
  • Generated slugs — hierarchical URLs from folder paths, for example /appeals/2024/spring-campaign.
  • URL history — the last 20 URLs of every page are recorded, and any of them can be restored.
  • URL preservation — when you move a folder, choose whether its pages keep their URLs or get new ones.
  • Collection switching — a dropdown filters the tree by collection when more than one is configured.
  • Native folders — built on Payload's folders feature; folders are purely organisational.
  • Works with other plugins — runs alongside Puck, SEO and other plugins. See Plugin order.

Requirements

Peer dependencyVersion
payload>=3.0.0
next>=14.0.0 (14, 15 and 16)
react>=18.0.0 (18 and 19)
@payloadcms/ui>=3.0.0 (optional)
@payloadcms/next>=3.0.0 (optional)

Start here

Edit this page on GitHub

On this page