Getting started
Requirements
Every claim on this page was checked against the files in this package (version 4.9.6.2) rather than copied from the marketing text. Where the shipped code and the shipped readme.txt disagree, both numbers are given.
Minimum requirements
| Item | Required | Enforced where |
|---|---|---|
| PHP | 5.6 minimum; 7.2+ in practice | Activation aborts and self-deactivates below 5.6 |
| WordPress | 2.7 enforced by code; readme.txt advertises 4.0 | Activation gate |
| Tested up to | WordPress 7.1 | readme.txt |
| Database | Whatever WordPress core requires | The plugin adds no tables — only the options and posts APIs |
| Capability | manage_options for every plugin screen; activate_plugins to activate | Menu registration and the activation hook |
| Multisite | Supported | The menu registers on both admin_menu and network_admin_menu |
About the PHP floor
The activation gate rejects PHP below 5.6, but that number understates the real requirement:
res/simplepie/composer.jsondeclares"php": ">=7.2.0".res/simplepie/src/uses constant visibility modifiers (public const), which is a parse error before PHP 7.1.
That bundled copy is loaded whenever Use Custom SimplePie Instead of the Built-In One is enabled in Main Settings, or when an individual rule opts into it. With that option off, the plugin falls back to the SimplePie shipped inside WordPress and the 5.6 floor is closer to accurate.
Run PHP 7.2 or newer. PHP 8.0–8.2 is fine — every .php file in this package passes php -l on PHP 8.2.
PHP extensions
| Extension | Needed for | Required? |
|---|---|---|
dom / libxml | Parsing feed items and source pages | Yes |
xml, xmlreader | SimplePie feed parsing | Yes |
pcre | Content filters, regex strip/replace rules | Yes |
mbstring | Encoding detection and conversion | Yes in practice — non-UTF-8 feeds will mangle without it |
json | Settings serialisation, API integrations | Yes |
curl | Remote fetching for full-content crawling | Optional. Activation succeeds without it; a warning appears on the plugin's own screens |
gd | Image resizing | Optional — only if you resize images |
iconv | Fallback encoding conversion | Optional |
openssl | Fetching https:// feeds through PHP streams when cURL is unavailable | Optional but recommended |
Check what your server has under Echo RSS Feed Post Generator → Activity & Logging → System Info, which prints PHP version, memory limit, upload/POST limits, DateTime availability and cURL status.
Server configuration
| Setting | Recommendation | Why |
|---|---|---|
memory_limit | 256M or more | Full-content extraction parses whole source pages. The plugin raises it to -1 at run time, but hosts often block that. |
max_execution_time | 300s or more | A rule sets its own limit from Rule Timeout (default 3600s), which many hosts also ignore. |
max_input_vars | 3000+ | Rule forms are large. The plugin works around low values by packing extra fields into one POST value, so a low value is survivable but not comfortable. |
| WP-Cron | Must be able to fire | Imports run on the echoaction hook. If DISABLE_WP_CRON is set, use the secret-word URL from First import. |
allow_url_fopen | On, or cURL installed | One of the two is needed to fetch feeds. |
Known documentation discrepancies
These are inaccuracies in the shipped readme.txt, not in the code. They are listed here so the code stays the source of truth.
- WordPress minimum.
readme.txtsays Requires at least: 4.0; the activation gate only enforces 2.7. 4.0 is the safer public number, but nothing enforces it. - PHP minimum. The plugin header block declares no
Requires PHP. The enforced value is 5.6, and the bundled SimplePie needs 7.2. - Automatic updates. The
update-checker/library is bundled but is not instantiated anywhere in this package — no file outside that folder references it. There is no update endpoint configured, so this build will not self-update. See Updating this plugin. - Header metadata. The plugin header declares no
Requires at least,Requires PHP, orTested up to, so WordPress cannot warn users on incompatible sites before activation.
What is not required
- No purchase code, licence key, or activation step. No purchase-code handling remains anywhere in the package.
- No outbound call on activation or normal use. The upgrade links are ordinary
<a href>elements; nothing is contacted until an administrator clicks one. - No forced attribution is added to generated posts.
- PhantomJS and Puppeteer are optional. They are only used if you point a rule at a local binary. See Free vs Paid for the hosted alternative.