Homepage platformOS Logo


Last edit: Apr 17, 2020

Metadata is a property to store any kind of key-value pairs. A page can be extended using metadata, for example:

  title: "This it the title"
  description: "A description"
  tags: ["signup", "choose", "landing"]

Displaying metadata on the page

Metadata is available through Liquid as context.page.metadata:

<h1>{{ page.metadata.title }}</h1>

<section>{{ page.metadata.description }}</section>

  {% for tag in page.metadata.tags %}
    <li>{{ tag }}</li>
  {% endfor %}

<strong>{{ page.metadata.tags | join: "," }}</strong>

Searching for a page using its metadata

You can search for a page using its metadata in GraphQL queries (all support page and per_page pagination arguments). Here's an example of a GraphQL query with all possible parameters.

query find_page(
  $page: Int
  $per_page: Int
  $metadata: String
  $exclude: String
  $has_key: String
  $name: String
  $value: String
) {
  pages: pages(
    page: $page
    per_page: $per_page
    filter: {
      metadata: {
        contains: $metadata,
        has_key: $has_key,
        attribute: {
          key: $name,
          value: $value
        exclude: $exclude
  ) {

    results {

Some examples of using the above query from a Liquid template to find metadata:

Find pages WITH word TITLE somewhere in metadata (in keys or values)

{% graphql q = 'find_page', page: 1, per_page: 20, metadata: "TITLE" %}

Find pages WITHOUT word TITLE in metadata (in keys or values)

{% graphql q = 'find_page', exclude: 'true', metadata: "TITLE" %}

Match pages having top-level key tags

{% graphql q = 'find_page', has_key: 'tags' %}

Match pages without "tags" key

{% graphql q = 'find_page', exclude: 'true', has_key: 'tags' %}

Match pages with key tags having (or including) value bar

{% graphql q = 'find_page', name: 'tags', value: 'bar' %}

Match pages that do not have key tags equal (or including) to bar

{% graphql q = 'find_page', exclude: 'true', name: 'tags', value: 'bar' %}

Related topics

Contribute to this page

Github Icon


We are always happy to help with any questions you may have.

contact us