What the notice means
In 2025 someone bought a set of small plugins from their original developer and later added a backdoor to them. It woke up on 5–6 April 2026: the plugins downloaded a file called wp-comments-posts.php (one letter away from the real wp-comments-post.php), and that file wrote spam code into wp-config.php.
On 7 April 2026 WordPress.org closed all 31 plugins, and on 8 April it pushed an update that switches off the part that phones home. That update also added the notice you are seeing. When it ends with “The wp-config.php file contains suspicious content”, the code is still on your site.
The affected plugins
All by the author “Essential Plugin” (formerly WP OnlineSupport):
- Accordion and Accordion Slider
- Album and Image Gallery plus Lightbox
- Audio Player with Playlist Ultimate
- Blog Designer for Post and Widget
- Countdown Timer Ultimate
- Featured Post Creative
- Footer Mega Grid Columns
- Hero Banner Ultimate
- HTML5 VideoGallery Plus Player
- Meta Slider and Carousel with Lightbox
- Popup Anything on Click
- Portfolio and Projects
- Post Category Image with Grid and Slider
- Post Grid and Filter Ultimate
- Preloader for Website
- Product Categories Designs for WooCommerce
- Responsive WP FAQ with Category (SP FAQ)
- SlidersPack – All in One Image Sliders
- SP News and Widget
- Styles for WP PageNavi – Addon
- Ticker Ultimate
- Timeline and History Slider
- Woo Product Slider and Carousel with Category
- WP Blog and Widgets
- WP Featured Content and Slider
- WP Logo Showcase Responsive Slider and Carousel
- WP Responsive Recent Post Slider
- WP Slick Slider and Image Carousel
- WP Team Showcase and Slider
- WP Testimonial with Widget
- WP Trending Post Slider and Widget
All 31 are on our list of plugins under attack.
What we found in wp-config.php
In October 2026 we cleaned a small business site that still showed the notice six months later. The spam code sat at the end of wp-config.php, right after the line require_once ABSPATH . 'wp-settings.php';. Code placed there runs after WordPress has fully loaded, and real settings never go there. It did this:
- Hid from the owner. It did nothing for signed-in administrators, in the dashboard, or during cron, WP-CLI, AJAX and REST requests.
- Showed spam links only to Google. A hidden “More” list of links was added to the footer when the visitor was Googlebot.
- Redirected chosen pages and changed canonical tags to point Google at the attacker’s sites.
- Turned 404 pages into spam pages. Addresses that didn’t exist on the site returned a full spam page, served as if it were a normal page.
- Read its server address from the Ethereum blockchain. When its server stopped answering, it asked a smart contract for a new address, so blocking one domain doesn’t stop it. The default was
0x295bae89192c32[.]comwithlinks.andpages.subdomains. - Saved what it fetched in temporary database entries (transients with short names such as
_dm,_fc,l,sandp_plus a long code).
The same site had a second, separate infection: a line at the end of the theme’s functions.php that added an encrypted script to every page for every visitor. It read its address from the Polygon blockchain, the same trick used by the fake CAPTCHA attacks. Someone who can change wp-config.php can change any file, so check the whole site.
Check your site
- wp-config.php: download it and open it in an editor with word wrap turned on. Find
require_once ABSPATH . 'wp-settings.php';. Anything after its semicolon other than a closing?>or a simple setting you added yourself is suspect. An infected file is usually about 6 KB larger than normal. - Site root: look for
wp-comments-posts.php(with an extra “s”). - Theme files: open your theme’s
functions.phpand look at the end for a long line that echoes a<script>. - Plugins: check whether any of the 31 plugins above is still installed, even deactivated.
- What Google sees: in Search Console, run URL Inspection → Test live URL on your home page and look at the HTML Google got for a list of links you didn’t add.
- Search Console users: under Settings → Users and permissions, remove any owner you don’t know.
The free Moatline Malware Scanner 1.3.1 and newer does the first four checks for you: it reports code after the wp-settings.php line, the fake wp-comments-posts.php file, scripts hidden in theme files, and any of the 31 plugins that is still installed.
Clean it up
- Back up files and database first.
- Delete the Essential Plugin plugin (don’t just deactivate it) and replace what it did with a maintained plugin.
- Fix wp-config.php: delete everything after the semicolon of the
wp-settings.phpline. If you had your own settings after that line, move them above/* That’s all, stop editing! */. Upload the file and check the site loads. - Delete
wp-comments-posts.phpand any other file you don’t recognise in the site root. - Remove injected theme code, or reinstall the theme from a fresh copy.
- Clear the saved spam: with WP-CLI run
wp transient delete --all, or use a transients plugin. Then clear your page cache and any caching plugin. - Change every password: WordPress administrators, hosting and SFTP, and the database password (the code could read wp-config.php). Then change the security keys and log everyone out.
- Scan the whole site for anything else. See how to remove malware from WordPress.
- Ask Google to recrawl your main pages with URL Inspection → Request indexing, and remove spam addresses that now return 404.
Sources: Anchor Hosting’s analysis, mySites.guru and our own cleanup.
Other plugins are being attacked right now too. See the live list of WordPress plugins under active attack.
Don’t want to do this yourself? Our team cleans hacked WordPress sites every week: WordPress malware removal service, from $45, usually done within 24 hours.
Frequently asked questions
The plugin was updated by WordPress.org. Isn’t that enough?
I can’t see any spam on my site. Am I clean?
Can I keep using the plugin?
Why is my wp-config.php “suspicious” if I never edited it?
Scan your site for free
Moatline checks files, the database and page-builder content. Nothing changes unless you click a button.
More guides
- TRUST#GRAFT: a fake Cloudflare check that installs a backdoor through your own browser
- PHP2Shell (CVE-2026-109618, CVE-2026-109619): fixed versions and what to do now
- Bricksforge vulnerability exploited: how to check your site and clean it
- Rank Math PRO 3.0.123 malware: who is affected and how to clean up
- UpdraftCentral key breach: check your site and remove the backdoor
- Fake CAPTCHA malware hidden in the WordPress database: a real cleanup