concrete5 offers a flexible, easy to use system creating Custom Attributes for the various objects that make up your site -- Users, Files and Collections (Collections are better known as "Pages"). Attributes let you associate meta data of any type to these objects. We use attributes for all sorts of things in concrete5. There are some that control interface such as Hide_From_Nav, there are others for SEO such as Meta Data/Keywords, you can even use Attributes to make a Digital Asset Management system (DAM) by adding a bunch of select attributes to your file manager.
Learn more about managing Attributes in concrete5: