Allows the ability to annotate objects with metadata, according to a CMS defined schema.
PHP JavaScript Scheme CSS
Latest commit 19ae5db Jan 11, 2017 @nglasl nglasl FIX, this tab is now under "settings" for a page.
The reasoning is that content authors are unlikely to be using this (commonly anyway).
Failed to load latest commit information.
_config NEW Added default metadata schemas Aug 12, 2015
javascript API Changes to how Metadata is output Jan 21, 2013
schemas FEATURE, moving this over to use "silverstripe-australia/gridfieldext… Jan 10, 2017
templates Patched templates + code for 3.1 support Oct 4, 2013
composer.json FEATURE, moving this over to use "silverstripe-australia/gridfieldext… Jan 10, 2017

SilverStripe Metadata Module

Maintainer Contacts


  • SilverStripe 3+
  • The SilverStripe Orderable module.

Getting started

  • Add the extension to your data class, eg Object::add_extension('Page', 'MetadataExtension');
  • Navigate to the Metadata section of the CMS (/admin/metadata)
  • Create a new Metadata Schema. Note that the 'Title' is what is used to refer to the item from templates, so try and limit this to a-z0-9_-. characters - eg test_schema
  • Add a few metadata fields - some usual ones are
    • Title (title)
    • Keywords (keywords)
    • Description (description)
  • Set the 'Default' value for each of these to $Title. Leave the 'cascade' setting blank for now, as you're providing a default already
  • Navigate to a top level page and on its Metadata tab, select the schema you just created; click save
  • Enter metadata values
  • In your template, add the following to output all metadata fields
    • $MetadataMetaTags
  • To output just the values for a particular applied schema, use
    • $MetadataMetaTags(SchemaName)
  • To access raw metadata values directly, use
    • $Metadata(SchemaName,FieldName) eg $Metadata(test_schema,keywords)

Project Links