Under maintenance

Heretto Help

Show Page Sections

Configure Metadata in Heretto Portal

Heretto Portal provides a separate metadata control layer that enables you to configure which metadata is included in the portal HTML. Ifn a nutshell, the available configurations enable you to filter (include or exclude) existing metadata and configure custom metadata.

Important:

Metadata governance support was introduced in Heretto CCMS 25.10.30 and Heretto Portal v5, and requires a two-step activation process. First, the Heretto team must enable the feature in Heretto CCMS. Once that's done, a user assigned the Administrator role in the CCMS must enable and configure metadata in each deployment. Contact your Customer Success Manager to get started.

Metadata included in a deployment can be further controlled in Heretto Portal through configurations in the config.json file associated with the main portal sitemap. For example, you may want to exclude some metadata, define a custom value for the generator tag, or add static metadata globally.

Here's an overview of available configurations:

Metadata filtering configuration

Enables you to control which custom and system metadata included in a deployment gets carried over to Heretto Portal. It is possible by configuring the deploymentMetadata object in the config.json file associated with your main portal sitemap. By default, so when deploymentMetadata is not configured, all metadata present in a deployment is carried over to portal. See Filter Metadata in Heretto Portal.

Note:

This configuration enables you to filter all custom metadata added to files as well as some system metadata. For a list of all metadata you can filter, see Metadata Values Available for Filtering Reference.

Generator metadata configuration

Enables you to configure the generator metadata to exclude it or set a custom value for it. The generator meta tag identifies Heretto Portal as the software that created your help site. By default, this attribution appears as <meta name="generator" content="HerettoPortal"> in portal HTML. See Configure the generator Meta Tag for Heretto Portal.

Social platform metadata configuration

Enables you to control which social platform metadata is present in Heretto Portal. It is possible by configuring the specialization object in the config.json file associated with your main portal sitemap. By default, so when specialization is not configured, these metadata values are included in portal HTML: opengraph, twitter, apple, and pinterest. See Configure Social Platform Metadata for Heretto Portal.

Static metadata configuration

Enables you to add custom metadata to all Heretto Portal pages directly through a config.json configuration. It is possible by configuring the staticMetadata object in the config.json file associated with your main portal sitemap. This approach complements metadata governance in Heretto products by enabling global metadata attribution in Heretto Portal without modifying individual files in Heretto CCMS. See Configure Static Metadata for Heretto Portal.

Filter Metadata in Heretto Portal

You can control which custom and system metadata included in a deployment gets carried over to Heretto Portal by configuring the deploymentMetadata object in the config.json file associated with your main portal sitemap. When deploymentMetadata is not configured (the default), all metadata present in a deployment is carried over to the portal.

Any user with the permissions to edit the main config.json file associated with your main portal sitemap can perform this procedure. However, because only users assigned the Administrator role in Heretto CCMS can perform certain steps, we recommend that an Administrator completes it.

Custom and system metadata are CCMS metadata types. For more information, see Metadata Types in Heretto.

Note:

This configuration enables you to filter all custom metadata added to files as well as some system metadata. For a list of all metadata you can filter, see Metadata Values Available for Filtering Reference.

Note:

When filtering custom metadata, you can filter metadata fields within a metadata category defined in the Metadata interface. You can't filter by individual metadata values.

Important:

Metadata filtered out in config.json becomes unavailable to Heretto Portal but is still available to the portal search engine (expected behavior). Also, if required system metadata is incorrectly excluded by this configuration, it is still rendered in portal HTML.

If you want to filter custom metadata, first you must:

  1. Configure and enable it in the CCMS Metadata interface and add it to files. See Configure Taxonomy Metadata, Configure Label Metadata, Configure Text Metadata, or Configure Date Metadata.

  2. Enable it in the deployment. Metadata that is disabled in a deployment is excluded from portal HTML and therefore can't be filtered. See Configure Metadata in a Deployment.

Navigate to the config.json file

  1. In the Content Library, ensure that you are working in the master branch and go to your main portal sitemap.
  2. Open the main portal sitemap.
  3. In the map tree pane, click the Gear button and set your options like this:
    1. Set Icons to On.
    2. Set Show Elements to All.
    3. Set Element Names to Full.

    The map tree now shows color-coded elements with full element names. This view enables you to easily identify and modify all elements in your sitemap.

  4. Expand the sitemeta element, right-click the config.json element, and select Show file in Content Library.

Add the metaConfig object to the config.json file

  1. In the Content Library, right-click the config.json file and select Edit Source.
  2. In the Source Editor, scroll to the bottom of the file and add the metaConfig object as shown in the example.

    A metaConfig object with the exclude logic for the deploymentMetadata object. Note no comma after the deploymentMetadata object.

    "metaConfig": {
            "deploymentMetadata": {"exclude": ["metadataValueA", "metadataValueB"]}
    }
  3. Decide if you want to use the exclude or include logic for metadata filtering.
    include

    All metadata present in a deployment is excluded from portal, except for the metadata listed in the deploymentMetadata configuration.

    "metaConfig": {
    		"deploymentMetadata" : {"include": ["metadataValueA"]}
        }
    exclude

    All metadata present in a deployment is included in portal, except for the metadata listed in the deploymentMetadata configuration.

    "metaConfig": {
    		"deploymentMetadata" : {"exclude": ["Complexity"]}
        }

Filter custom metadata (Administrators only)

  1. Open the CCMS in a new tab or window, and from the Main Menu in the top-left corner select Metadata.
  2. Scroll to a metadata field you want to filter and copy the value in the Name column.
    Note:

    Filtering is supported at the metadata field level, like Complexity, not at the level of individual values within that field. For example, you can filter by the Complexity field as a whole, but you cannot filter by a specific value assigned under Complexity.

    Layer 1
  3. Go to the config.json file and paste the copied value inside the exclude or include property.
    Important:

    If you need to add multiple name values to the exclude or include property, ensure they are separated with a comma as shown in the example. Note that there is no comma after the last value ("metadataValueB").

    The value Complexity copied from the Name column is pasted inside quotation marks ("").

    "metaConfig": {
    		"deploymentMetadata": {"exclude": ["Complexity"]}
    }
    "metaConfig": {
            "deploymentMetadata": {"exclude": ["Complexity", "metadataValueB"]}
    }
  4. Populate the include or exclude property with name values for each metadata you want to filter.

Filter system metadata

  1. Go to the config.json file and add any metadata listed in Metadata Values Available for Filtering Reference to the include or exclude property.

    The value lastModifiedISO added inside quotation marks (""). Note that there is no comma after this last value.

    "metaConfig": {
            "deploymentMetadata": {"exclude": ["Complexity", "lastModifiedISO"]}
    }
  2. Click Save.

Validate your config.json file

  1. Validate your config.json file to ensure its syntax is correct after the changes.

    JSON syntax is strict and even a missing space or an extra comma causes validation to fail. If your file contains errors, the Source Editor highlights them with a red underline and a red marker in the scroll bar. For help resolving syntax issues, try a validation service like https://jsonlint.com/.

Verify that metadata is filtered as expected

  1. Go to the portal environment associated with your master branch.

    Typically, it is a portal preview environment that uses an active sync deployment, which publishes your changes automatically.

    Note:

    You can filter all custom metadata, like taxonomy, label, text, and date metadata. All of this metadata is present in the HTML meta elements. Taxonomy metadata values are also visible as tags in Heretto Portal.

  2. Right-click a page that your configuration affects and select Inspect.
  3. At the top of the HTML page, expand the head element and inspect the meta elements listed.
    Note:

    If you see unexpected results, first verify which metadata is enabled in the deployment that publishes to your portal environment. Metadata that is disabled on the deployment level is excluded from portal HTML and therefore can't be filtered. See Configure Metadata in a Deployment.

    If you excluded lastModifiedISO, this meta element should not be present.

    <meta name="lastModifiedISO" content="2026-02-03T17:06:01.723Z">

The system and custom CCMS metadata are now filtered in the portal environment associated with the master branch. For system metadata, the changes apply to all portal pages. For custom metadata, the changes apply to pages rendering topics that contain the filtered metadata.

If the deployment from the master branch to Heretto Portal uses the active sync deployment type, your changes are visible in the staging portal environment instantaneously. If the deployment uses manual deploy, a user assigned the Administrator role in the CCMS needs to publish it to portal from the Deployments interface available under the Main Menu .

Push all files you modified from the master branch to other branches associated with your portal environments to ensure your changes are present there. Use the Branch > Replace mechanism. Branch > Merge doesn't push CCMS metadata. Then, publish your changes from the Deployments interface (Administrators only).

Metadata Values Available for Filtering Reference

You can filter all custom metadata added to files as well as some system metadata by configuring the deploymentMetadata object in the config.json file associated with your main Heretto Portal sitemap. By default, when deploymentMetadata is not configured, all metadata present in a deployment is carried over to portal.

You can view etadata present in Heretto Portal by right-clicking a portal page, selecting Inspect, and reviewing HTML meta elements inside the head element at the top of the HTML page.

These are the metadata that you can filter in Heretto Portal:

description

System metadata that shows content from the shortdesc element added in topics. Content added in shortdesc in maps and sitesection elements is not used as metadata.

Example of the metadata when included in portal HTML (default):

<meta name="description" content="Heretto Portal enables you to instantaneously deliver content from Heretto CCMS to a customizable and dynamic portal.">
lastModified

System metadata that shows when a file was last modified in Heretto CCMS. This information is also visible as the Last Modified field in Heretto CCMS for all files in the CCMS.

This metadata is updated automatically when files are edited in or re-uploaded into Heretto CCMS. When files are first created or uploaded, the Last Modified date equals the Created date.

This metadata provides the same information as lastModifiedISO but uses the Unix time format. For example, 1768587518540.

Note:

Excluding lastModified hides the Last updated information visible by default at the bottom of each portal page. Excluding lastModifiedISO doesn't have this effect.

Example of the metadata when included in portal HTML (default):

<meta name="lastModified" content="1770057497320">
lastModifiedISO

System metadata computed for Heretto Portal purposes based on the Heretto CCMS lastModified metadata.

This metadata provides the same information as lastModified but is presented in a human-readable date format showing year-month-day, time, and timezone (Z indicates UTC). For example, 2026-01-16T18:18:38.540Z.

Note:

Unlike lastModified, excluding lastModifiedISO doesn't hide the Last updated information visible by default at the bottom of each portal page.

Example of the metadata when included in portal HTML (default):

<meta name="lastModifiedISO" content="2026-02-02T18:38:17.320Z">
generator

System metadata that identifies Heretto Portal as the software that powers the help site.

Example of the metadata when included in portal HTML (default):

<meta name="generator" content="HerettoPortal">
keywords
Note:

In Heretto Portal v6, keywords is a CCMS metadata field that shows keywords added within the prolog element of a DITA topic. Staring on April 16, portal v6 becomes the default experience for new Heretto customers. Existing Portal customers will be migrated to v6 through a tailored approach, guided by a discovery-driven process aligned to their specific needs and technical requirements. Reach out to your Customer Success Manager (CSM) to learn more about what this process will look like for your team.

Metadata that combines:

  • Taxonomy metadata added to a file

  • DITA keywords added in the topic prolog element

  • Breadcrumbs visible in Heretto Portal

Which of this metadata is included depends on which is available:

  • Custom metadata is always used when present. When custom metadata is not present, keywords are used.

  • Keywords are always used when present. When keywords are not present, breadcrumbs are used.

  • Breadcrumbs are only used if a topic contains no keywords.

An example of this metadata when included in portal HTML (the default) that contains a keyword added in a topic prolog element and a taxonomy metadata:

<meta name="keywords" content="prolog keyword,taxonomy_metadata">
Note:

The keywords metadata can be controlled by filtering both custom metadata and system metadata. Filtering custom metadata enables you to filter only taxonomy metadata present in the <meta name="keywords"> element. In the example, it's taxonomy_metadata. Filtering system metadata enables you to filter the entire <meta name="keywords"> element.

For configuration details, see the Filter custom metadata and Filter system metadata sections in Filter Metadata in Heretto Portal.

All custom metadata enabled in a deployment

Taxonomy, label, text, and date metadata configured in Heretto CCMS and added to files. It appears in the published HTML output as individual meta elements.

For example, a Valid Thru date metadata renders as:

<meta name="Valid_Thru" content="1770076800000">

Taxonomy metadata behaves like other custom metadata and gets its own meta element:

<meta name="Taxonomy" content="taxonomy_metadata">

Unlike other metadata types, taxonomy metadata also appears in the keywords meta element and as visible tags in search results and on portal pages:

<meta name="keywords" content="prolog keyword,taxonomy_metadata">
Important:

Excluding taxonomy metadata removes the tags visible at the bottom of portal pages for topics that contain that metadata.

To filter custom metadata, see Filter custom metadata in Filter Metadata in Heretto Portal.

Configure the generator Meta Tag for Heretto Portal

The generator meta tag identifies Heretto Portal as the software that created your help site. By default, this attribution appears as <meta name="generator" content="HerettoPortal"> in portal HTML. Configure this tag to exclude this default metadata or set a custom value for it.

We recommend that an Administrator completes the entire procedure as it involves working in the Source Editor.

This procedure can be completed by any user with the permissions to edit the main config.json file associated with your main portal sitemap.

Note:

This configuration consists of two parts. The first part excludes the default generator metadata from portal HTML. The second part enables you to configure a custom generator value.

Part One: Navigate to the config.json file

  1. In the Content Library, ensure that you are working in the master branch and go to your main portal sitemap.
  2. Open the main portal sitemap.
  3. In the map tree pane, click the Gear button and set your options like this:
    1. Set Icons to On.
    2. Set Show Elements to All.
    3. Set Element Names to Full.

    The map tree now shows color-coded elements with full element names. This view enables you to easily identify and modify all elements in your sitemap.

  4. Expand the sitemeta element, right-click the config.json element, and select Show file in Content Library.

Add the metaConfig object to the config.json file

  1. In the Content Library, right-click the config.json file and select Edit Source.
  2. In the Source Editor, scroll to the bottom of the file and add the metaConfig object as shown in the example.

    If the metaConfig object is already present, make sure it contains both staticMetadata and deploymentMetadata objects.

    A metaConfig object with deploymentMetadata and staticMetadata objects. Note the comma after deploymentMetadata and no comma after staticMetadata.

    "metaConfig": {
    		"deploymentMetadata" : {"exclude": ["metadataValueA"]},
    		"staticMetadata": {"metadataName1": "metadataValue1"}
        }
    Note:

    In this example, deploymentMetadata uses the exclude logic. You can choose to use include instead.

    include

    All metadata present in a deployment is excluded from portal, except for the metadata listed in the deploymentMetadata configuration.

    exclude

    All metadata present in a deployment is included in portal, except for the metadata listed in the deploymentMetadata configuration.

Exclude the default generator metadata

  1. Depending on the logic you use in deploymentMetadata, perform one of these actions:
    • If deploymentMetadata uses exclude, add generator to it.

      "metaConfig": {
      		"deploymentMetadata" : {"exclude": ["generator"},
      		"staticMetadata": {"metadataName1": "metadataValue1"}
          }
    • If deploymentMetadata uses include, ensure generator is not listed.

      "metaConfig": {
      		"deploymentMetadata" : {"include": ["metadataValueA"]},
      		"staticMetadata": {"metadataName1": "metadataValue1"}
          }

Part Two: Configure a custom generator value

  1. In the staticMetadata object, add a new value for the generator metadata.

    The staticMetadata object set to use generator as the metadata name and Thunderbird Inc. as the metadata value.

    "metaConfig": {
    		"deploymentMetadata" : {"exclude": ["generator"]},
    		"staticMetadata": {"generator": "Thunderbird Inc."}
        }
  2. Click Save.

Validate your config.json file

  1. Validate your config.json file to ensure its syntax is correct after the changes.

    JSON syntax is strict and even a missing space or an extra comma causes validation to fail. If your file contains errors, the Source Editor highlights them with a red underline and a red marker in the scroll bar. For help resolving syntax issues, try a validation service like https://jsonlint.com/.

Verify that metadata is filtered as expected

  1. Go to the portal environment associated with your master branch.

    Typically, it is a portal preview environment that uses an active sync deployment, which publishes your changes automatically.

  2. Right-click a page that your configuration affects and select Inspect.
  3. At the top of the HTML page, expand the head element and inspect the meta elements listed.

The configuration is now in place for the portal environment associated with the master branch and applies to all portal pages. Depending on your configuration, the generator metadata is either set to a custom value or hidden from portal HTML.

If the deployment from the master branch to Heretto Portal uses the active sync deployment type, your changes are visible in the staging portal environment instantaneously. If the deployment uses manual deploy, a user assigned the Administrator role in the CCMS needs to publish it to portal from the Deployments interface available under the Main Menu .

Push all files you modified from the master branch to other branches associated with your portal environments to ensure your changes are present there. Use the Branch > Replace mechanism. Branch > Merge doesn't push CCMS metadata. Then, publish your changes from the Deployments interface (Administrators only).

Configure Social Platform Metadata for Heretto Portal

Social platform metadata controls how your content is presented when shared on social media or other platforms. When someone shares a link to your Heretto Portal page, this metadata tells the platform what to include in the preview, including the title, description, and thumbnail image.

You can control which social platform metadata is present in Heretto Portal. It is possible by configuring the specialization object in the config.json file associated with your main portal sitemap.

By default, so when specialization is not configured, these metadata values are included in portal HTML:

opengraph
Controls link previews on platforms like Facebook, LinkedIn, and Slack.
twitter
Manages the appearance of Twitter/X cards, including summary and large image cards.
apple
Handles touch icons when users save your site to their home screen on iOS devices.
pinterest
Manages rich pin information for visual discovery on Pinterest.

You can configure this metadata to include only selected social platform metadata or exclude all.

This procedure can be completed by any user with the permissions to edit the main config.json file associated with your main portal sitemap.

Navigate to the config.json file

  1. In the Content Library, ensure that you are working in the master branch and go to your main portal sitemap.
  2. Open the main portal sitemap.
  3. In the map tree pane, click the Gear button and set your options like this:
    1. Set Icons to On.
    2. Set Show Elements to All.
    3. Set Element Names to Full.

    The map tree now shows color-coded elements with full element names. This view enables you to easily identify and modify all elements in your sitemap.

  4. Expand the sitemeta element, right-click the config.json element, and select Show file in Content Library.

Add the metaConfig object to the config.json file

  1. In the Content Library, right-click the config.json file and select Edit Source.
  2. In the Source Editor, scroll to the bottom of the file and add the metaConfig object as shown in the example.

    If the metaConfig object is already present, ensure it contains the specializations object.

    A metaConfig object with and deploymentMetadata and specializations objects. Note the comma after deploymentMetadata and no comma after specializations.

    Note:

    The deploymentMetadata object is included in examples only to show a more comprehensive configuration; it is not related to the social metadata configuration.

    "metaConfig": {
    		"deploymentMetadata" : {"exclude": ["metadataValueA"]},
    		"specializations" : ["metadataValue1", "metadataValue2"]
        }

Configure social platform metadata

  1. Depending on your preference, perform one of these actions:
    • To exclude all social platform metadata, set specializations to empty.

      "metaConfig": {
      		"deploymentMetadata" : {"exclude": ["metadataValueA"]},
      		"specializations" : []
          }
    • To include only selected social platform metadata, list it in specializations.

      "metaConfig": {
      		"deploymentMetadata" : {"exclude": ["metadataValueA"]},
      		"specializations" : ["opengraph", "twitter"]
          }
  2. Click Save.

Validate your config.json file

  1. Validate your config.json file to ensure its syntax is correct after the changes.

    JSON syntax is strict and even a missing space or an extra comma causes validation to fail. If your file contains errors, the Source Editor highlights them with a red underline and a red marker in the scroll bar. For help resolving syntax issues, try a validation service like https://jsonlint.com/.

Verify that metadata is filtered as expected

  1. Go to the portal environment associated with your master branch.

    Typically, it is a portal preview environment that uses an active sync deployment, which publishes your changes automatically.

  2. Right-click a page that your configuration affects and select Inspect.
  3. At the top of the HTML page, expand the head element and inspect the meta elements listed.

The configuration is now in place for the portal environment associated with the master branch and applies to all portal pages. The social platform metadata is set according to your preference.

If the deployment from the master branch to Heretto Portal uses the active sync deployment type, your changes are visible in the staging portal environment instantaneously. If the deployment uses manual deploy, a user assigned the Administrator role in the CCMS needs to publish it to portal from the Deployments interface available under the Main Menu .

Push all files you modified from the master branch to other branches associated with your portal environments to ensure your changes are present there. Use the Branch > Replace mechanism. Branch > Merge doesn't push CCMS metadata. Then, publish your changes from the Deployments interface (Administrators only).

Configure Static Metadata for Heretto Portal

The static metadata configuration enables you to add custom metadata to all portal pages directly through a config.json configuration. It is possible by configuring the staticMetadata object in the config.json file associated with your main portal sitemap. This approach complements metadata governance in Heretto products by enabling global metadata attribution in Heretto Portal without modifying individual files in Heretto CCMS.

This procedure can be completed by any user with the permissions to edit the main config.json file associated with your main portal sitemap.

Navigate to the config.json file

  1. In the Content Library, ensure that you are working in the master branch and go to your main portal sitemap.
  2. Open the main portal sitemap.
  3. In the map tree pane, click the Gear button and set your options like this:
    1. Set Icons to On.
    2. Set Show Elements to All.
    3. Set Element Names to Full.

    The map tree now shows color-coded elements with full element names. This view enables you to easily identify and modify all elements in your sitemap.

  4. Expand the sitemeta element, right-click the config.json element, and select Show file in Content Library.

Add the metaConfig object to the config.json file

  1. In the Content Library, right-click the config.json file and select Edit Source.
  2. In the Source Editor, scroll to the bottom of the file and add the metaConfig object as shown in the example.

    If the metaConfig element is already present, ensure it contains the staticMetadata object.

    A metaConfig object with and deploymentMetadata and staticMetadata objects. Note the comma after deploymentMetadata and no comma after staticMetadata.

    Note:

    The deploymentMetadata object is included in examples only to show a more comprehensive configuration; it is not related to the social metadata configuration.

    "metaConfig": {
    		"deploymentMetadata" : {"exclude": ["metadataValueA"]},
    		"staticMetadata": {"metadataName1": "metadataValue1", "metadataName2": "metadataValue2"}
        }

Configure static metadata

  1. Add pairs of metadata name and value to staticMetadata.

    In portal HTML, each metadata is added in its own meta element.

    The staticMetadata object configured to use "metadataName1": "metadataValue1" and "metadataName2": "metadataValue2" metadata pairs.

    "metaConfig": {
    		"deploymentMetadata" : {"exclude": ["metadataValueA"]},
    		"staticMetadata": {"metadataName1": "metadataValue1", "metadataName2": "metadataValue2"}
        }

    This configuration generates this metadata in portal HTML that applies to all portal pages:

    <meta name="metadataName1" content="metadataValue1">
    <meta name="metadataName2" content="metadataValue2">
  2. Click Save.

Validate your config.json file

  1. Validate your config.json file to ensure its syntax is correct after the changes.

    JSON syntax is strict and even a missing space or an extra comma causes validation to fail. If your file contains errors, the Source Editor highlights them with a red underline and a red marker in the scroll bar. For help resolving syntax issues, try a validation service like https://jsonlint.com/.

Verify that metadata is filtered as expected

  1. Go to the portal environment associated with your master branch.

    Typically, it is a portal preview environment that uses an active sync deployment, which publishes your changes automatically.

  2. Right-click a page that your configuration affects and select Inspect.
  3. At the top of the HTML page, expand the head element and inspect the meta elements listed.

The configuration is now in place for the portal environment associated with the master branch and applies to all portal pages. The static metadata applies to all portal pages.

If the deployment from the master branch to Heretto Portal uses the active sync deployment type, your changes are visible in the staging portal environment instantaneously. If the deployment uses manual deploy, a user assigned the Administrator role in the CCMS needs to publish it to portal from the Deployments interface available under the Main Menu .

Push all files you modified from the master branch to other branches associated with your portal environments to ensure your changes are present there. Use the Branch > Replace mechanism. Branch > Merge doesn't push CCMS metadata. Then, publish your changes from the Deployments interface (Administrators only).