For any large organisation, a corporate website is a living entity. It grows, evolves and over time can become cluttered with content that is outdated, irrelevant or has no clear owner. This phenomenon - often called rather nauseatingly "content rot" - is a common challenge, and one that a client of ours was keen to solve.
The Problem: Drowning in a Sea of Content
During a recent discussion about pain points, our client highlighted a challenge that will resonate with many content managers. Their CMS excels at organising content within a logical, hierarchical tree but this structure has become a barrier to effective content governance. Content editors, in particular, felt overwhelmed by an ever-growing backlog of updates. Despite their efforts, the site remained stagnant while editors found themselves stuck in a cycle of reactive, inefficient work.
The core pain points were:
- The Tyranny of the Tree: The content tree, with its nested folders and parent-child relationships, is excellent for navigation but inefficient for analysis. To find pages that hadn't been updated in a year, an editor would have to manually expand hundreds of nodes, drilling down into each section of the site. There was no way to get a simple, bird's-eye view of all content at once. It was like trying to take inventory of a forest by inspecting one tree at a time.
- Manual, Mind-Numbing Traversal: The review process was a click-intensive, manual slog. An editor had to navigate through the content tree, open a page, check its modification date, make a note, and then move to the next one. This process was not only inefficient and prone to human error but also made it nearly impossible to spot systemic issues, like an entire product section that had been neglected for years.
- Workflow Blind Spots: The existing workflow system was designed to manage the creation and approval of new content, not the lifecycle of existing content. A page could be sitting in a "Published" or "Approved" state for years, giving a false sense of security. The workflow didn't trigger reviews based on age, and there was no mechanism to initiate a bulk review or assign a batch of stale pages to a specific editor. The system was great at answering "Is this page approved to be on the site?" but offered no help with the more critical question: "Should this page still be on the site?"
Their team of content managers / reviewers needed a way to cut through the hierarchy and see the data for what it was: a simple list of pages that needed their attention.
The Solution: A Content Review Dashboard
The initial idea was to create a "Content Review Dashboard." Instead of a content tree, we would present all the pages in a single, flat table. This would allow editors to sort and filter content based on various criteria, making it easy to spot pages that needed attention.
The core of this dashboard would be a table with columns like:
- Title & Description: For quick identification.
- Published & Last Modified Date: The key metrics for finding stale content.
- Owner: To ensure accountability.
- URL & Edit Link: To allow for immediate action.
- Other data component field values.
Refining the Approach: From Idea to Robust Plan
While the concept was sound, a quick collaboration with the development team, highlighted critical performance considerations. Querying the CMS database and calculating all this information in real-time for every page load would put an unnecessary strain on the system.
Together, we devised a more elegant and performant solution:
- A Dedicated Database: We would create a separate table in the database specifically to store the metadata for each page. This decouples the dashboard from the live content tree, making it fast and efficient.
- Scheduled Updates: A scheduled task would run regularly (e.g., nightly) to scan all the pages and update the dedicated table with the latest information.
- Real-time Sync: To keep the data fresh between scheduled runs, we implemented a "publish hook." Every time a page is published in the CMS, the system automatically updates that page's entry in our new table.
- Intelligent Filtering: The team also introduced a brilliant feature: a configurable mechanism to exclude common, site-wide components (like headers, footers, and navigation) from the "last modified" calculation. This prevents a minor change to the main menu from incorrectly marking every single page on the site as "fresh."
The Result: An MVP with Immediate Impact
Following a focused development effort from the ClerksWell team of just under three weeks, the Minimum Viable Product (MVP) was delivered. The result was a seamless and secure dashboard integrated directly into the CMS back-office. Our solution was first built to work with Sitecore and we are looking forward to rolling it out to Umbraco and Optimizely clients.
Content managers or Reviewers have a powerful tool at their disposal. They can instantly see a filterable, sortable list of all site content, sorted by the oldest modification date. This has transformed their content review process from a manual, time-consuming chore into a quick and efficient task.
As a bonus, we also included an automated email feature. If desired, key stakeholders now receive a weekly digest of pages that haven't been updated in a set number of days, proactively bringing stale content to their attention.
This project is a perfect example of how a simple, well-designed tool, born from a real user need and refined through collaborative technical planning, can solve a complex problem and deliver immediate value.
Ready to take control of your content?
Get in touch with Clerkswell to discover how our Content Review Dashboard can make an immediate and transformative impact on your website and your team. Say goodbye to content chaos and hello to clarity, efficiency, and real results.
Let’s talk about how we can help you streamline governance and empower your editors.