RSS Retriever Content Syndicator

RSS Retriever Syndicator (main page)

Basic Settings

Post Templates

Advanced Settings

Media Enrichment

Media handling

Content Filtering Settings

The RSS Retriever Syndicator provides a high level of flexibility for parsing and managing content sources. To begin, enter the URL of the RSS feed you want to add and submit it to RSS Retriever. Once submitted, you can fine-tune the settings for that specific source. RSS Retriever supports importing compressed RSS and Atom feeds in formats such as ZIP, Gzip, and Bzip2. In addition, you can also import social media feeds from platforms like YouTube, Vimeo, Flickr, and Dailymotion directly from the same menu.

New RSS URL

The "New feed URL" field is where you define the primary content source for your feed. This can be an RSS or Atom feed URL, or a feed link from YouTube, Vimeo, Flickr, or Dailymotion. RSS Retriever automatically recognizes the format and converts the incoming data into a standardized internal XML structure for consistent handling.

Quick override default settings

To temporarily adjust the default settings of the RSS Retriever Syndicator, use this form before adding a new feed URL. Here, you can apply specific settings such as a custom user agent or additional post headers for that particular feed. These adjustments only affect the next feed you add and are not stored permanently in the database like the default feed settings.

Mass modify selected feeds

Making changes to multiple feeds one by one can be time-consuming, but the "Modify selected feeds" option makes it simple. Just select the feeds you want to edit and click the button. To apply a setting across all selected feeds, check the red box located next to the option. Any unchecked options will remain unchanged. This feature allows you to update multiple feeds at the same time, greatly reducing the amount of effort required.

Shuffle update times

This option randomly changes the last update times of the selected feeds. By doing this, you can spread out the feed update intervals, ensuring that they are not all processed simultaneously.

Batch feed settings import/export

To quickly move your feed settings between different sites, you can use the import/export feature at the bottom of the "Content Syndicator" page. This allows you to export selected feed settings to a text file and later import them into another instance of RSS Retriever Syndicator. With this function, you can save time when setting up new feeds by reusing existing configurations instead of starting from scratch.

Basic Settings

Preview mode

On the feed settings page, you will find the "Preview mode" drop-down menu in the top-left corner. This menu lets you switch between several preview types, including:

By using the "Preview mode" drop-down, you can review the structure and details of the source you are syndicating. You can inspect the XML layout, view any attachments such as media files, and compare the feed’s original article with its complete version scraped directly from the source website. This helps you decide which version of the content is best suited for import.

Feed title

You can edit or assign a feed title, and this title will be displayed in the feed list on the main RSS Retriever Syndicator page.

Feed URL

Here, you can change the actual URL of the feed if needed.

Parse WordPress archives

When enabled, RSS Retriever is able to import all published posts from a WordPress blog, even if they are not included in the blog’s current RSS feed. This option, called "Parse WordPress archives," allows the plugin to go through the blog’s historical archives and pull in every available post. This can be especially powerful if a blog has been active for many years with thousands of posts. It provides a unique feature not commonly found in other curation plugins. However, it is strongly recommended that you use this option only with proper authorization from the content owner, as importing copyrighted content without permission could lead to legal complications.

Shuffle feed items

Enable this option to randomize the order of feed items so that they are imported in a shuffled sequence rather than in their original order.

Check for duplicate posts by

This setting determines how RSS Retriever will identify and prevent duplicate posts from being imported:

Post type

Select the post type you want for the imported items, such as post, page, attachment, revision, nav_menu_item, custom_css, customize_changeset, user_request, or any custom post type including WooCommerce product and others.

Custom post template

Here, you can select a custom template to be used specifically for posts assigned to custom post types.

Custom taxonomies

Custom taxonomies can be linked to a chosen post type in RSS Retriever Syndicator using the "Assign custom taxonomies" option. To do this, enter the taxonomy terms you want, separated by commas.

You can also use placeholders to map values from custom fields or XML tags to a specific taxonomy. Examples include: %post_tags%, %xml_tags[name]%, %custom_fields[name]%, and similar formats.

Post format

Select the format you want for the imported post: default, aside, gallery, link, image, quote, status, audio, video, or chat.

Post author

This option lets you assign a specific author (a registered WordPress user) to all posts syndicated from the selected RSS feed.

Categories

Here, you can select existing WordPress categories to automatically assign to all imported posts.

Undefined categories

If a syndicating post contains categories that don’t match your predefined ones, the "Undefined categories" option determines what happens. You can choose one of the following four actions:

Create tags from category names

RSS Retriever can automatically generate WordPress tags from the categories listed in a feed’s <category> tag. When enabled, the plugin converts those feed categories into WordPress tags.

This feature exists because RSS and Atom feeds rely on categories to organize articles, while WordPress uses both categories and tags. By enabling this setting, you make sure that any imported post’s categories from the feed are also converted into WordPress tags. This improves content organization and SEO, and is one of the many useful features of RSS Retriever.

WPML language

This setting appears only if the WPML plugin is installed and active. From the "WPML language" drop-down, select the appropriate WPML language code.

You can add multiple copies of the same feed, each set to a different WPML language. This creates a separate version of each post in different languages, allowing you to build multilingual sites supported by automatic translation methods within the plugin.

When creating multiple versions of the same feed in different languages, name them clearly in RSS Retriever Syndicator, such as Feed Name (EN), Feed Name (DE), Feed Name (IT), etc.

Keep in mind that since posts in different languages come from the same source feed, they are treated as related. If you use the "Delete posts syndicated from selected feeds" option to remove posts from one language version of the feed, all other language versions generated from that same feed will also be deleted.

Polylang language

This setting is visible only if the Polylang plugin is installed and active. From the "Polylang language" drop-down, select the desired Polylang language code.

Like WPML, you can add multiple versions of the same feed, each assigned to a different Polylang language. This creates separate posts for each language and enables multilingual functionality supported by machine translation methods in the plugin.

Give each feed a distinct name for clarity in RSS Retriever Syndicator, such as Feed Name (EN), Feed Name (DE), Feed Name (IT), etc.

Remember that all language versions of a feed share the same content source. Therefore, if you use the "Delete posts syndicated from selected feeds" option and remove posts from one Polylang language version, the posts created for all other languages from the same feed will also be removed.

Post tags

You can manually create tags and assign them to all syndicated posts by entering them into this field.

Auto tags

If this option is enabled, RSS Retriever automatically scans the imported content for existing tags on your site and assigns them where relevant. For example, if your site already has tags such as "sport", "weather", "toys", and "books", and a feed post contains the sentence:

"The weather today is very dank, which is not conducive to sport activities..."

Then the imported post will be automatically tagged with "weather" and "sport".

Tags to WooCommerce

Enable this setting to map imported post tags to WooCommerce product categories.

Categories to WooCommerce

Enable this setting to map imported post categories to WooCommerce product categories.

Check this feed for updates every [...] minutes

This option allows you to define how often, in minutes, RSS Retriever should check the selected feed for new content. To disable automatic updates entirely, set the value to "0".

Maximum number of posts

Here you can specify the maximum number of posts RSS Retriever should import from the feed at each update. Use balanced values so your site updates naturally without overwhelming your server. Importing too many posts at once can appear suspicious to search engines and may negatively affect rankings.

Re-publish existing posts

This feature allows site owners to push already published content back to the top of their site’s index, making it appear fresh. However, use it with caution, as not all websites benefit from this type of content cycling.

Delay

The Delay option lets you define a time interval, in seconds, between importing new posts and generating sections of articles created with the [gpt_article] shortcode. This is especially useful when working with third-party APIs like OpenAI GPT, which may enforce rate limits. If the plugin makes too many requests in a short time, you could see errors such as:

"Rate limit reached for default-gpt-3.5-turbo in organization ... on requests per min. Limit: 3 / min. Please try again in 20s"

By setting a delay, the plugin pauses before making new requests, which helps prevent exceeding the rate limits and ensures stable operation.

It is also recommended to use delays when syndicating Amazon product search results or other sources that may block your IP if requests are too frequent.

Adjust the delay time to fit the limits and requirements of whichever third-party services you are using.

Post status

This drop-down menu controls the publishing status of syndicated posts. You can choose one of four options:

Comments

This option lets you decide whether comments will be enabled or disabled on syndicated posts. Allowing comments can encourage interaction and discussions on your site, but it can also attract spam and unwanted content. If you do not have time or resources to moderate, or if you want readers to focus strictly on the content, you may prefer to disable comments.

Pings

Pings are a WordPress mechanism used to notify other websites when your blog has been updated with a new post. If this setting is enabled, your site will send notifications to other websites whenever a new post is syndicated from the selected feed. If it is disabled, no notifications are sent. Keeping pings enabled is generally recommended, as it increases visibility and can help drive additional traffic to your site.

Shuffle paragraphs

When enabled, this feature shuffles the order of paragraphs in syndicated posts. This can help generate unique variations of content and reduce duplication issues.

UTF-8 encoding

The UTF-8 encoding option can transform an ISO-8859-1 string into UTF-8, which is sometimes necessary when parsing feeds that contain illegal UTF-8 start bytes (such as <0x92>). This makes it possible to process even invalid feeds that would otherwise fail to parse in other syndicators.

Convert character encoding

Enable this option if the feed you are syndicating is delivered in a national character set such as windows-1251 or ISO-8859-1. The feed will be automatically converted into UTF-8 to ensure compatibility.

Base date

The Base date setting controls which date will be applied to syndicated posts:

Post date adjustment

The "Post date adjustment" option lets you modify the publication date of syndicated posts by a range of minutes. Normally, posts are published using either the syndication date or the date in the RSS/XML feed. With this feature, you can randomize or shift those dates to make your publishing pattern look more natural.

For example, if you set the adjustment range to [-60] .. [60], post dates will be spread randomly between 60 minutes before and 60 minutes after the syndication date or feed date. You can also use negative ranges to backdate posts, or positive ranges to schedule them into the future. For instance, [-1440] .. [-60] will set post dates between 24 hours and 1 hour before the original date, while [60] .. [1440] will schedule them 1 to 24 hours after the original date.

Post lifetime

This feature defines how long syndicated posts remain on your site before they are automatically deleted, measured in hours. Set the value to 0 if you do not want any time limit.

This is particularly useful for online stores and similar projects where outdated content needs to be regularly replaced. By defining a post lifetime, you ensure that expired products or irrelevant information are removed automatically, keeping your site updated and relevant.

Post templates

RSS Retriever provides a powerful feature for building custom HTML templates that define the layout and structure of your posts. You can customize elements such as post title, slug, content, excerpt, meta title, and meta description. These templates allow you to create posts that match your SEO strategy and improve user experience with consistent formatting.

Think of post templates as the structural HTML skeleton stored in the WordPress database for every post generated from a feed. For example, if you set the post template like this:

Hello, I'm a <strong>WordPress</strong> post!

Then every post generated by that feed will include the exact same text.

Placeholders

By default, a post template contains only one placeholder: %post_content%, which is replaced with the content retrieved from the external feed. If you remove everything from the template, all generated posts will be empty, with no content at all.

Essentially, a template works as the HTML blueprint for each post linked to a feed. It can be static, where all posts look the same, or dynamic, where placeholders and shortcodes bring in external or AI-generated content. This dynamic capability allows you to use Spintax, AI prompts, and more. The specific placeholders available are listed below.

The available placeholders include:

You are able to use placeholders inside another placeholder in RSS Retriever. For example, the following placeholder inserts a YouTube video related to the current post title directly into the post body:

%youtube_video[%post_title%]%

or

%youtube_video[%gpt_prompt[Analyze the following article and provide a short keyphrase for it to search a relative video on YouTube. Do not provide a description or introduction, just the prompt without comments: %post_content_notags%]%]%

In this example, the %gpt_prompt[]% placeholder analyzes the article text (retrieved with %post_content_notags%, which removes HTML tags) and generates a keyphrase for searching YouTube. That AI-generated keyphrase is then passed to the %youtube_video[]% placeholder, which fetches and embeds the relevant video. By nesting placeholders, you can create powerful, flexible workflows that adapt dynamically to the content.

This placeholder will add a relevant image:

%random_image[%post_title%]%

The "Meta title" and "Meta description" templates are especially useful when you are working with popular SEO plugins such as Yoast SEO, Rank Math SEO, The SEO Framework, SEOPress, or Slim SEO. RSS Retriever automatically detects which SEO plugin is active and applies your meta description template. This ensures seamless integration with your SEO plugin’s settings and helps optimize your posts. Please note that to use the "Meta description" template feature, one of the supported SEO plugins must be installed and active on your site.

If you want to prepend some text to every post title (for example, "Breaking news:"), update the "Post title" template like this:

Breaking news: %post_title%

The following "Post content" template places a random image of a Christmas tree at the top of each post:

<img class="aligncenter" src="%random_image[christmas tree]%" />
%post_content%

If you prefer not to use a fixed keyword, you can make the template pull a random Creative Commons image from Google based on the actual post title:

<img class="aligncenter" src="%random_image[%post_title%]%" alt="%post_title%" />
%post_content%

This "Post content" template appends a backlink to the source below the content:

%post_content%
<p>Source: <a href="%link%" target="_blank">%link%</a></p>.

Here is another example. Suppose you are importing a product XML feed with the following structure:

<product_name>
    the product name
</product_name>
<picture>
    the product picture URL
</picture>
<price>
    the product price
</price>

You only need to define your "Post template" as follows:

<h3>%xml_tags[product_name]%</h3>
<image src="%xml_tags[picture]%" />
<p><b>Price:</b> %xml_tags[price]%</p>

Shortcodes

Shortcodes are a key feature of RSS Retriever, enabling you to use WordPress-style shortcodes with additional arguments in your post templates. Note that these shortcodes cannot be used in the "Post excerpt" template. Unlike regular WordPress shortcodes, these only function during automated post generation by the plugin. They will not execute if you insert them manually when creating or editing posts. With shortcodes, you can inject more flexibility and dynamic behavior into your posts.

[openai_gpt] shortcode

The [openai_gpt] shortcode inserts OpenAI GPT-generated text into your posts. The syntax is as follows:

[openai_gpt model="gpt-4" prompt="your assignment" max_tokens="..." temperature="..." top_p="..." presence_penalty="..." frequency_penalty="..."]

The prompt parameter is required, as it defines the instruction for GPT. All other parameters are optional.

Parameters

GPT-4o is a multimodal model capable of solving complex problems with improved accuracy, broad general knowledge, and stronger reasoning abilities compared to earlier models. While GPT-4o is optimized for chat, it also works effectively for content generation. GPT-4o mini provides a lighter alternative for simpler tasks. For demanding reasoning tasks, GPT-4o is recommended, but both versions can handle natural language and code generation.

Examples

Translate the imported article to German:

[openai_gpt prompt="Translate the following article to German and return the result in HTML format: %post_content%"]

Rewrite the imported article in Italian:

[openai_gpt prompt="Riscrivere questo e restituire il risultato in formato HTML: %post_content%"]

[claude] shortcode

The [claude] shortcode inserts AI-generated text from Anthropic Claude into your posts. The syntax is as follows:

[claude model="claude-2.1" prompt="your assignment" max_tokens="..." temperature="..." top_p="..." top_k="..."]

The prompt parameter is required. All other parameters are optional.

Parameters

Only the top K most likely tokens are considered when top_k is applied. This helps eliminate unlikely outputs and improves result quality. You can find more technical details about this sampling method in Anthropic’s documentation.

Examples

The following post template translates the imported article to Spanish:

[claude prompt="Translate the following article to Spanish and return the result in HTML format: %post_content%"]

The following post template rewrites the imported article in Italian:

[claude prompt="Riscrivere questo e restituire il risultato in formato HTML: %post_content%"]

[gemini] shortcode

The [gemini] shortcode inserts AI-generated text from Google Gemini directly into your posts. The shortcode has the following structure:

[gemini model="gemini-pro" prompt="your assignment" max_tokens="..." temperature="..." top_p="..." top_k="..."]

The prompt parameter is required. It defines your instruction for Gemini. All other parameters are optional.

Parameters

Only the top K options are sampled for each next token when top_k is applied. This reduces “long tail” results. Learn more technical details in Google’s Gemini documentation.

Examples

The following post template generates a recipe based on the post title:

[gemini prompt="Write an article with a recipe for '%post_title%'. Format the text for embedding in a WordPress post, using only the <p>, <ul>, <li> and <em> tags. Exclude any other HTML tags."]

The following post template rewrites the imported article in Italian:

[gemini prompt="Riscrivere questo e restituire il risultato in formato HTML: %post_content%"]

[xai] shortcode

The [xai] shortcode inserts AI-generated text from xAI Grok into your posts. The shortcode has the following syntax:

[xai model="grok-beta" prompt="your assignment" max_tokens="..." temperature="..." top_p="..." presence_penalty="..." frequency_penalty="..." search_parameters="..."]

The prompt parameter is mandatory. It contains your assignment for xAI Grok. All other parameters are optional.

Parameters

Example with Live Search

[xai model="grok-3-latest" prompt="What's new in AI today?" search_parameters="{'mode':'on','sources':[{'type':'news','country':'US'}]}"]

This example enables Grok’s live search and queries the news source restricted to United States results.

You may also use Spintax in any part of the [xai] shortcode, including prompts and other text-based arguments. However, Spintax cannot be used inside search_parameters, since it must remain valid JSON. If Spintax is detected there, the shortcode will be ignored. Outside of search_parameters, Spintax works normally.

[or_text] shortcode

The [or_text] shortcode lets you access any language model available on OpenRouter.ai directly within WordPress. With OpenRouter integration, you gain access to a wide selection of AI models, including open-source solutions and proprietary engines like OpenAI GPT, Meta Llama, Google Gemini, Anthropic Claude, and more. Visit OpenRouter.ai for the complete list of supported models. This flexibility allows you to choose the right model for the task, taking advantage of their unique capabilities.

The shortcode format is as follows:

[or_text model="model ID" prompt="your prompt"]

The prompt parameter is required. It defines the instruction for the selected model. All other parameters are optional.

You may also include additional parameters such as temperature and max_tokens, depending on the model. These parameters use the same format as OpenAI-compatible APIs. You can also configure a default model in your endpoint settings. If a default is set, the model parameter becomes optional.

Example
[or_text model="openai/gpt-4-turbo-preview" prompt="Rewrite this text in a sarcastic style, keeping its HTML structure: %post_content%"]
Parameters

[custom_ai] shortcode

The [custom_ai] shortcode allows you to connect to your own custom AI endpoint and generate content using any OpenAI-compatible text model. With this feature, you can integrate external AI services such as DeepSeek, Mistral, or even self-hosted models into RSS Retriever.

The shortcode format is as follows:

[custom_ai id="your-endpoint-id" model="model-id" prompt="your assignment"]

The id and prompt parameters are required. The model parameter is optional if you have already set a default model for the endpoint in the plugin settings.

You may also use additional parameters (model, temperature, max_tokens, etc.) depending on the model you are using. These must follow the OpenAI-compatible format. If a default model is configured in the endpoint settings, the model parameter becomes optional.

Parameters

This shortcode gives you full control over which AI service and model you want to use, enabling advanced integrations beyond the built-in options.

[ai_generate] shortcode

The [ai_generate] shortcode is a universal generator that can produce text using any supported AI engine. It works with both integrated and custom endpoints, including OpenAI, Google, Anthropic, xAI, OpenRouter, and your own AI services.

It gives you complete control over the provider, model, and all available parameters. The shortcode has the following format:

[ai_generate engine="provider-model" prompt="your assignment"]

The engine and prompt parameters are required.

Parameters

You can also include any other parameters supported by the specific AI model you are using. The plugin passes all extra parameters directly to the engine endpoint.

[gpt_article] shortcode

The [gpt_article] shortcode is a powerful autoblogging tool that uses a prompt pipeline algorithm to generate long, coherent articles in multiple sections. With it, you can build structured, detailed posts of up to 300 pages using AI text generation. The shortcode format is:

[gpt_article topic="article topic" engine="AI engine" sections="number of sections" structure="article section structure" directives="specific instructions" language="desired language" heading="heading tag" max_tokens="maximum tokens per section" temperature="creativity level"]
Example
[gpt_article topic="%post_title%" directives="Format the text for embedding in a WordPress post, using only <p>, <em>, <blockquote>, <ul>, <li> tags. Exclude any other HTML tags. The article should tell about known facts reviving the mysterious secrets."]
Parameters

Explanation of the use of the "structure" and "directives" parameters

Because AI models have generation limits (commonly 2048–4096 tokens per response), the [gpt_article] shortcode divides content into sections. First, it generates section titles based only on the structure parameter. For instance, you could set: "Assign 'Introduction' to the first subsection and 'FAQ' to the last one." Then, when generating text for each section, the shortcode includes both structure and directives instructions in the prompt. This ensures that the content not only follows the structural outline but also obeys formatting and content rules, resulting in more coherent articles.

Note

[flux] shortcode

The [flux] shortcode inserts Flux-generated images into your posts. Flux is a text-to-image AI model available via GoAPI that offers low moderation and the ability to generate photorealistic images of real people, including celebrities, making it a strong choice for illustrating news content. The shortcode format is:

[flux prompt="your Flux prompt" provider="API service provider" model="Flux model" width="image width in pixels" height="image height in pixels" name="alt image name in the post" class="desired CSS class"]

Example of using the [flux] shortcode in a template:

[flux prompt="Elon Musk gives a speech at a press conference" width="1344" height="768"]

The following example uses the %gpt_image_prompt% placeholder:

[flux prompt="%gpt_image_prompt%"]

[midjourney] shortcode

The [midjourney] shortcode inserts Midjourney-generated images into your posts. The shortcode format is:

[midjourney prompt="your Midjourney prompt" provider="API service provider" process_mode="image generation mode" aspect_ratio="aspect ratio" name="alt image name in the post" class="desired CSS class"]

Example of using the shortcode in a post template:

[midjourney prompt="an image for a blog post on the topic '%post_title%'" aspect_ratio="1:1"]

The following example uses %gpt_prompt[]% to analyze the article and generate a custom Midjourney prompt:

[midjourney prompt="%gpt_prompt[Analyze the following article and provide a very short image prompt for Midjourney, focusing on a single specific object, character, or scene described below. Include any notable colors, emotions, or actions to help create a visually compelling and relevant image. Do not provide a description or introduction, just the prompt without comments: %post_content_notags%]%" aspect_ratio="16:9"]

[dalle] shortcode

The [dalle] shortcode inserts images generated by OpenAI’s DALL·E into your posts. The shortcode format is:

[dalle model="dall-e-3" prompt="your OpenAI DALL∙E assignment" name="%post_title%" size="1792x1024" class="aligncenter"]

The prompt parameter is required. It defines the text description for DALL·E 2, DALL·E 3, or GPT-Image-1. The name is used as both the filename and the image alt attribute. Available parameters include:

[stable_diffusion] shortcode

The [stable_diffusion] shortcode inserts images generated by Stable Diffusion. The shortcode format is:

[stable_diffusion stable_diffusion_engine="sd3.5" text="A lighthouse on a cliff" name="%post_title%" aspect_ratio="16:9" class="aligncenter"]

The text parameter is required. It specifies the description for Stable Diffusion 3.5. The name parameter is used as both filename and alt attribute value.

Available parameters for the [stable_diffusion] shortcode:

The [image_gallery] shortcode inserts an image gallery into posts. Example:

[image_gallery url="%link%" featured_image="first" link="file"]

This shortcode instructs the plugin to parse imported pages for galleries, typically presented as thumbnail tables linking to full-size images. When a gallery is found, RSS Retriever downloads the full-size images, generates thumbnails, and assembles a standard WordPress image gallery within the post. Available parameters:

⚠️ Important: If you plan to use the [image_gallery] shortcode, make sure the "Post thumbnail" option is set to "Do not generate". Otherwise, the thumbnail will not be processed correctly.

[pixabay] shortcode

The [pixabay] shortcode allows you to insert a full-size image from Pixabay.com into your post templates. Example:

[pixabay q="keyword" lang="en" image_type="all" orientation="all" category="" min_width="0" min_height="0" colors="" order="popular" page="1" per_page="200" safesearch="false" editors_choice="false" choose="0" class="aligncenter" name="image title"]

Parameters available for the [pixabay] shortcode are described in detail in the Pixabay section of this manual. You may also use a comma-separated list of keywords; in that case, one of the keywords will be chosen randomly.

Template processing order

The "Template processing order" setting lets you define the sequence in which the three main templates (post title, post content, post excerpt) are processed. You can drag and drop them in a visual interface to set the desired order. The plugin processes them from left to right in the chosen arrangement.

This ordering is particularly useful when working with dummy feeds - feeds with no external source content - where all WordPress post elements (title, content, excerpt) are generated entirely by the plugin. These may use Spintax expressions or AI-based shortcodes to produce text.

By setting the processing order, you can ensure that the output of one template is used as input for another. Each of the three WordPress post elements can be accessed as placeholders: %post_title%, %post_content%, and %post_excerpt%.

For example, suppose you want to generate random post titles using Spintax and then build the article body from those titles using the [gpt_article] shortcode. In this case, the "Template processing order" should be:

RSS Retriever - Template processing order: title-content-excerpt

Your templates might be:

Post title:
{Work|Life|Weather} in {Paris|Amsterdam|London|Berlin|Prague|Vienna|Rotterdam|Helsinki}
Post content:
[gpt_article topic="%post_title%"]

Alternatively, if you prefer to generate an article first with [gpt_article] and then derive a title using the [openai_gpt] shortcode, the order would be:

RSS Retriever - Template processing order: content-title-excerpt

Your templates might then be:

Post title:
[openai_gpt model="gpt-4" prompt="Analyze the following article and generate an appropriate title for it (do not use quotes and colons): %post_content_notags%"]
Post content:
[gpt_article topic="{Work|Life|Weather} in {Paris|Amsterdam|London|Berlin|Prague|Vienna|Rotterdam|Helsinki}"]

💡 In this example, the placeholder %post_content_notags% is used instead of %post_content%, ensuring all HTML tags are stripped. This reduces token usage when calling the AI model, lowering API costs.

You can also design other workflows. For instance, you might generate a short excerpt that captures the article’s key idea, then use that excerpt (%post_excerpt%) as the base for generating the full content and title. In this scenario, the processing order would be:

RSS Retriever - Template processing order: excerpt-content-title

Parse Spintax

This setting transforms Spintax expressions in templates into plain text. For example, a phrase like {word1|word2} will randomly resolve to either "word1" or "word2".

Advanced Settings

Extract full text articles

When enabled, RSS Retriever can automatically extract full-text articles from truncated RSS feeds. This is useful if you want complete articles on your site instead of snippets, ensuring unique and valuable content.

There are two extraction methods available: Full-Text RSS script and custom extraction.

Full-Text RSS

The Full-Text RSS script is an optional GPL-licensed third-party product, installable separately and used via REST API. It is not included with RSS Retriever and is provided “AS IS”. The script can usually extract complete articles from most webpages containing the original content, though it may occasionally miss parts like embedded videos. Not all RSS feeds provide enough information for complete extraction.

To use this method, select "Use Full-Text RSS script" in the "Extract full text articles" drop-down menu.

⚠️ If the Full-Text RSS script cannot extract an article, you can configure rules manually for each website you syndicate from.

Custom

The custom method is an alternative when the universal Full-Text RSS script fails. However, it only works with specific websites where article pages share a consistent layout. This means you must configure it separately for each feed you want to process. It will not work with aggregator feeds such as Google News or Bing News, since those articles link to many different sites with varying layouts.

To use this method, choose "Use custom settings" in the "Extract full text articles" drop-down menu. This will unlock additional options for defining extraction rules:

Container tag

Specify the HTML tag that encloses the article’s main content (e.g. article, div, section). This tag will be used to identify the article container.

Attributes (JSON format)

Define attribute-value pairs for the container tag in JSON format. Example: {"class": "article", "id": "main"}. This helps the plugin distinguish the correct element when multiple tags share the same name.

Inclusive

Enable this if you want the extracted content to include the container tag itself along with its attributes. Leave it disabled to extract only the inner content of the tag.

Advanced users may also add their own PHP snippets to extend RSS Retriever. With custom PHP code, you can parse source HTML pages directly and extract full-text articles exactly as needed, ensuring no important content is lost.

⚠️ When "Extract full text articles" mode is enabled, RSS Retriever attempts to always fetch full text from truncated feeds. If it cannot retrieve the full article, the corresponding post will not be created.

HTML tags to strip

Enter a comma-separated list of HTML tags you want removed from generated posts, for example: h1, img, script, style.

Remove outer HTML elements

If you need to remove specific HTML blocks from imported content, list them in a semicolon-separated format. Each rule must include the tag name followed by attribute-value pairs in JSON format, separated by a space. For example, to strip out all <div> elements with class="comment" and all <p> elements with class="description" and id="block", enter: div {"class": "comment"}; p {"class": "description", "id": "block"}

For instance, if the syndicated articles include a share section inside a <div> with the class "share-box":

<div class="share-box">
    <!-- Share icons and content here -->
</div>

You can remove this block by adding the following rule to the "Remove outer HTML elements" box: div {"class": "share-box"}

This ensures that any <div> element with the attribute class="share-box" will be stripped from post content. Always make sure to define tag names and attribute pairs precisely in JSON format to remove the intended HTML elements effectively.

Convert Markdown to HTML

Certain AI text models such as Google Gemini Pro and Mixtral 8x7B may mistakenly return Markdown instead of HTML when asked for HTML formatting. For example, instead of producing:

The quarterly results look great!

  • Revenue was off the chart.
  • Profits were higher than ever.

Everything is going according to plan.

You might receive:

> ### The quarterly results look great!
> * Revenue was off the chart.
> * Profits were higher than ever.
> *Everything* is going according to **plan**.

Enable the "Convert Markdown to HTML" checkbox to automatically fix this issue.

⚠️ This option applies only to text produced by AI generation shortcodes. It does not affect other parts of your content.

Sanitize content

This option sanitizes post content. When enabled, the plugin will:

Balance tags

The "Balance tags" feature uses the WordPress API to correct unclosed or redundant HTML tags in post content and excerpts. It should only be enabled if you can control post content length, as misuse may lead to memory issues or bugs.

Note that this option uses fixed lists of single and nestable tags. Since WordPress maintains multiple lists that are not always synchronized, changes in tag nesting behavior or missing elements may lead to invalid markup.

Shorten post excerpts

This setting controls the maximum number of words in post excerpts. Enter “0” to remove excerpts completely, or leave the field blank to preserve excerpts without changes.

This setting defines how links inside syndicated posts should be treated. Four modes are available:

Translation

RSS Retriever can translate HTML-formatted articles into multiple languages using third-party services such as Google, Yandex, DeepL, or the efficient OpenAI GPT-4o mini model (via official API or OpenRouter). To enable this, specify the source and target languages and enter your API key. ⚠️ A valid paid API key is required. If the translation fails, the article will not be imported.

For advanced needs, you may also use your own PHP snippets to parse original article HTML and extract full text for translation.

Built-in synonymizer

The built-in synonymizer can be enabled, disabled, or set to run either before or after a third-party spinner. The synonym database can be managed on the Synonymizer/Rewriter page.

Content spinner

This setting lets you pick a third-party spinner from a drop-down list and configure its parameters if necessary. RSS Retriever supports:

The AI Spinner leverages the efficient and cost-effective OpenAI GPT-4o mini model (via official API and OpenRouter) to spin even very large articles while preserving their HTML structure. It supports a wide range of languages, including German, Spanish, Russian, Ukrainian, Turkish, Chinese, French, and more.

⚠️ Keep in mind that OpenAI restricts certain topics (hate speech, violence, pornography, political propaganda). Such content cannot be processed by AI Spinner.

⚠️ Never use an AI Spinner on AI-generated content. It provides no benefit and only wastes processing time and money.

Remove emojis from post slugs

While emojis can add humor or visual appeal to post titles, they are not always desirable in post slugs (URLs). To prevent them from appearing in links, enable this option. It will safely strip emojis from post slugs without affecting the titles themselves.

Don't synonymize titles

This option allows you to control whether the built-in synonymizer should apply to post titles. By default, RSS Retriever synonymizes both titles and content. If you prefer to keep titles unchanged but still synonymize content, simply enable this setting. If you want titles and content both synonymized, leave it disabled.

Post headers and post footers

Post headers and footers are customizable fields that let you add text or HTML at the beginning or end of every syndicated post. This is useful for inserting random text, quotes, attribution links, or custom promotional content.

For example, if you add the following text to the "Post Footers" box, each syndicated post will randomly display one of Mark Twain’s quotes:

I was gratified to be able to answer promptly. I said I don’t know.
<!–more–>
If you pick up a starving dog and make him prosperous, he will not bite you. This is the principal difference between a dog and a man.
<!–more–>
If you tell the truth you don’t have to remember anything.
<!–more–>
In Paris they simply stared when I spoke to them in French; I never did succeed in making those idiots understand their language.
<!–more–>
In religion and politics, people’s beliefs and convictions are in almost every case gotten at second hand, and without examination.
<!–more–>
In the first place, God made idiots. That was for practice. Then he made school boards.
<!–more–>
It could probably be shown by facts and figures that there is no distinctly American criminal class except Congress.
<!–more–>
It is easier to stay out than get out.

You may also use placeholders to automatically include post data within headers or footers. For example, to add a link to the original source, place the following code in the "Post Footers" box:

<p><a href="%link%">Source</a></p>

Custom fields

RSS Retriever provides several methods for populating custom fields in WordPress posts. Below are the available approaches.

Setting fixed values

To assign a fixed value to a custom field, use the following syntax:

"String value"->custom_field_name

For example, to always set the field product_type to T-shirt, enter:

"T-shirt"->product_type

Importing XML tag values

To populate a custom field with the value of an XML tag, use:

xml_tag_name->custom_field_name

For example, given the following feed structure:

<price currency="USD">
   29.99
</price>
<isbn>
   978-3-16-148410-0
</isbn>

You could map values into WooCommerce fields as follows:

price->_price
isbn->isbn

Tags may also include attributes, which must always be quoted. In the above example, currency="USD" is an attribute of the price tag. To extract this value into a field called price_currency, enter:

price:currency->price_currency

Extracting content from posts

RSS Retriever can also extract content directly from the generated post and save it as a custom field. Two methods are available:

Using outer HTML elements

Use the HTML tag name followed by attributes in JSON format:

tag {"attribute_name 1": "value 1", "attribute_name 2": "value 2", ...}

For example, if your post contains:

<span class="price">129.95</span><span class="old-price">249.95</span>

You could map values as follows:

span {"class": "price"}->_price
span {"class": "old-price"}->_regular_price
Using regular expressions

Prefix your expression with regex:. For example, to capture the URL from an image and store it in the custom field thumb:

<img class="featured" src="https://www.site.com/images/house.jpg" alt="House"/>

Use the following rule:

regex:<img class="featured" src="(.*?)"->thumb
name->%post_title%

The following placeholders are available:

Proxy mode

This setting toggles the use of proxies defined in General Settings. Proxies are useful for parsing sources that block or limit multiple requests from the same IP address.

User agent

If you see the error "Unable to acquire" when trying to import a feed, the site owner may be blocking automated scripts. To bypass this, you can change the user agent string so the plugin appears as a browser or crawler.

Common user agent values to try include:

Switching the user agent often helps feeds import successfully.

HTTP referrer

This option sets the referer header. If set to "self", the feed’s own URL will be used as the referer.

Referer spoofing is a method of sending fake referer headers to disguise request sources. Within RSS Retriever, this can be used to imitate a website when fetching feeds.

By default, no referer is sent. If you encounter issues, you can set a specific URL or "self" to bypass referer restrictions.

⚠️ Note: Referer spoofing may breach terms of service or laws in some jurisdictions. Use cautiously and only when necessary.

HTTP headers

HTTP headers carry extra details with requests and responses, such as browser type, language, or encoding. Each header is structured as a case-insensitive name followed by a colon and its value. Headers are separated by line breaks.

Processing order

The processing order determines the sequence in which OpenAI GPT works on different parts of your WordPress post. This option lets you decide whether the plugin should generate or rewrite the post’s title first, or the article body first. Your overall content creation approach depends on this setting, since you must decide whether the AI should build the main article based on an already written title, or instead create the article first and then shape the title around its content. If you select “Title first,” you will need to provide two separate assignments: one for the post title and another for the body of the article. These may look like this: Title assignment Article assignment If you instead choose “Article first,” you should prepare assignments for both the title and the body as follows: Title assignment Article assignment Usually, the “Article first” approach produces better and more appealing articles, since it lets you include more detail in the article prompt and then generate a title that directly reflects the content. However, the “Title first” option can be useful in some situations, especially when you want to reduce the number of tokens sent to OpenAI GPT for processing.

Article position

Select where the generated article will appear. It can be placed above the syndicated post, below it, or the AI-generated article can completely replace the original one.

Model name

The name of the AI model to use.

Max tokens

The upper limit of tokens that the model can generate in a single completion. The combined size of the input plus the Max tokens must stay within the model’s maximum context length. Most models support 4096 tokens, but newer ones like GPT-4, GPT-3.5 Turbo, and GPT-4 32K allow 8,192, 16,768, and 32,768 tokens respectively.

Temperature

This controls the randomness of output. Higher values mean the AI takes more risks in wording and ideas. Use 0.9 for more imaginative content, and 0 (argmax sampling) when you want predictable, precise results.

Media enrichment

RSS Retriever integrates with several AI image generation models, giving you the ability to create unique and high-quality visuals for your posts without the hassle of designing graphics yourself or browsing stock photo libraries. All you need to do is enter a description in plain human language, and the AI image generator will produce an image that matches it. This feature can be used to add original images to your articles, create visual explanations of complex topics, or simply add appealing graphics to make your content stand out.

FLUX.1

FLUX.1 is available through GoAPI.ai, which provides access to this text-to-image generator via a fully functional API at highly competitive rates.

Image position

This drop-down menu lets you define where the generated image should be placed in the article. If you select "Save to 'thumb' custom field," the generated image URL will be stored in the "thumb" custom field, making it usable as a post thumbnail. To do this, go to the "Post thumbnails" drop-down in the "Media Handling" tab of your feed settings and choose "Create from custom field 'thumb'." If you choose "Replace first image," the generated picture will replace the first image in the imported post (if it exists). If no image exists, the AI-generated one will be inserted above the content. The "Replace all images" option substitutes every image in the imported post with those created by Flux, while "Batch insert" allows you to add a chosen number of images into the article. This can be done for posts imported from third-party feeds or those generated by an AI text model. It is recommended to use the %gpt_image_prompt% placeholder when using "Batch insert," as it generates a unique image prompt for each section of text before which an image is placed. This makes it a powerful tool to visually enrich AI-generated or imported content.

Prompt

Enter your Flux prompt here. You can use placeholders and Spintax.

Negative prompt

Describe the elements that must not appear in the generated images.

API provider

This drop-down allows you to select a Flux API provider. At present, only GoAPI is supported, so it is the only available option.

Model

Choose between the following models: "flux1-dev" or "flux1-schnell".

Width

Set the image width in pixels. The product of width*height cannot exceed 1048576.

Height

Set the image height in pixels. The product of width*height cannot exceed 1048576.

Image class

Specify the CSS class to be applied to the generated image so you can adjust its size, alignment, or styling.

Midjourney

Midjourney does not offer a public API for third-party integration. The only option to use it is through external services. After testing several providers, we partnered with GoAPI.ai, which makes Midjourney accessible through a fully functional API at competitive rates.

Image position

This drop-down menu lets you define where in the article the generated image will be placed. If you choose "Save to 'thumb' custom field," the generated image URL will be stored in the "thumb" field, allowing you to use it as a thumbnail. To do this, select "Create from custom field 'thumb'" in the "Post thumbnails" menu under the "Media Handling" tab. If "Replace first image" is selected, the first image in the post will be replaced, if present; otherwise, the AI-generated image will be inserted above the article. The "Replace all images" option substitutes all imported images with Midjourney-generated ones. The "Batch insert" option lets you insert a chosen number of images into the article imported from a feed or generated with AI. It is best to use the %gpt_image_prompt% placeholder in this mode, since it produces unique prompts for each section of the text before which an image is added, making it a very powerful tool for visual enrichment.

Prompt

Enter your Midjourney prompt. You can also use placeholders and Spintax.

API provider

This menu lets you pick a third-party Midjourney provider. Currently, only GoAPI is available.

Process mode

Select the rendering speed mode: Relax, Fast, or Turbo.

Aspect ratio

Set the aspect ratio for your images, e.g., 1:1, 16:9, 4:3.

Image class

Enter the CSS class to style the generated image, including size, alignment, or visual effects.

OpenAI Image

GPT-Image-1 and DALL∙E are image generation models from OpenAI that use a specialized GPT architecture. With the RSS Retriever plugin, you can take advantage of DALL∙E’s features to create unique images from natural language descriptions. These prompts can also include Spintax or template placeholders like %post_title%, %post_excerpt%, and more.

Image position

This menu activates OpenAI image generation and allows you to set the image’s placement in the article. If you select "Save to 'thumb' custom field," the image URL is stored in the "thumb" field, making it usable as a thumbnail. To enable this, select "Create from custom field 'thumb'" in the "Post thumbnails" menu under the "Media Handling" tab. The "Replace first image" option replaces the first imported image if it exists; otherwise, the generated image will appear above the post. The "Replace all images" option substitutes all images with OpenAI-generated ones. "Batch insert" lets you insert a certain number of AI-created images throughout the article. For the best results, use the %gpt_image_prompt% placeholder in batch insert mode, as it produces a unique prompt per text section, creating strong visual alignment with your content.

Model

Select one of the supported models: GPT-Image-1, DALL∙E 2, or DALL∙E 3.

Image assignment

Enter a free-form description for DALL∙E to generate the desired image. This can be any natural language description up to 1000 characters. Placeholders like %post_title% can also be used.

Image size

Choose the image resolution. Options are 256x256, 512x512, or 1024x1024 for DALL∙E 2, and 1024x1024, 1792x1024, or 1024x1792 for DALL∙E 3.

Image class

Define the CSS class that will be applied to the generated image for styling, alignment, or sizing.

Stable Diffusion

A text-to-image model is a machine learning system that turns natural language prompts into images. These models began appearing in the mid-2010s, driven by advances in deep neural networks. By 2022, the best models - such as OpenAI’s DALL∙E, Google Brain’s Imagen, and StabilityAI’s Stable Diffusion - were producing outputs close to real photography and professional art. Such models typically combine a language processor that converts text into a latent representation with an image generator that produces visuals based on that representation. The most effective models are trained on vast datasets of text and images collected from across the internet. The RSS Retriever plugin integrates with Stability.AI’s Stable Diffusion 2.1, enabling you to use all of its features to generate unique images from natural language descriptions. Prompts can include Spintax as well as placeholders like %post_title% and %post_excerpt%.

Image position

This setting controls where the Stable Diffusion image will appear in the post. Options include "above content," "below content," or "none" (no image generation). Choosing "Save to 'thumb' custom field" stores the generated image URL in the "thumb" field, which can then be used as the post thumbnail by selecting "Create from custom field 'thumb'" in the "Post thumbnails" menu under "Media Handling." Selecting "Replace first image" swaps the first image in the post with the AI-generated one, if it exists. Otherwise, the image will appear above the article. "Replace all images" substitutes every image in the imported post with AI-generated ones. "Batch insert" lets you insert a certain number of images at chosen intervals in the article. Using %gpt_image_prompt% in batch mode is recommended since it ensures unique prompts are generated for each insertion point, making content more visually engaging.

Image description

This free-form description field lets you define the kind of image Stable Diffusion should generate. For example: "a sketch-style picture for %post_title%". The placeholder will be replaced with the post’s actual title, making it especially useful when the subject is unknown.

Negative prompt

Enter descriptions of elements that must not appear in the generated images.

Engine

Select the Stable Diffusion engine for image generation. Available engines include:

Style preset

Use a style preset to guide the model toward a particular look. The Stable Diffusion API supports the following style presets:

Steps

Number of diffusion steps to run: [10..150]. Default: 50. This setting determines how many diffusion steps are executed during image generation, directly affecting the quality and detail of the result.
Parameter Default Typical Allowable Affects Pricing?
steps 30 30-50 10-150 Yes

Image class

Specify the CSS class you want to apply to the generated image. This allows you to control its size, alignment, or apply custom styling and effects.

Pixabay

Pixabay.com is a free stock media platform that offers photos, illustrations, vector graphics, video clips, and music under its own Pixabay license. Content can usually be used for free, though some restrictions apply. The quality of Pixabay’s media is often described as "variable" and "mediocre in many cases," but it covers a very broad range of topics. With the RSS Retriever plugin, you can import free, full-sized images from Pixabay’s library of over 2.1 million files. Using the Pixabay search API, you can look up images with keywords. While the API does not understand natural language, you can use Spintax to get more varied results.

Image position

This drop-down menu lets you decide where in the article the image from Pixabay should appear. If you select "Save to 'thumb' custom field," the image URL will be stored in the "thumb" field and can be used as a post thumbnail. To use it, go to "Post thumbnails" in the "Media Handling" tab and choose "Create from custom field 'thumb'." If you choose "Replace first image," the first imported image will be replaced, if one exists. Otherwise, the Pixabay image will be placed above the article.

Query

Enter a keyword to be used by the Pixabay API when searching for images. Unlike Google, Pixabay does not interpret complex phrases - it matches only the exact keyword. You can use shortcuts here, but simpler and more specific keywords such as "car," "beach sunset," or "coffee cup" are recommended for best results. You may also enter multiple keywords separated by commas. In that case, one will be selected randomly.

Query language

Choose the language code for the search. Supported values: cs, da, de, en, es, fr, id, it, hu, nl, no, pl, pt, ro, sk, fi, sv, tr, vi, th, bg, ru, el, ja, ko, zh.

Type

Filter by image type. Options: "all", "photo", or "illustration".

Orientation

Choose the orientation of the image. Options: "all", "horizontal", or "vertical".

Min width

Set the minimum image width in pixels.

Min height

Set the minimum image height in pixels.

Pixabay image number to choose

Pick the image number from 1 to 200 from the search results. Enter 0 to select one at random.

Image class

Define the CSS class to be applied to the Pixabay image for controlling its size, placement, or styling.

Google Images

This option lets you import Creative Commons licensed images found through Google Images into your articles.

Image position

This menu defines where the Google Images result should appear. If you pick "Save to 'thumb' custom field," the image URL will be saved in the "thumb" field, making it usable as a thumbnail. To apply it, choose "Create from custom field 'thumb'" in the "Post thumbnails" menu within "Media Handling." Selecting "Replace first image" swaps the first imported image if present; otherwise, the Google image will be inserted above the post.

Query

Any keyword or phrase can be used as a query. You can also use placeholders such as %post_title%, %categories%, %gpt_keywords%, %gpt_keywords_en%, %gpt_keyphrase%, and %gpt_keyphrase_en%.

Min width

Set the minimum image width in pixels.

Min height

Set the minimum image height in pixels.

Image class

Specify the CSS class for the Google Images result so you can control size, alignment, or appearance.

Media handling

Store images locally

The "Store images locally" option saves all imported images directly on your server. This can improve your site’s load time and ensure that content with hotlink-protected images is properly syndicated. However, you must consider copyright issues before enabling it. Not all websites permit hotlinking. By storing images locally, you accept responsibility for ensuring that images are used legally. If any copyright violations occur, it is your responsibility as the site owner. Additionally, the folder /wp-content/uploads on your server must be writable so that the images can be stored correctly. Without sufficient permissions, the saving process will fail. We recommend carefully checking permissions and licensing before enabling this feature. It is up to you to comply with copyright laws and secure proper authorization.

Convert PNG images to

This option converts all PNG images saved locally into JPEG or WebP format. It helps reduce storage space on your server and is especially useful for AI-generated images.

Store base64-encoded images

If this setting is enabled together with Store images locally, all base64-encoded images will be saved as standard image files (e.g., .jpg, .png, .gif).

Add to Media Library

This feature automatically imports all post images into the WordPress Media Library, giving you easy access from the "Media" section of the dashboard. It is convenient for managing content, especially if you work heavily with media files. ⚠️ Do not enable this setting without a good reason. It is usually best to keep it disabled. Activating it forces WordPress to generate multiple thumbnail sizes for every image in the post, which can take a lot of time and consume significant server storage space.

Media attachments

Media attachments - such as images, videos, and audio files - may appear in some RSS feeds as enclosures inside media:content, media:thumbnail, or <enclosure> tags. The "Media attachments" drop-down menu lets you decide how to handle these attachments:

Post thumbnails

When you enable the "Post Thumbnails" option in RSS Retriever, the plugin automatically generates a featured image (post thumbnail) for your article. You can choose from the following sources for the thumbnail:

If no images are found in the article, RSS Retriever will look for an embedded YouTube video and use its poster frame as the thumbnail.

Use FIFU

When enabled, the thumbnail will not be stored locally but instead hotlinked and displayed using the FIFU ("Featured Image from URL") plugin, which must be installed and active. ⚠️ Be aware that some sites block image hotlinking. If this happens, FIFU must be turned off, and the images must be uploaded to your server instead. Otherwise, your posts will appear without thumbnails.

Alternative thumbnail source

This setting provides a fallback source if no thumbnail image is found. You can enter a default image URL or use placeholders such as %pixabay[]% or %random_image[]%. For example: %pixabay[blue sky]% will select a random image of a blue sky from Pixabay, while %random_image[%post_title%]% will fetch an image from Google Images based on the current post title. This field is ignored if "Post thumbnails" is set to "Do not generate".

Thumbnail source size

Here you can define minimum and maximum dimensions for thumbnail source images. If the image is smaller than the minimum or larger than the maximum, the thumbnail will not be created. This helps exclude very small or oversized images when a proper thumbnail is needed. Use 0 to disable size limits. ⚠️ Avoid using this option whenever possible. It relies on the getimagesize() PHP function, which may cause issues or crashes on some server setups.

Post thumbnail is required

If this option is enabled and the plugin cannot create a post thumbnail (for example, if the source image is unavailable or broken), the post will not be published. If you plan to require thumbnails, make sure that source images are consistently available. This setting is ignored if "Post thumbnails" is set to "Do not generate".

Store videos locally

When enabled, all videos from syndicated feeds are copied to your site’s default upload directory (/wp-content/uploads). This can improve page load speed. However, copying videos may take time, so they may not be immediately viewable. Supported video file formats: mp4, m4v, mov, wmv, avi, mpg, ogv, 3gp, 3g2.

Use "video" custom field

When enabled, the contents of the video custom field will be embedded directly into the post. The custom field may contain either a direct link to a video file (.mp4, .webm, etc.) or an embed code (<iframe>). Available options:

⚠️ Do not enable this option unless the video custom field is defined in the "Custom fields" section.

Embed videos

This feature embeds video content from tube-style feeds directly into posts. Supported sources: YouTube, Vimeo, Flickr, IGN, and DailyMotion. Supported feed examples:

https://www.youtube.com/feeds/videos.xml?user=vevo
https://vimeo.com/channels/wefoundthese/videos/rss
https://feeds.feedburner.com/ign/
https://www.dailymotion.com/rss/user/gqmagazine

⚠️ This option is provided for compatibility with RSS Retriever Lite. For RSS Retriever, it is recommended to use presets instead. Do not enable this feature if you are not syndicating feeds from youtube.com, vimeo.com, ign.com, or dailymotion.com.

Content filtering Settings

This section of the feed settings allows you to filter syndicated articles by keywords or phrases (separated with commas), tags, publication date, and text length.

Apply filters before

The "Apply filters before" drop-down menu defines the exact stage of the workflow where the post’s content will be checked against filtering rules. You can apply filtering at different stages:

Choosing the right stage for filtering is crucial for shaping how the plugin processes posts. For example, if you are importing content from an RSS feed and only want posts containing certain keywords, then selecting "full article extraction" ensures filtering happens as soon as the text is retrieved. On the other hand, if you want to check the article content after it has been extracted in full, then "AI text processor" would be the appropriate stage.

You also have the option to run filtering before or after an article is translated. This means you can check for keywords either in the original language or in the translated version.

Keep in mind that translations rely on paid third-party APIs such as DeepL, Google Translate, and Yandex Translate. Because of this, it is usually more cost-efficient to apply filters in the original language before the translation step. The same reasoning applies when choosing whether to filter before or after using the "AI text processor" or "text spinner" options - since those services are also typically paid, filtering afterward is generally more economical.

When configuring this setting, always review how it fits into the complete RSS Retriever workflow.

Apply filtering to

Here you can choose which parts of a post the filters will apply to. Options include the title, content, excerpt, or source link. This allows you to focus filtering on specific components and ensure that only relevant parts of the post are checked.

Must contain any of these keywords

Enter keywords or phrases that must appear in at least one of the selected components for the post to be imported. Separate multiple entries with commas. If any single keyword or phrase matches, the post will pass this filter.

Must contain all these keywords

Enter keywords or phrases that must all be present in the selected components for the post to qualify for import. Separate multiple entries with commas. This filter is stricter because every keyword listed must appear in the post.

Must contain none of these keywords

Enter keywords or phrases that must not appear in the selected components. Separate multiple entries with commas. If any of these terms are found, the post will be excluded. This filter is useful for avoiding unwanted or irrelevant content.

Must contain any of these tags

Enter tags that must be associated with the post for it to be imported. Separate tags with commas. This filter helps ensure that posts are related to specific topics or categories.

Must contain none of these tags

Enter tags that posts must not contain. Separate tags with commas. Any post with one of these tags will be excluded, giving you finer control over what content is imported.

Must be newer than [...] day(s)

Set the minimum recency requirement for posts based on their publication date in the feed. Use 0 to disable this filter. This setting ensures you prioritize new and timely content.

Must be older than [...] day(s)

Set the minimum age for posts to be imported, based on their publication date. Use 0 to disable this filter. This option is useful if you want to delay content imports or specifically target older, archived material.

Must be longer than [...] character(s)

Set the minimum character length required for a post to be imported. Use 0 to disable length filtering. This filter ensures that only posts with enough content and detail are imported, helping maintain higher-quality results.