As soon as you create the rules to automatically display certain content for a given page, the business may want changes. So instead of just displaying all press releases in reverse order by date, the requirement may evolve to eventually include some to all of the following.
- but make the sort order controllable by the user (and save the setting until the next user session)
- and "lock" certain 2, no 3, actually 5 articles at the top as curated or selected by authors
- also show related articles on the side (but not on the mobile site, show them at the end in a one-column format for mobile devices)
- oh wait, don't forget to remove duplicates and include promoted content while you're at it
- and show disclaimers in the footer...
- based on certain phrases in the content*
- oh and let users save favorite items
- ...and manage them in their profile
- ...and share them to their favorite social media sites
- now let's do the same for products, but with more (taxonomy) sorting options than just release date
Also evaluate your investment in this much Web application logic. Basically, does your Web analytics and user research support the cost and maintenance for adding these features and/or can you standardize an approach? Do users find your content through the "related articles" links, via navigation, or through search? If it's search, maybe search experience optimization or inbound marketing is the most important thing.
Though features may make your site look like you spent a lot of effort on it, not all features are benefits.Otherwise, consider a personalization engine instead of just metadata and (custom) queries.
*By the way, I haven't seen an out-of-the-box solution for the "automatically add disclaimers" requirement, but it is easier with modular content. Approaches for such dynamic disclosures include:
- The content management system lets authors add disclaimer definitions inline and custom client-side script manipulates the markup (DOM) to place numbered disclaimers at the end while removing duplicates
- The same approach and logic is done, but during publish or rendering on the content manager side
- Optionally the disclaimer text can be re-used if contained in separate components