Help
Troubleshooting
Almost every question below is answered faster by reading the log than by guessing.
Main Settings → Plugin Options → tick Enable Logging for Rules and Enable Detailed Logging for Rules, then Save Settings. The log is written to wp-content/echo_info.log and displayed on Activity & Logging.
The menu only shows “Main Settings” and “Upgrade to Full Version”
The master switch is off. Main Settings → turn on the toggle at the top → Save Settings. The other four screens appear immediately.
This is the single most common “the plugin does not work” report.
A rule shows the “no change” icon
The rule ran successfully and created nothing. In order of likelihood:
-
Every item in the feed is already imported. Duplicate detection matches on the source URL.
This only produces “no change” once the whole feed is exhausted. A rule that skips already-imported items keeps reading further down the feed until it reaches its Max # Posts allowance, so a second run on a long feed normally creates the next batch rather than reporting no change.
- A posting restriction rejected every item. Check both the global Posting Restrictions Options and the rule's own restrictions: title and content word counts, the Global Banned Words List (which ships pre-populated on some installs), the Global Required Words List, Skip Posts That Do Not Have Images, and the older/newer date filters.
Max # Postsis set very low and the allowance was used by an earlier run.- The feed itself is empty or returned an error. Open the feed URL in a browser.
A rule shows the red “failed” icon
Read wp-content/echo_info.log. Typical causes:
| Log symptom | Cause | Fix |
|---|---|---|
| cURL error / connection refused | The source blocks your server, or the host blocks outbound requests | Set a custom user agent in the rule's Miscellaneous Options; try the proxy settings |
| SimplePie parse failure | The feed is malformed, or core's parser cannot handle it | Enable Use Custom SimplePie Instead of the Built-In One (needs PHP 7.2+) |
| Timeout / memory exhausted | Full-content extraction on a heavy page | Lower Max # Posts, raise Timeout for Rule Running, raise memory_limit |
| Exception in autoloader | The bundled SimplePie needs PHP 7.2+ | Upgrade PHP, or turn the custom SimplePie option off |
Imports never run on their own
The echoaction cron event fires only when WordPress cron runs, and WP-Cron only runs when someone visits the site.
- Confirm the master switch is on — turning it off clears the cron event.
- Confirm the rule's Active box is ticked.
- Confirm the rule's schedule interval has actually elapsed. With the unit set to Hours, a value of
24means once a day, and the hourly cron pass will skip it 23 times out of 24. - If
DISABLE_WP_CRONis defined, or the site gets little traffic, set a Secret Word in Main Settings and hit the printed?run_echo=…URL from a real server cron job. See First import, step 7.
A run hangs, or the spinner never stops
The plugin takes a per-rule lock (a file named echo_<rule id> in the system temp directory) so two copies of the same rule cannot run at once. If PHP was killed mid-run — a fatal error, an OOM, a hard timeout — the rule can stay marked as running.
Symptom in the log:
Only one instance of this rule is allowed. Rule is already running!
Fixes, in order:
- Reload the rules page. Stale entries are cleared automatically when the plugin finds the lock file unlocked.
- Check Activity & Logging → Rules Currently Running to see what the plugin believes is in flight.
- If it persists, the
echo_running_listoption is holding a stale entry; resetting it to an empty array clears the state. - Reducing Max # Posts and raising Timeout for Rule Running usually prevents recurrences.
Imported content is garbled
The source feed is not UTF-8. Enable Main Settings → Plugin Options → Convert Encoding Of Imported Content To UTF-8. If it persists, confirm the mbstring extension is installed (Activity & Logging → System Info).
Posts import but have no content beyond the summary
The feed only publishes excerpts. Open the rule's Settings → Miscellaneous Options, turn on full-content extraction, then tell it which part of the source page to take:
- Open Crawling Helper.
- Paste a source article URL and click Crawl.
- Choose a query type (Class, ID or XPath) and find the element wrapping the article body.
- Put that selector in the rule's strip-by-class / strip-by-ID / XPath field.
If the source renders its content with JavaScript, plain crawling will not see it. You need PhantomJS or Puppeteer installed on your server (Main Settings → PhantomJS Settings), or the full version's hosted extraction — see Free vs Paid.
Featured images are missing
Work through, in order:
- Try to Get Featured Image from Content (Post Images Options) — on.
- Copy Images From Content Locally — on, unless you deliberately hotlink.
- Check the source actually has an image; some feeds carry it only in an
<enclosure>— enable Append Media From Feed Enclosure To Post Content. - Check Skip Posts With These Words In Their Featured Image Names is not rejecting them.
- If image resizing is on, confirm the GD extension is installed.
Rule settings do not save
Large rule forms can exceed PHP's max_input_vars. The plugin works around this by packing extra fields into a single POST value, which needs JavaScript to be running on the page.
- Check the browser console for JavaScript errors from another plugin.
- Raise
max_input_varsto 3000 or more inphp.ini. - Activity & Logging → System Info reports the current POST size limits.
“Check for updates” does nothing
Expected. The update-checker/ library is bundled with this package but is not instantiated by any code in it, so no update endpoint is configured. Update by replacing the plugin folder manually — see Updating this plugin.
Settings look wrong right after installing
If a paid Echo RSS build was ever installed on this site, its settings are still in the database — both editions share the echo_Main_Settings and echo_rules_list options, and activation never overwrites settings that already exist. Review Main Settings rather than assuming you are starting from defaults.
Before you contact support
Collect:
- The Activity & Logging → System Info panel (PHP version, memory, cURL, DateTime).
- The relevant excerpt from
wp-content/echo_info.log. - The feed URL that fails, and whether it opens in a browser.
- Whether the problem persists with all other plugins deactivated and a default theme.
Then: knowledge base · support