Client: autogaz-swarzedz.pl — Automotive LPG Services, Swarzędz, Poland
Check project in real
The client operated a WordPress website that had been running without major updates for several years. The site was built on WordPress 4.9 with PHP 7.4 — both versions that had long passed their official end-of-life dates and no longer received security patches. The frontend was powered by WPBakery Page Builder, a legacy visual editor that had become increasingly difficult to maintain and was creating friction whenever the client needed to update content.
The situation became critical when a routine audit uncovered active malware embedded inside a third-party plugin — Popup Maker by Looking Forward Software Incorporated. The malicious code was obfuscated using Base64 encoding and injected an external script from a known malware domain (near.flyspecialling.com) into every page load, silently running in visitors’ browsers without their knowledge.
The site needed immediate attention on multiple fronts: security, performance, and long-term maintainability.
lessc.inc.php used by the theme framework) contained multiple PHP 8.x incompatibilities that would cause fatal errors after the PHP upgradeThe malicious plugin was identified, isolated, and removed. The obfuscated payload was fully decoded and analysed to understand its scope and confirm no other files had been compromised. Server access credentials (WordPress admin, FTP, database) were rotated as a precautionary measure.
Before upgrading the server environment, the theme’s LESS compiler library was audited for PHP 8.x compatibility. A series of breaking changes were identified and resolved:
$var{0} → $var[0])new exception, new stdclass) removed in PHP 8null flags in preg_match() calls with correct integer valuesUndefined property warnings on stdClass objects by ensuring all properties are explicitly initialisedTypeError crashes caused by null values being passed to array functionswp-less.php to guard against non-array data returned from the WordPress options tableThe core was brought fully up to date, along with all remaining active plugins and the theme itself. Compatibility was verified at each stage before proceeding.
All existing pages were rebuilt using Elementor, replacing the legacy shortcode-heavy markup with a clean, standards-compliant structure. The visual result remained consistent with the original design while the underlying code became significantly leaner and easier to manage.
Unused plugins and themes that had been left installed were fully removed, reducing the number of potential entry points for future attacks and improving overall site hygiene.
The client now operates on a fully supported, up-to-date technology stack. The malware has been eliminated and the codebase hardened against the class of vulnerabilities that allowed the infection in the first place.
From a day-to-day perspective, the client can update and manage their website content independently through Elementor’s visual interface — without requiring developer involvement for routine changes.
The site runs on PHP 8.3, WordPress 6.9, and a clean plugin set — all actively maintained and receiving security updates.
| Area | Before | After |
|---|---|---|
| WordPress | 4.9 | 6.9.4 |
| PHP | 7.4 (EOL) | 8.3.29 |
| Page Builder | WPBakery | Elementor |
| Security status | Malware present | Clean |
| Unused plugins/themes | Multiple | Removed |