Classify your content according to tag, category and persona.
Drupal has strong data modelling capabilities, making it easy to cross link content and form relationships. The most basic way to do this is to group content by classifying it using taxonomies.
The way we classify depends very much on the site and the way information is to be presented, so there are no strict rules. However, we have found the following vocabularies helpful for classifying content.
Standard content types
Use category as a general purpose controlled vocabulary. This can be useful if you have a clear set of terms which apply across all content, however, for many sites this is not the case and there may be domain specific approaches which would be better.
Use tags as a dynamic uncontrolled vocabulary. Tags can be useful when you want editors to be able to organise content in an unstructured way and build pages based around terms they wish to optimise for SEO. These days tags are less often used. We would generally try to elevate the subjects represented by tags into first class objects which editors spent time and care on.
Use person to assign content to different groups of users. Personas are very useful for bubbling content up onto landing pages targeted to certain user groups. For example, anonymous users may self select a persona by following a call to action link on the homepage. Another more advanced example would be customers being assigned a persona in a CRM, such as Salesforce, and having this sync across to the site for personalisation.
Extend as you like
During the discovery phase of your project we will be on the lookout for relationships in the data and considering how they may be navigated by users as they explore your site. As they are discovered they can be added to the data model for your site and implemented during build time.