Another important feature for your content management system is support for breadcrumbs. From the database's perspective, this feature will only require the addition of a single field, indicating the parent page for all pages in the CMS. This data allows you to construct a tree structure as you write out pages to the filesystem. This simple addition can provide a navigational aid that will have a tremendous positive impact on your visitors. But generating the tree structure will likely require some recursive calls in your program so sure to watch out for infinite recursion.
Creating the infrastructure required to support breadcrumbs has a beneficial side effect. The breadcrumb infrastructure creates a meta structure of your website. This structure is completely independent of navigation and filesystem layout. As a result, this meta structure resolves one of the more challenging tasks a webmaster faces; automatic sitemap generation. Rebuilding your breadcrumb tree will not only list all of the pages in your content management system, it will also provide the hierarchical structure necessary to generate a usable sitemap. As your website scales in size, this feature will progress from cute benefit to critical infrastructure.