# Setting Up Sitemap Feed with Outbound Feeds

Source: https://dev.arcxp.com/arc-io/developer-docs/setting-up-sitemap-feed-with-outbound-feeds/

## Feed Setup

The standard Sitemap feed is a platform level Arc feed block with configurable and customizable parameters.

See [How to set up and configure an Outbound Feed](https://dev.arcxp.com/arc-io/developer-docs/how-to-set-up-and-configure-an-outbound-feed/) to configure the standard Sitemap feed.

## Sitemap Configuration

### **1\. ANS Image Title Key**

Arc XP Native Specification (ANS) field to get the image title from promo\_items.basic.

default: `title`

### **2\. ANS Image Caption Key**

ANS field to get the image caption from promo\_items.basic.

default: `caption`

## Featured Image

### **1\. Include Promo Images**

Used to determine whether to include an image in the sitemap or not. True/False

default: `true`

### **2\. Path to promo\_items**

ANS field to use for the featured image, supports a JMESPath statement.

default: `promo_items.basic || promo_items.lead_art`

### **3\. Image height and or Width**

A set of key value pairs where you can set an integer height and or width to resize all images. Zero means no resizing will be performed.

default: `height: 0, width: 0`

## Format

### **1\. Last Modified Date**

Which ANS date field should be displayed.

Select one: `created_date`, `display_date`, `first_publish_date`, `last_updated_date`, or `publish_date`.

default: `last_updated_date`

### **2\. Priority**

Sitemap priority is a hint to the bots consuming the sitemap of how important these links are in the website. Google says they ignore this field and instead look at how often the content changes.

Select one: numbers from 0.0 to 1.0

default: `0.5`

### **3\. Change Frequency**

Denotes the suggested frequency bots should revisit the sitemap for updates. This has no impact on how long the page will be cached in Arc. Google says they ignore this field and instead look at how often the content changes.

Select one: always, hourly, daily, weekly, monthly, yearly, never, Exclude field

default: `always`

## Resolver Configuration

Each feed template needs to have a resolver applied. To [create a resolver](https://dev.arcxp.com/arc-io/developer-docs/setting-up-resolvers-for-outbound-feeds/), you must configure the following fields:

### 1\. **Resolver Name**

Unique name given to the resolver

### 2\. **Resolver Priority**

Number to indicate priority order (1 to 100). Lower numbers are evaluated first.

### 3\. **Regex Pattern**

```regex
^/arc/outboundfeeds/sitemap/?$|
^/arc/outboundfeeds/sitemap/category/(.*)/?$|
^/arc/outboundfeeds/sitemap/author/(.*)/?$|
^/arc/outboundfeeds/sitemap/keyword/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags_slug/(.*)/?$
```

### 4\. **URL Parameters**

outputType xml (required: true) You can add optional parameters like; from, size, etc.

![Site Map URL Parameters](https://dev.arcxp.com/_astro/KB0010290-1.D3GS9Xkc_Z1hOlOU.webp)

### 5\. **Websites**

all

### 6\. **Content Source**

feeds-content-api

There are additional content sources available out-of-the-box. See [Content sources with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/content-sources-with-outbound-feeds/) for more information.

### 7\. **Patterns**

These positions come from the regex pattern. There are a number of ways to pass a section (or author, keyword or tag) to the content source from the resolver. All of them use a grouping () in the regex.

**Section** \- Pattern 1

```regex
^/arc/outboundfeeds/sitemap/?$|
^/arc/outboundfeeds/sitemap/category/(.*)/?$|
^/arc/outboundfeeds/sitemap/author/(.*)/?$|
^/arc/outboundfeeds/sitemap/keyword/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags_slug/(.*)/?$
```

**Author** \- Pattern 2

```regex
^/arc/outboundfeeds/sitemap/?$|
^/arc/outboundfeeds/sitemap/category/(.*)/?$|
^/arc/outboundfeeds/sitemap/author/(.*)/?$|
^/arc/outboundfeeds/sitemap/keyword/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags_slug/(.*)/?$
```

**Keywords** \- Pattern 3

```regex
^/arc/outboundfeeds/sitemap/?$|
^/arc/outboundfeeds/sitemap/category/(.*)/?$|
^/arc/outboundfeeds/sitemap/author/(.*)/?$|
^/arc/outboundfeeds/sitemap/keyword/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags_slug/(.*)/?$
```

**Tags - Text** \- Pattern 4

```regex
^/arc/outboundfeeds/sitemap/?$|
^/arc/outboundfeeds/sitemap/category/(.*)/?$|
^/arc/outboundfeeds/sitemap/author/(.*)/?$|
^/arc/outboundfeeds/sitemap/keyword/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags_slug/(.*)/?$
```

**Tags - Slug** \- Pattern 5

```regex
^/arc/outboundfeeds/sitemap/?$|
^/arc/outboundfeeds/sitemap/category/(.*)/?$|
^/arc/outboundfeeds/sitemap/author/(.*)/?$|
^/arc/outboundfeeds/sitemap/keyword/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags/(.*)/?$|
^/arc/outboundfeeds/sitemap/tags_slug/(.*)/?$
```

**Include - Terms** \- Modify the query used by the content source. For more details on custom queries, see [How to create a custom query with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/how-to-create-a-custom-query-with-outbound-feeds/).

**Exclude - Terms** \- Modify the query used by the content source. For more details on custom queries, see [How to create a custom query with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/how-to-create-a-custom-query-with-outbound-feeds/).

**Exclude - Sections** \- You can enter a comma separated list of sections to exclude. For example `/premium`,`/paid-content`.

**Feed - Size** \- Integer 1 to 100\. Defaults to 100\. If you added a size URL parameter, select the parameter option and select size and enter a default value.

**Feed - Offset** \- Integer. `Defaults to 0`. If you added a from URL parameter, select the parameter option and select from and enter a default value.

**Sort -** last\_updated\_date:desc

If left blank it will default to `publish_date:desc`. Which ever date field you selected to display for the Last Modified Date is the date you should enter here. The format is `date_field` \+ `:` \+ `sort order` (`desc` or `asc`). Valid date fields are `created_date`, `display_date`, `first_publish_date`, `last_updated_date`, or `publish_date`

**Source-Exclude** \- A comma separated list of ANS fields to remove from the default list of ANS fields. See the default list of fields on [Content sources with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/content-sources-with-outbound-feeds/#included-data).

**Source-Include** \- A comma separated list of ANS fields to add to the default list of ANS fields. See the default list of fields on [Content sources with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/content-sources-with-outbound-feeds/#included-data).

**Include - Distributor - Name**

If you only want content from a single distributor, enter the name here. You may only populate one distributor field.

**Exclude - Distributor - Name**

If you want to exclude content from a single distributor, enter the name here. You may only populate one distributor field.

**Include - Distributor - Category**

If you only want content from a single distributor category, enter the name here. You may only populate one distributor field.

**Exclude - Distributor - Category**

If you want to exclude content from a single distributor category, enter the name here. You may only populate one distributor field.

### 8\. **Default Template**

Select the template you just created sitemap-feed to use with this resolver.

### 9\. **Default output type**

Select xml.

### 10\. **Content Mapped Template**

blank

## Sitemap URL

To preview your Sitemap XML, modify the URL below with your client org and website name.

```
https://outboundfeeds.{CLIENTORG}.arcpublishing.com/pf/arc/outboundfeeds/sitemap/?_website={CLIENTWEBSITE}
```

![Site Map URL](https://dev.arcxp.com/_astro/sitemapurl.BaBKLZBQ_2dhn3A.webp)

## Additional Information

All sitemaps adhere to the [Standard Sitemap Protocol](http://www.sitemaps.org/) and implement Google’s extensions for both [Images](https://support.google.com/webmasters/answer/178636) and [Videos](https://support.google.com/webmasters/answer/80471).

- [How to set up and configure an Outbound Feed](https://dev.arcxp.com/arc-io/developer-docs/how-to-set-up-and-configure-an-outbound-feed/)
- [Content sources with Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/content-sources-with-outbound-feeds/)
- [How to use Jmespath to map to custom fields ANS values in Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/how-to-use-jmespath-to-map-to-customfields-ans-values-in-outbound-feeds/)
- [Setting up resolvers for Outbound Feeds](https://dev.arcxp.com/arc-io/developer-docs/setting-up-resolvers-for-outbound-feeds/)
- [Regex Debugger](https://regex101.com/)
