A fresh PrestaShop install boots up perfectly happy: it has a catalogue, a cart, a checkout, an admin panel, and it will take a real order from a real customer on day one. So why does every store that grows past the hobby stage end up installing the same dozen-or-so modules? Because PrestaShop core is built to be correct and general, not to be optimised for your particular store. The gaps it leaves — a single flat sitemap, no file-change alerting, a checkout that makes customers click through gates, no bulk price editor — are exactly the gaps that cost you crawl budget, sleep, and orders once you have real traffic.
This is the must-have list: the functions that nearly every serious PrestaShop store ends up covering, grouped by what they do for the business, with the actual back-office paths and PrestaShop behaviour so you know why core falls short and what a module changes. It is deliberately function-first, not brand-first — most of these jobs can be done with a free community module, a paid one, or core itself, and we say which is which. Two scoping notes up front, so this page stays the reference and doesn't repeat its neighbours:
- If you've just installed PrestaShop and want the install order — what to switch on in the first hour versus what can wait — that's a different question with its own answer: the modules every new PrestaShop store should install first.
- This list is about function coverage, not module count. The "is twelve modules too many, is forty?" debate has its own home in why module quality matters more than module quantity — the short version lives at the end of this post.
How to read this list
For each function we give you three things: what PrestaShop core actually does (so you can decide whether you even need a module), the so-what — the business consequence of leaving the gap open — and a buy/skip steer. We have no affiliate deals with anyone mentioned; where we point at one of our own modules it's because we built it to close a gap we kept hitting in production, and we say so plainly.
Findability: the SEO baseline
This is the category merchants under-invest in most, because nothing visibly breaks when it's missing — you just quietly fail to appear.
An XML sitemap that scales
What core does: the official Google Sitemap module, commonly gsitemap, generates a sitemap when installed/enabled (Modules → Module Manager). It works. Its limits show up with size: it tends toward one large file, has weak support for image sitemaps, and doesn't split products, categories and CMS pages into separate indexes that Google can crawl efficiently.
So what: on a catalogue of a few thousand products, a single bloated sitemap means Google spends its crawl budget inefficiently and your newest products get discovered late — which on a fast-moving catalogue is lost revenue. Steer: needed above ~1,000 products. Look for split sitemaps (separate product/category/CMS files under one index), image sitemap entries, multi-store and multi-language support, and automatic search-engine pinging on update. Our mprsitemapbuilder does exactly this; several Addons-marketplace modules cover the same ground. Below ~500 products, core's sitemap is genuinely fine.
A redirect manager (the silent revenue leak)
What core does: PrestaShop has SEO & URLs settings and some object-level redirect options, but no full redirect manager that catches every changed or deleted URL. When you delete a product, rename a category, or change the friendly-URL pattern, the old URL starts returning a 404.
So what: every 404 on a previously-ranking URL throws away the link equity that page accumulated — sometimes years of it. The customer who clicked your Google result lands on an error and bounces. This is the single most common avoidable SEO loss we see on PrestaShop stores. Steer: essential the moment your catalogue churns. You want automatic 301s on product/category deletion and URL change, a manual redirect table, and canonical control. Our mprseorevolution handles redirects alongside meta-tag templating, canonical management and hreflang; for redirect-only needs the community has lighter options.
Structured data (rich snippets)
What core does: PrestaShop emits some structured data through the theme, but coverage is inconsistent across versions and themes, and it rarely covers the full set Google can act on.
So what: Product, Offer, BreadcrumbList and Organization schema are what let Google show price, availability, star ratings and breadcrumbs directly in the result. A listing with a price and stars earns more clicks than a bare blue link — the uplift is real but varies a lot by query, so don't bank on a specific percentage. Steer: worth it for any store competing on shopping queries. A schema module like our mprschema (or a marketplace equivalent) should cover Product, Offer, BreadcrumbList and Organization at minimum; avoid ones that mark up products only and ignore breadcrumbs and reviews. For how the marketplace listings actually compare on quality, see the Addons marketplace buyer's guide.
Sleeping at night: security
Security modules feel optional right up until the morning they aren't. PrestaShop is a popular, open-source target; the question isn't whether bots probe your store, it's whether you'll notice when one gets in.
File-integrity monitoring
What core does: nothing here. PrestaShop has no built-in alert when a PHP file changes.
So what: the dangerous compromises are the quiet ones — a card-skimmer injected into a payment template, or spam links seeded into a controller, running undetected for weeks. File-integrity monitoring compares your files against a known-good baseline and tells you the hour something changes. Steer: essential for any store taking payments. Our mprsecurityrevolution watches core, module and theme files for unauthorised changes and alerts you; the point is detection speed, because the cost of a skimmer scales with how long it ran.
Admin hardening and 2FA
What core does: PrestaShop manages back-office accounts and permission profiles (Advanced Parameters → Team → Employees), but it ships no native two-factor authentication — 2FA for the back office is a third-party module, not a core toggle. Core also gives you no brute-force throttling, no admin activity log and no anomaly alerts.
So what: your admin panel is the keys to the kingdom; a weak or reused employee password is the most common way in. Two-factor plus login-attempt limiting plus an admin activity log turns a single stolen password from a catastrophe into a non-event you can see. Steer: add a back-office security module the moment you have staff accounts or face real attack traffic — there's no core 2FA to fall back on. Our mprtotaldefender adds two-factor authentication, brute-force protection, admin activity logging and suspicious-behaviour detection.
CAPTCHA on public forms
What core does: none of PrestaShop's public forms (registration, contact, product reviews) carry CAPTCHA by default.
So what: open forms attract spam registrations, junk contact messages and fake reviews, which waste your time and pollute your data. A modern invisible CAPTCHA scores visitors silently — real customers never see a puzzle. Steer: cheap insurance, add it. Our mprrecaptcha drops reCAPTCHA onto registration, contact and review forms. A neighbouring problem — bots filling carts and corrupting your stats — is its own fix; we covered the diagnosis in our work on mprspamcartblocker, which filters automated add-to-cart traffic.
Speed: performance modules
PrestaShop renders pages dynamically, running dozens of queries per load. The platform gives you real tools here for free — use them before you buy anything.
Page caching
What core does: a lot, actually. Advanced Parameters → Performance gives Smarty caching, CCC (Combine/Compress/Cache for CSS & JS), and version-dependent cache backend options such as Memcached/APCu; Redis may require the right PrestaShop version or an extra module/integration. Turn these on first — they're free and they help.
So what: core caching reduces per-request work but PrestaShop still assembles most pages per visitor. Full-page caching stores the rendered HTML and serves it in a fraction of the time, and the hard part is invalidation — clearing only the pages that changed when you edit a product, instead of nuking the whole cache. Steer: exhaust core Performance settings first; add a full-page cache module when you have traffic to justify it. Our mprperformancerevolution handles full-page caching with targeted invalidation. (One practical gotcha to remember for any cache: a deploy that runs cache:clear can briefly cold-start your store — schedule it for a quiet window.)
Image optimisation and lazy loading
What core does: PrestaShop regenerates image thumbnails (Design → Image Settings) but doesn't convert to WebP or defer off-screen images by default on older versions.
So what: images are typically the largest part of a page's weight, so unoptimised product photos are the most common reason a mobile page feels slow. WebP cuts file size meaningfully versus JPEG at the same quality; lazy loading means a category page with 30 products doesn't download all 30 images when only 6 are on screen. Steer: high-leverage, low-risk — do this. Look for WebP conversion plus loading="lazy" with a JS fallback. Our mprseoimageslazytags handles the lazy-loading side; pair it with WebP conversion (community or paid) for the full win.
Turning visits into orders: checkout & conversion
A genuine one-page checkout
What core does: since PrestaShop 1.7 the checkout lives on a single URL but reveals itself one gate at a time — personal info, then addresses, then delivery, then payment. It's "one page" only in the sense of one URL; the customer still moves through steps. The old 1.6 one-page toggle was removed and isn't coming back in that form.
So what: every gate is a moment a customer can stall, and the ones who want to change a delivery option or edit an address after seeing the total feel the friction most. A true one-page checkout puts it all on screen with a live-updating total. Steer: one of the highest-return changes on most stores. Our mprcheckoutrevolution turns the stepped native flow into a real single-page checkout on 1.6 through 9 without theme surgery or core edits — and for the full anatomy of what makes that page convert (guest checkout, mobile, coupon placement, express wallets via mprexpresscheckout) see our checkout optimisation guide.
Reviews and social proof
What core does: PrestaShop ships a basic product-comments module you can enable, but it lacks photo reviews, review reminders and import from external platforms.
So what: reviews do two jobs at once — they reassure a hesitating buyer, and they feed the AggregateRating schema that puts stars in your search results. Steer: enable core comments early; upgrade when reviews become a sales lever. Our mprcomments extends the native reviews; for Google-sourced trust, mprgooglereviews brings verified ratings in. Either way, connect them to your structured-data module so the ratings actually surface in SERPs.
Knowing what's working: marketing & analytics
GA4, done properly
What core does: PrestaShop's official Google Analytics module has historically lagged the full GA4 e-commerce event set.
So what: without view_item, add_to_cart, begin_checkout and purchase firing correctly, your funnel reports are guesses — you can't tell whether you're losing people at the product page or the payment step. Steer: essential, and worth getting the events right rather than just pasting a tag. Our mprgoogleanalytics implements the full GA4 e-commerce funnel; whatever you choose, verify the events actually fire in GA4's DebugView before you trust the numbers.
Cookie consent that actually blocks scripts
What core does: PrestaShop core does not provide full script-blocking cookie consent by default; you need a consent module or integration that blocks non-essential scripts until consent. A banner alone doesn't satisfy GDPR/ePrivacy — the requirement is to block tracking scripts until consent, not just show a notice.
So what: for any store with EU customers this is a compliance obligation, not a nicety, and the modules that merely display a banner while GA4 already fired leave you exposed. Steer: required for EU traffic. You want granular categories (necessary / analytics / marketing), genuine pre-consent script blocking, and a consent log for audit. Our mprcookiesrevolution covers script-blocking consent properly.
Running the shop: store management
Bulk catalogue editing
What core does: PrestaShop's CSV import (Advanced Parameters → Import) exists but struggles with combinations, handles multi-language fields awkwardly, and has a long history of timing out on large files.
So what: editing a few thousand prices or stock levels one product at a time through the admin grid is hours you'll never get back. A proper bulk editor pays for itself in the first month of a real catalogue. Steer: essential past a few hundred SKUs. For mass price changes specifically, our mprmasspriceupdate applies rules across a selection from the back office; for broader import/export, look for a module that handles combinations, multi-language, specific prices and supplier data.
Order-workflow enhancements
What core does: the default Orders page handles the basic lifecycle but lacks bulk status changes, staff-only notes, and quick post-order edits without cancelling and re-creating.
So what: at volume, small gaps in order handling become daily friction for whoever ships your parcels. Steer: add the specific feature you're missing rather than one monolithic "order manager". Our mprorderedit lets staff adjust an existing order, and mprorderworkflow automates status transitions — install the one that matches your actual bottleneck.
On-demand backups
What core does: Advanced Parameters → Database → SQL Manager can export the database, and there's a DB-backup tool, but it's manual and DB-only.
So what: your host's backup may or may not include your PrestaShop database, and restoring from a host snapshot can take hours you don't have mid-incident. Steer: confirm what your host backs up; add a module if there's a gap. You want files and database, scheduling, the ability to exclude rarely-changing directories like /img/, and off-site storage. Several PrestaShop backup modules cover this.
"How many modules is too many?" — the short answer
Every module adds hooks, queries and CSS/JS, so the instinct to keep the list short is correct. But the real failure mode isn't count, it's quality: ten abandoned, conflict-prone modules will hurt you more than twenty well-built, actively-maintained ones. The honest rule is to install for a function you can name and a need you can measure, and to test page-load impact after each addition. We've put the full argument — why a quality-first audit beats a count-first one — in why module quality matters more than module quantity.
Free or paid: pick by consequence-of-failure
Plenty of free modules are excellent and belong on this list. The useful question isn't price, it's what happens when the module fails or goes unmaintained. For a back-to-top button, a free module that breaks is a shrug. For security monitoring, your redirect map, or your checkout, an abandoned module is a live risk — those are the functions where an actively-maintained, supported module earns its cost. We've laid out the full economics of "free" — what you actually trade away — in the real cost of free modules, and the marketplace-quality signals to check before you buy in the Addons marketplace buyer's guide.
Everything on this page is one of the modules we sell, support, and keep current — but that's because we built them to close gaps we kept hitting on real stores, not because every store needs all of them. Start from the functions, not the brand. Cover findability and security first because their failures are silent and expensive; add performance and checkout when you have the traffic to convert; layer in management tooling as your catalogue and order volume make the manual way painful. Do that and a bare PrestaShop install turns into a store that's quick, safe, findable, and a great deal less likely to wake you up at 3am.
Comments
No comments yet. Be the first!
Be the first to ask a question or share useful feedback.
Leave a comment
Share a question, an installation detail, or feedback that could help another reader.