Services

Adobe Commerce development
Storefront design
Upgrades, migration & support
Performance & SEO
AI & agentic commerce
Custom application development
Book a free audit call

Magento Store Audit Checklist: 60 Checks Before You Spend on Development

Store audit checklist: Performance & hosting guide from Mistri
Loading...
Magento Store Audit Checklist: 60 Checks Before You Spend on Development

A Magento website audit is a structured review of your store's code, performance, SEO, security, extensions and data, done before you commit budget to new development. The goal is simple: find the problems that would make new work slower, riskier or wasted. The 60 checks below are grouped into six areas, and each one tells you how to check it and what a fail typically costs you if you ignore it.

You can run many of these yourself with admin access and free tools. Others need a developer with server and code access. Either way, a written audit gives every agency or developer the same starting point and makes quotes comparable.

How to use this checklist

  • Work on a staging copy where checks need code or database access. Never test destructive changes on production.
  • Mark each check pass, fail or unknown. Unknowns are findings too: they mean nobody owns that area.
  • Prioritize by "what a fail costs". Security and data fails come first, then anything blocking upgrades, then performance and SEO.
  • Repeat it yearly, and before any major project such as an upgrade, redesign or replatform.

1. Code and platform (10 checks)

#CheckHow to checkWhat a fail costs
1Magento version is within standard or extended supportRun bin/magento --version; compare with Adobe's lifecycle policyNo security patches; compliance risk; forced emergency upgrade
2Latest security patch for your line is appliedCompare version suffix (for example -p5) with Adobe's release notesKnown vulnerabilities stay open
3PHP version is supported by your Magento releasephp -v against Adobe's system requirementsUnpatched runtime; blocks the next upgrade
4No edits to core files under vendor/Compare vendor/ with a clean Composer install, or check for patches applied outside ComposerChanges lost on update; hidden behavior
5Custom modules use plugins and observers, not broad class preferencesSearch di.xml files for preference elements on core classesConflicts with extensions; higher upgrade effort
6Code passes the Magento Coding StandardRun PHP_CodeSniffer with the Magento2 ruleset on app/codeSlower reviews; more defects per change
7Code is in version control with a clear deployment processAsk for the repository and deployment stepsRisky releases; no rollback
8Store runs in production modebin/magento deploy:mode:showSlower pages; exposed errors
9Cron runs and no jobs are stuckCheck cron_schedule for errors and long-pending jobsStale indexes, unsent emails, missed exports
10Upgrade blockers are knownRun Adobe's Upgrade Compatibility Tool (Adobe Commerce) or a static analysis against the target versionUpgrade estimates turn out wrong

2. Performance (10 checks)

#CheckHow to checkWhat a fail costs
11Core Web Vitals pass on mobile field dataSearch Console Core Web Vitals report or CrUX: LCP ≤ 2.5 s, INP ≤ 200 ms, CLS ≤ 0.1Weaker user experience and conversion; ranking signal lost
12Full page cache is enabled and uses VarnishStores > Configuration > Advanced > System > Full Page CacheEvery visit hits PHP; slow pages under load
13Key pages are actually cacheableCheck response headers on category and product pages for cache hitsOne cacheable="false" block disables caching for a whole page
14Server response time is healthyMeasure time to first byte on cached and uncached pagesSlow LCP regardless of frontend work
15Indexers run on schedule, not on savebin/magento indexer:show-modeSlow admin saves; locked tables during imports
16Images are resized, compressed and lazy-loaded below the foldLighthouse and the network panel on product and category pagesPoor LCP; high bandwidth
17Third-party scripts are justified and loaded lateList tags in the page source and tag manager; check each ownerPoor INP; privacy risk
18Search runs on a supported OpenSearch versionCheck the configured engine and versionUnsupported service; slow or broken search
19Cache and sessions use Valkey or Redis, not the file systemCheck app/etc/env.php cache and session settingsSlow pages and lock contention at peak
20Store has been load tested for peak trafficAsk for the last load test resultsOutage on your best sales day

For the fixes behind these checks, see our Magento speed optimization guide.

3. SEO (10 checks)

#CheckHow to checkWhat a fail costs
21Important pages are indexedSearch Console page indexing reportProducts invisible in search
22Layered navigation URLs do not create crawl trapsCrawl a category with filters; check robots rules and canonicalsCrawl budget wasted on duplicates
23Canonical tags are set for products and categoriesStores > Configuration > Catalog > Search Engine OptimizationDuplicate content across paths
24XML sitemap is generated and submittedMarketing > Site Map; Search Console sitemaps reportSlower discovery of new products
25Titles and meta descriptions are unique on key templatesCrawl with an SEO crawler and sort duplicatesLower click-through
26Product structured data is validGoogle Rich Results Test on sample productsNo price or availability in results
27Out-of-stock and discontinued products are handled deliberatelyReview settings and a sample of old URLsSoft 404s and lost link equity
28Redirects have no chains or loopsCrawl URL rewrites and old URLsSlower crawling; diluted signals
29Category pages have useful, unique copyReview top categories by trafficThin pages that rank poorly
30Store views use correct hreflang, if multilingualInspect page source on each localeWrong language shown in search

Our Magento SEO checklist goes deeper on each of these.

4. Security (10 checks)

#CheckHow to checkWhat a fail costs
31Admin uses a non-default URLCheck whether /admin or /backend loads the login pageConstant brute-force attempts
32Two-factor authentication is enforced for all admin usersReview the 2FA configuration and user listAccount takeover from a leaked password
33Admin users and roles follow least privilegeSystem > Permissions; remove ex-staff and shared loginsInsider and ex-employee risk
34Adobe's Security Scan reports no critical issuesRun the free Security Scan from your Commerce accountUndetected malware or known risks
35No unknown files or scripts in the web root or database contentCompare files with the repository; search CMS blocks for unknown scriptsCard skimming and data theft
36Content Security Policy is configuredCheck CSP headers and the report-only status on checkout pagesInjected scripts go unnoticed; payment-page compliance gaps
37HTTPS everywhere with HSTSCheck headers and mixed-content warningsData exposure; browser warnings
38Backups run and a restore has been testedAsk for the last successful restore dateLong outage after an incident
39Server and SSH access use keys and are loggedReview access lists and logs with your hostUntraceable changes
40A web application firewall and rate limiting are activeConfirm with your host or CDNBot abuse, card testing and scraping

Admin hardening is the cheapest security win; our Magento admin security guide walks through it.

5. Extensions (10 checks)

#CheckHow to checkWhat a fail costs
41Every enabled module is known and neededList modules in app/etc/config.php; ask who uses eachDead code still loaded and patched
42Disabled modules are removed, not just disabledCompare config.php with composer.json and app/codeUpgrade conflicts from code nobody uses
43Each vendor extension supports your target Magento and PHP versionsCheck vendor changelogs and compatibility pagesUpgrade blocked waiting for vendors
44Extensions are installed through ComposerLook for vendor code copied into app/codeManual, error-prone updates
45Licences and support subscriptions are currentList renewal datesNo security fixes from the vendor
46No two extensions solve the same problemGroup modules by functionConflicts and double overhead
47Extensions do not break full page cacheProfile pages with each module's features activeSilent performance loss
48Storefront extensions match your theme (Luma, Hyvä or headless)Check for compatibility modulesBroken features after a theme change
49Vendor code has not been edited in placeDiff vendor packages against their releasesFixes lost on the next vendor update
50Features now in core are not duplicated by extensionsCompare with core features such as Page Builder, 2FA and reCAPTCHAPaying for and patching what you already have

6. Data and integrations (10 checks)

#CheckHow to checkWhat a fail costs
51Database size is understood, and log tables are cleanedList the largest tablesSlow backups, deploys and queries
52Product attributes are consistent and not duplicatedReview attribute sets and unused attributesMessy filters and imports
53Each data type has one source of truthMap where products, prices, stock and customers are masteredOverwrites and mismatched prices
54Integrations log errors and alert someoneAsk how a failed order export is noticedLost orders discovered by customers
55Integrations use queues or cron, not page requestsReview integration code and message queue consumersSlow checkout when a partner system is slow
56Analytics and conversion tracking match order dataCompare a week of orders with analytics revenueBad marketing decisions
57Personal data retention follows your policyCheck old customers, quotes and logsPrivacy compliance exposure
58Transactional emails send and are authenticatedTest order emails; check SPF, DKIM and DMARCEmails in spam; support load
59Payment methods and refunds reconcile with the providerCompare a month of payments with provider reportsRevenue leakage
60Documentation exists for integrations and custom modulesAsk for itEvery new developer starts from zero

Turning results into a plan

  1. Fix now: any security fail (31 to 40), unsupported versions (1 to 3) and broken integrations (54).
  2. Fix before new development: upgrade blockers, core edits, extension conflicts and cache-breaking modules.
  3. Schedule: performance and SEO fails, ordered by revenue impact on your top templates.
  4. Document: unknowns become owned tasks with a named person.

Some teams run this audit once and hand the results to whoever builds next. Others fold it into ongoing Magento support and maintenance, so the checks repeat with each release. Where performance fails dominate, a focused Magento performance optimization project usually pays back first; where SEO fails dominate, start with Magento SEO work on your highest-traffic templates.

FAQ

How long does a Magento audit take?

It depends on store size, the number of extensions and integrations, and how much access is available. A store with complete access and documentation is much quicker to audit than one where nobody knows what each module does.

Can I run the audit myself?

Many checks, especially in SEO, security settings and performance, need only admin access and free tools. Code, extension and integration checks need a Magento developer.

Should the agency that will do the work also do the audit?

It can, but ask for the raw findings, not only a proposal. A clear audit report is useful to any team, which keeps you free to choose.

Sources

Adobe Commerce lifecycle policy (Adobe Experience League); Security best practices (Adobe Commerce Implementation Playbook); Security Scan (Adobe Experience League); Upgrade Compatibility Tool overview (Adobe Experience League); Core Web Vitals (web.dev).