Your Magento 2 Code Is Costing You More Than You Think
EasyAudit finds the anti-patterns that slow down every request and break every upgrade. Scan from the CLI, CI/CD, or directly from your browser β and let the Fixer patch issues automatically.
EasyAudit finds the anti-patterns that slow down every request and break every upgrade. Scan from the CLI, CI/CD, or directly from your browser β and let the Fixer patch issues automatically.
Adobe's own documentation warns against around plugins and concrete class dependencies. But warnings don't fix codebases β and the impact is measurable.
Magento's interception framework runs roughly 67,000 checks per page load. Each around plugin adds a $proceed() callback to the stack β deeper traces, harder debugging, and blocked chains if $proceed() is never called.
On a single product page, plugin resolution alone accounts for ~160ms of overhead. That's more time than some platforms need to render an entire page.
The fix: if a plugin only modifies arguments, it should be a before. If it only modifies the return value, an after. EasyAudit detects them. The Fixer rewrites them.
Adobe guarantees backward compatibility only for interfaces marked @api. Every concrete class dependency is an unprotected bet that the constructor signature won't change.
Between Magento 2.4.6 and 2.4.7, the ProductRepository constructor changed β breaking every module that extended the concrete class. Filed as a P1 issue on GitHub.
The fix: replace concrete classes with the correct interface. EasyAudit detects them across your entire codebase. The Fixer generates the patches.
Run bin/magento cache:flush? Magento instantiates every registered command with its full dependency tree first. No proxy = hundreds of useless objects on every CLI call.
Multiply by cron frequency and the number of custom commands in your project. That overhead runs 24/7, whether the command is yours or not.
The fix: proxy heavy dependencies in di.xml so they load only when the command actually runs. EasyAudit detects them. The Fixer generates the configuration.
Calling count($collection) triggers load() β a full SELECT * that hydrates every row into a PHP object, just to count them. On a 50K catalog, that's a memory spike for a single number.
getSize() does the same job with one SELECT COUNT(*). No load, no hydration, no memory spike.
The fix: replace count() with getSize(). EasyAudit finds every occurrence. The Fixer rewrites them.
Choose how you scan
Paste a Packagist link, a Git repo URL, or upload an archive. No install needed.
LoginRun the Fixer on the issues you choose. Get standard .patch files you review and apply. That's it.
Paste a Packagist link, a public Git repository URL, or upload a .zip / .tar.gz archive. EasyAudit scans the code in a secure, isolated container and delivers the same report as the CLI β directly in your browser.
Web scans use credits. Cost varies depending on the size of the project. Small modules cost just a few credits; full Magento installations cost more.
Perfect for:
Unnecessary around plugins that should be before or after
3 creditsDependencies on implementations instead of interfaces
3 creditsHidden dependencies that break DI and testability
2 creditsHeavy classes instantiated where a proxy should be used
1 creditCollections created without the factory pattern
1 creditRepository classes not implementing their interface contract
1 creditDetection is always free via CLI and CI/CD. Credits are used for automatic patch generation and for web-based scans. One credit = one fix per file.
EasyAudit's Fixer generates standard unified diff patches for every issue it can fix. No code is modified without your explicit approval.
.patch filesgit apply β donePatches are generated in milliseconds and tailored to your codebase. No generic templates, no copy-paste from Stack Overflow.
Add EasyAudit to your pipeline in 5 lines. Scan on every push, surface issues in GitHub Code Scanning, and auto-fix with a PR β all without leaving your workflow.
# .github/workflows/easyaudit.yml
- uses: actions/checkout@v6
- run: |
docker run --rm -v $PWD:/workspace ghcr.io/crealoz/easyaudit:latest \
scan /workspace --format=sarif --output=/workspace/report.sarif
- uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: report.sarif
The CLI audit is free, forever. Credits are used for automatic patch generation and web scans.
€4.99
25 credits
No commitment, one-time purchase
One credit = one automated fix per file. Web scan costs vary by project size. CLI/CI detection is always free and unlimited.
docker run --rm -v $PWD:/workspace ghcr.io/crealoz/easyaudit:latest scan /workspace
Full documentation β including CI/CD setup for GitHub, GitLab, Bitbucket, Azure, CircleCI, Jenkins, and Travis.
Start with a free audit. See what EasyAudit finds. Fix what matters.