Purple RSS
Purple Hub
Introduction
Purple RSS lets publishers generate RSS feeds from the contents of the Purple Hub. A feed can be a plain RSS 2.0 feed or one of the specialised formats MediaRSS, MSN RSS and Smart News. You decide which articles a feed contains, either with a content filter (categories, tags, languages, taxonomies, custom fields) or by using a collection, and which information each item carries. You can then access these feeds either through the Purple Manager URL (default setting) or through a custom domain.
Configuration
Create a new feed
- Go to Settings › Purple RSS › All RSS Feeds and click Add Feed (or use Add RSS Feed from the Purple RSS menu).
- Enter a Feed title.
- Click Configure feed.
The feed is created as a draft and the Edit Feed page opens.
Manage feeds
All RSS Feeds lists all feeds with their Title, Feed Slug, Author, Feed URL and Date. Unpublished feeds show "Not published" instead of a URL. You can filter the list by status (e.g. Drafts, Published) and sort it by title and slug. Click a title to edit the feed.

Warning: The bulk action Move to Trash does not move feeds to the trash: it unpublishes the selected feeds and then deletes them permanently. This cannot be undone.
The next sections describe the fields of the Edit Feed page.
Edit a feed

Base information (required)
Feed title String
Name your feed (e.g. Sports).
App Select
Only shown when the Hub serves several apps. The app whose contents the feed delivers.
Feed slug String
- To edit the automatically created slug, use the Edit slug button beside the label.
- The slug is unique and will automatically be set to a unique slug if one like this already exists.
Feed base target URI String
Tell the RSS service on which URL the feed is running (how to display the article links in the feed). You can configure the custom domain e.g., if the article must be accessible at https://www.yourdomain.com/subdir/[article-slug], "subdir" must be defined here. If you don't need a custom domain, simply enter https://feeds.purplemanager.com/
Use URL from URL resolver Checkbox
When you select this option, no feed base target URI needs to be defined and is also not published. Instead the URL that is configured in the URL resolver is used for the article links.
Feed Image Image (required)
Click Choose image to select the feed's image from the media library. The feed cannot be saved without an image.
Feed source
Choose where the feed's articles come from with Source:
- Content filter (default): the feed contains all published articles that match the content filter below.
- Collection: the feed contains the articles of the selected Collection, in the collection's order. It is not filled up with other articles when the collection has fewer items than the item limit.

If the selected collection is deleted later, the edit page shows "The selected collection was deleted. Please select another one." and the feed cannot be published until you select another collection and save.
Content filter
The content filter defines which articles the feed delivers. The feed only ever delivers published articles.
Drag elements from the lower list ("Move below elements to upper area to use as filter") to the upper area to add them to the filter; click ✕ to remove one. The lower list has a tab for each kind of filter:
Tab | Filters by | Shown when |
|---|---|---|
Categories | category | categories exist |
Tags | tag | tags exist |
Languages | article language | the Hub uses Polylang |
Taxonomies | terms of custom taxonomies | custom taxonomies with terms exist |
Custom fields | the value of a custom field: enter the Custom field name and the Custom field value to check, then click Add this to content filter. The custom field must be shown in articles. | always |
Filter combinations decides how the filter elements are combined:
- AND: articles must match all elements. If you select the categories "Sports" and "Regional", only articles in both categories are delivered.
- OR: articles must match at least one element.
- AND / OR: build rule groups. Within a group all elements must match (AND); an article is delivered if it matches at least one group (OR). Use Add new Rule Group to add a group and Remove to delete one.

In the example above, the feed delivers articles that are in both "Sports" and "Regional", plus all articles tagged "Bundesliga".
Additional item configuration (optional)
These settings decide what each feed item contains.

Setting | Default | Effect |
|---|---|---|
Limit number of items | 50 | Maximum number of items in the feed, between 1 and 200. |
Include post contents | off | Adds the full article text as <content:encoded>. Useful for external services such as text-to-speech or newsletters. Example: create a "Newsletter" category, write the newsletter article in it, and create a feed filtered by that category for your newsletter tool. |
Include featured image | off | Adds the featured image as <enclosure> with url, length (bytes) and type (MIME type). |
Include tags | off | Adds the article's tags as <purple:tag>. |
Use tag names instead of slugs | off | Writes tag names (e.g. "Champions League") instead of slugs ("champions-league"). |
Use category names instead of slugs | off | Writes category names instead of slugs in <category>. |
Include access level | off | Adds the access level as <purple:accessLevel>. |
Include post type | off | Adds the post type as <purple:postType>. |
Render text as CDATA | off | Wraps text fields such as the post contents in CDATA sections instead of escaping the HTML. Needed by some readers, e.g. PugPig. |
Require URL Resolver | off | Feed generation fails if the URL resolver is unavailable. This prevents duplicate articles in external systems. |
Paid articles prefix | empty | Text put in front of the title of paid articles, e.g. "[Plus] ". |
Authors

Author format (required) decides how authors are written:
- Dublin Core (<dc:creator>): one <dc:creator> per author. Default for new feeds and recommended.
- RSS 2.0 (<author>): one <author> per author.
- Legacy (mixed, deprecated): mixes <author> and <dc:creator> in one feed and often publishes the authors' e-mail addresses. It is only offered for feeds that are already published with it. Once you switch such a feed to another format and save it, or unpublish it, Legacy is no longer available for that feed.
Include author information decides what is written for each author: Only name (default), Only E-mail, E-mail AND name (if available) or None. E-mail OR name, if E-mail is not available is only available with the Legacy format.
Include author attributes adds extra information as attributes on each author's element, e.g. <dc:creator purple:headshot="https://…">Jane Doe</dc:creator>. To add one:
- Enter the attribute name after the purple: prefix, e.g. headshot. It must start with a letter or "" and may only contain letters, digits, "-", "" and "."; each name can be used once.
- Choose the source: Author image, one of the listed author properties, or Other property… to enter a property key (e.g. job_title).
- Click Add Author Attribute.
Authors without a value get no attribute. Author attributes are not available with the Legacy format.
Note: A feed copied to another Hub with Copy Setup has no author format yet. Choose one and save the feed before publishing it.
Feed Type MediaRSS
As a default, the feed type for RSS feeds is RSS 2.0. You can change it to MediaRSS, MSN RSS or Smart News with the Feed Type dropdown:

With MediaRSS, you can map image fields of the featured image to MediaRSS tags:
- MediaRSS Credit ACF Field: an image ACF field shown as media:credit.
- MediaRSS Copyright ACF Field: an image ACF field shown as media:copyright.
- MediaRSS Title Field Key (default: title): the image meta field shown as media:title, e.g. title or caption.
The image's description is shown as media:description.
Feed Type MSN RSS
Similar to MediaRSS, also the feed type "MSN RSS" can be selected:

It has the same Credit, Copyright and Title fields as MediaRSS, plus these image ACF fields:
- Syndication Rights Key ACF Field
- License ID ACF Field (optional)
- Licensor Name ACF Field (optional)
Feed Type Smart News
The feed type Smart News creates a feed for the SmartNews app. It needs a Smart News logo URL: the absolute http(s) URL of a 700×100 px PNG, ideally with a transparent background. Enter the URL or click Choose from media library; if the chosen image is not a 700×100 px PNG, a warning is shown.

Smart News checks other settings as well; the edit page shows hints next to them:
Setting | Smart News requirement |
|---|---|
Language | Required; only English (en) or Japanese (ja). Regional codes such as en-gb get a warning. |
TTL (min) | At most 15 minutes. |
Include post contents | Required by Smart News. It is not switched on automatically, so paid articles are not published in full by accident. |
Include featured image | No effect: the featured image is always included. |
Feed description | Smart News shows at most 30 characters and cuts longer descriptions. |
The feed cannot be saved without a language and a valid logo URL.
Include ACFs
When you have custom properties configured for articles (see Create Custom Fields in Purple Hub), you can configure the RSS Feed to also include this information. For each field, you can configure which tag name will be used. For each article, custom tags will then be added to the RSS items, as seen below. The list offers the ACF fields of all post types that use the block editor, including sub fields of groups and repeaters. Click Add ACF Tag Mapping to add a mapping and Remove to delete one.
Include Custom Taxonomies
It is possible to include custom taxonomies in the feed. For these, a custom tag needs to be entered, and the taxonomy that should be displayed for it can be selected. Click Add Taxonomy Tag Mapping to add a mapping.
Custom tag names need to be prefixed with purple: to adhere to the RSS standard.


<item>
<title>Example article with extra info and ISINs</title>
<link>https://test.de/example-article-with-extra-info-and-isins</link>
<purple:isin xmlns:purple="https://schema.purplepublish.com/feeds">isin-value-1</purple:isin>
<purple:isin xmlns:purple="https://schema.purplepublish.com/feeds">isin-value-2</purple:isin>
<purple:extrainfo xmlns:purple="https://schema.purplepublish.com/feeds">this is the ACF extra info of the article</purple:extrainfo>
<description />
<category>uncategorized</category>
<pubDate>Wed, 08 May 2024 08:41:43 GMT</pubDate>
<dc:creator>Jane Doe</dc:creator>
<guid>daab79cd-e503-4711-ba44-c9a72b9c17f4</guid>
</item>Additional feed configuration (optional)
These settings describe the feed itself.

Setting | Default | Effect |
|---|---|---|
Feed description | empty | A short description of what your feed is about. |
Feed category | empty | The category/categories your feed belongs to. Combine several with a slash "/". Has no connection with the category filter. |
Copyright | empty | The copyright information of your feed. |
GUID suffix | empty | Text appended to the content ID in each item's <guid>, e.g. -US. Without it, the GUID is the plain content ID. |
TTL (min) | 60 | Minutes feed readers should wait between two calls, between 1 and 3600. |
Language | None set | The feed's language. Offers the official RSS language codes and, on Hubs with Polylang, the Polylang languages. It only labels the feed; which articles are included still depends on the filter. |
Publish feed
The publish area on the right of the Edit Feed page shows Publish feed once the feed is saved with a title, slug, feed image, feed base target URI (or Use URL from URL resolver) and author format. For a collection feed, a collection must be selected.
- Publish feed publishes the feed with the saved configuration. If the feed service rejects the configuration, the reason is shown in the publish area.
- After publishing, the publish area shows the Feed URL, Update feed and Unpublish feed.
- Update feed publishes the saved changes of a published feed.
- Unpublish feed removes the feed from the feed service and sets it back to draft. Its configuration is kept.
Save feed properties
This will save feed properties in our database. Make sure to save your changes before leaving the configuration screen.
Updating a feed configuration
If you want to modify your feed configuration and publish your updates, please follow these steps:
- Modify your feed configuration as needed (for example: "Change TTL from 60 -> 90")
- Click on the "Save feed properties" button in the lower left. This will persist the latest configuration in our database.
- Click on "Update feed" in the upper right of the configuration screen. This will update your feed with the latest configuration.
Note: Always save your properties before updating/publishing a feed. Otherwise your changes will not be published.
View feed
Depending on your Hub environment, the final feed URIs differ:
- Prod: https://feeds.purplemanager.com/[team-id]/[feed-slug]
- Staging: https://feeds.staging.purplemanager.com/[team-id]/[feed-slug]
- Dev: https://feeds.dev.purplemanager.com/[team-id]/[feed-slug]