Custom Shopify theme or template: how to decide
What changes between adapting an existing theme and building your own, and what to check before choosing for your Shopify store.
Read article
To solve a PrestaShop problem, start with the symptom and the most recent known change. A 500 error, an old price and a pending payment may look like parts of the same fault, but they usually need different checks. Before changing the installation, reproduce the case and save a recoverable backup.
Work on a test copy if you are changing modules, the theme, versions or server settings. On the live store, avoid experiments that alter orders, stock or payments. The first goal is to find a demonstrable cause, rather than trying every available setting.
| Symptom | First check | Who usually investigates |
|---|---|---|
| 500 error or blank screen | Error log and most recent change. | Development and hosting. |
| Old content or design | Application, browser and CDN caches. | Development and whoever manages caching. |
| Payment does not update the order | Transaction, notes and provider notification. | Payment provider, development and operations. |
| Incorrect stock | SKUs, combinations, ERP and synchronisation. | Operations and integrations. |
| Slow loading | Server, queries, assets and scripts. | Development, hosting and frontend. |
A 500 status only tells you that the server could not complete the request. Check the logs for the exact time and connect the failure to the URL, action and user. The cause could be an incompatibility, an operation that exhausts resources, a file or an external dependency.
If debugging is needed, enable it in the test environment and restrict access to the information. Do not publish traces containing paths, credentials or customer data. Avoid changing permissions indiscriminately to make the error disappear.
When a fault appears after installing or updating a module, record its version alongside the theme and PrestaShop versions. Reproduce the journey in testing and change one variable at a time. If you disable several extensions together and the problem disappears, you still do not know which one caused it.
Check overrides and custom development too. A module may depend on an earlier modification that was never documented. Its provider needs the reproduction steps and observed error, rather than only the description “the store does not work”.
PrestaShop has performance and cache settings documented by version. If a change does not appear, establish whether the old response comes from the application, a server layer, a CDN or the browser. Clearing one layer does not automatically clear the others.
Check a specific product or page after each action. If the result changes only after signing in or adding URL parameters, that difference is a clue. Do not leave forced compilation enabled or caching disabled as a permanent solution without examining the effect on production.
Separate the time spent generating a page on the server from the assets downloaded and executed by the browser. Test several templates: catalogue search, a product page and checkout can have different bottlenecks.
Review queries, modules, external services, images and scripts according to the measurements. Cleaning a database without a plan can delete necessary information. First identify which table is growing, what it is used for and how it could be recovered.
Compare the provider's transaction with the order and its statuses. A captured payment that fails to update the order calls for an investigation into communication between the systems. A checkout that never sends a request needs a different investigation.
Run controlled tests using the appropriate test mode, including cancellations, refunds and emails. Avoid repeating real transactions or changing statuses in bulk before reconciling the data. The check should explain what happened to both the money and order preparation.
This behaviour may mean a connector is writing an old value back into the store. Identify the main source of prices and stock, review combination identifiers and check what happens when two updates arrive close together.
Document the direction of every connection. If the ERP updates PrestaShop and another tool updates the ERP from the website, the systems may overwrite one another. Manually correcting the same products every morning is not a lasting solution.
Resolve the incident blocking sales first, then investigate the pattern. If one module is responsible, replacing or correcting it may be enough. If maintaining the whole architecture is the difficulty, compare its upkeep with an alternative that meets the same requirements.
A review of whether Shopify fits your business can clarify what would change in data, operations and integrations. You do not need to commit to a migration to gather that information. Nor should migration be presented as the automatic answer to every PrestaShop error.
Editorial review: the Migraciones.io team · 30 October 2026. Features, plans and availability are checked against the linked sources.