Sites Config Files| Hitchhikers Platform

Overview

The sites-config directory at the root of a Pages project contains configuration files for your Pages app. At a minimum, the sites-config directory must contain a file named ci.json which specifies configuration for the continuous integration system in the pages pipeline.

The directory can contain the following files:

  • ci.json (required)
  • features.json
  • serving.json
  • redirects.csv
  • sitemap.json
  • auth.json


ci.json

This required configuration configures the continuous integration pipelines with the Yext pages system. For a full explanation check out this doc.


features.json

This is an automatically generated file that specifies templates and stream configuration for your Pages app. This file is generated when running the yext pages generate command. Note: because this is an automatically generated file, you should NOT modify it.

The example below demonstrates a features.json which specifies templates (aka features) and the streams used to power the Pages site.

// features.json
{
  "features": [
    {
      "name": "location",
      "streamId": "my-stream-id-1",
      "templateType": "JS",
      "entityPageSet": {
        "plugin": {}
      }
    }
  ],
  "streams": [
    {
      "$id": "my-stream-id-1",
      "fields": [
        "name"
      ],
      "filter": {
        "entityTypes": [
          "location"
        ]
      },
      "localization": {
        "locales": [
          "en"
        ],
        "primary": false
      }
    }
  ]
}


serving.json

This file is used to configure a reverse proxy. For details on how to set up reverse proxy, check out this doc.


redirects.csv

This file allows you to configure redirects in a csv file. For a full explanation of redirects and how to structure this file, check out this doc.


sitemap.json

This file sets configuration for your site map. Full details here.


auth.json

This file provides a reference to an authentication policy for your site. The file will take the following form:

// auth.json
{
"policyName" : "example-yext-policy"
}

For full details on setting up an auth policy in the Yext platform, check out the Set up a Yext Auth-Protected Site guide.

Feedback