{"id":7818,"date":"2026-04-21T09:32:33","date_gmt":"2026-04-21T07:32:33","guid":{"rendered":"https:\/\/mybox.com\/help\/?post_type=manual_kb&#038;p=7818"},"modified":"2026-06-08T13:16:32","modified_gmt":"2026-06-08T11:16:32","slug":"how-to-create-a-staging-environment-for-your-prestashop-store","status":"publish","type":"manual_kb","link":"https:\/\/mybox.com\/help\/en\/knowledgebase\/how-to-create-a-staging-environment-for-your-prestashop-store\/","title":{"rendered":"How to create a staging environment for your PrestaShop store"},"content":{"rendered":"\n<div class=\"translation-block translation-block-merged\">\n<p class=\"wp-block-paragraph\">Creating a staging environment for your PrestaShop store is the most effective way to ensure that a new module or a version update doesn&#8217;t &#8220;break&#8221; your business. In <strong>April 2026<\/strong>, PrestaShop remains a complex engine where a single database mismatch can cause a checkout failure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">By following this workflow on your <strong>mybox<\/strong> server, you can create a safe &#8220;sandbox&#8221; to test everything from tax changes to design overhauls.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/how-to-create-a-staging-environment-for-your-prestashop-store\/#The_Pre-Flight_Checklist\" >The Pre-Flight Checklist<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/how-to-create-a-staging-environment-for-your-prestashop-store\/#Step-by-Step_Staging_Setup_for_PrestaShop\" >Step-by-Step Staging Setup for PrestaShop<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/how-to-create-a-staging-environment-for-your-prestashop-store\/#Securing_Your_2026_Staging_Environment\" >Securing Your 2026 Staging Environment<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/how-to-create-a-staging-environment-for-your-prestashop-store\/#Summary_Staging_Management_on_mybox\" >Summary: Staging Management on mybox<\/a><\/li><\/ul><\/nav><\/div>\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"The_Pre-Flight_Checklist\"><\/span><strong>The Pre-Flight Checklist<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<\/div>\n\n<div id=\"mybox-1001739834\" class=\"mybox-content mybox-entity-placement\"><div class=\"early-access-banner-inpost\">\r\n  <div class=\"banner-left-inpost\">\r\n    <div class=\"icon-box-inpost\">\r\n      <img decoding=\"async\" src=\"https:\/\/mybox.com\/help\/wp-content\/uploads\/2026\/02\/square-info-icon.svg\" alt=\"Info\">\r\n    <\/div>\r\n    <div class=\"text-box-inpost\">\r\n      <span class=\"label-inpost\"><span class=\"translation-block translation-block-banner-text\">Early access<\/span><\/span>\r\n      <h4><span class=\"translation-block translation-block-banner-text\">Still need help?<\/span><\/h4>\r\n      <p><span class=\"translation-block translation-block-banner-text\">Contact our customer service team.<\/span><\/p>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <div class=\"banner-right-inpost\">\r\n    <a href=\"https:\/\/panel.mybox.com\/helpdesk2\/v\/list\/\" class=\"banner-button-inpost\"><span class=\"translation-block translation-block-banner-text\">Message us<\/span><\/a>\r\n  <\/div>\r\n<\/div><\/div>\n\n<div class=\"translation-block translation-block-merged\"><p class=\"wp-block-paragraph\">Before you begin, ensure you have the following:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Current Backups:<\/strong> Never start a migration without a fresh backup of your production files and database.<\/li>\n\n\n\n<li><strong>Server Space:<\/strong> Ensure your <strong>mybox<\/strong> plan has enough disk space to hold a full clone of your store.<\/li>\n\n\n\n<li><strong>Database Credentials:<\/strong> You will need to create a new, empty database in your <strong>mybox panel<\/strong> before starting Step 3.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Step-by-Step_Staging_Setup_for_PrestaShop\"><\/span><strong>Step-by-Step Staging Setup for PrestaShop<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. Subdomain Creation<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Log in to your <strong>mybox panel<\/strong> and create a subdomain, such as <code>test-store.yourdomain.ro<\/code>. Point this subdomain to a new, empty folder on your server (e.g., <code>\/public_html\/staging<\/code>).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. File Duplication<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Use an FTP client (like FileZilla) to copy all files from your main directory to the staging folder.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3. Database Cloning<\/strong><\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Open <strong>phpMyAdmin<\/strong> and export your live database.<\/li>\n\n\n\n<li>Create a <strong>new database<\/strong> and a <strong>new user<\/strong> in your hosting panel.<\/li>\n\n\n\n<li>Import the SQL file into the new database.<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>4. Linking the Staging Site to the Staging Database<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">You must tell the staging files to look at the <em>new<\/em> database, not the production one.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>For PrestaShop 1.7 &amp; 8.x:<\/strong> Edit <code>\/app\/config\/parameters.php<\/code>.<\/li>\n\n\n\n<li><strong>For older versions:<\/strong> Edit <code>\/config\/settings.inc.php<\/code>.Update the <code>database_name<\/code>, <code>database_user<\/code>, and <code>database_password<\/code> fields.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>5. Updating the Store URL<\/strong><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">If you try to log in now, the site will redirect you back to the live store. You must change the URL in the database.<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>In <strong>phpMyAdmin<\/strong>, go to the <code>ps_shop_url<\/code> table.<\/li>\n\n\n\n<li>Change <code>domain<\/code> and <code>domain_ssl<\/code> to your subdomain (e.g., <code>test-store.yourdomain.ro<\/code>).<\/li>\n\n\n\n<li>Ensure <code>physical_uri<\/code> matches your path (usually <code>\/<\/code> if using a subdomain).<\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>6. Regenerating .htaccess and Clearing Cache<\/strong><\/h4>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li>Delete the contents of the <code>\/var\/cache\/<\/code> directory manually.<\/li>\n\n\n\n<li>Log in to your PrestaShop staging back office.<\/li>\n\n\n\n<li>Navigate to <strong>Shop Parameters \u279c Traffic &amp; SEO<\/strong>.<\/li>\n\n\n\n<li>Toggle <strong>Friendly URL<\/strong> to &#8220;No,&#8221; save, then toggle back to &#8220;Yes&#8221; and save again. This regenerates a clean <code>.htaccess<\/code> file for the staging environment.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Securing_Your_2026_Staging_Environment\"><\/span><strong>Securing Your 2026 Staging Environment<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To prevent Google from indexing your test store as &#8220;duplicate content&#8221; or customers accidentally placing &#8220;fake&#8221; orders:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Password Protection:<\/strong> Enable <strong>HTTP Authentication<\/strong> (htpasswd) in your <strong>mybox panel<\/strong> for the staging folder. This is the only 100% effective way to block bots.<\/li>\n\n\n\n<li><strong>Maintenance Mode:<\/strong> Go to <strong>Shop Parameters \u279c General \u279c Maintenance<\/strong> and enable it, adding your personal IP to the whitelist so only you can see the frontend.<\/li>\n\n\n\n<li><strong>Robots.txt:<\/strong> Ensure your staging <code>robots.txt<\/code> contains:Plaintext<code>User-agent: * Disallow: \/<\/code><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Summary_Staging_Management_on_mybox\"><\/span><strong>Summary: Staging Management on mybox<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><td><strong>Task<\/strong><\/td><td><strong>Production (Live)<\/strong><\/td><td><strong>Staging (Test)<\/strong><\/td><\/tr><\/thead><tbody><tr><td><strong>Debug Mode<\/strong><\/td><td><strong>OFF<\/strong> (for security\/speed)<\/td><td><strong>ON<\/strong> (to catch errors)<\/td><\/tr><tr><td><strong>Caching<\/strong><\/td><td><strong>ON<\/strong> (LiteSpeed\/Memcached)<\/td><td><strong>OFF<\/strong> (to see changes instantly)<\/td><\/tr><tr><td><strong>Indexing<\/strong><\/td><td>Public<\/td><td><strong>Private (Blocked)<\/strong><\/td><\/tr><tr><td><strong>Email<\/strong><\/td><td>Active<\/td><td><strong>Disabled<\/strong> (to prevent test emails to customers)<\/td><\/tr><\/tbody><\/table><\/figure>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[58],"manual_kb_tag":[8917,9088,9199,9200,9201,9202,9203,637,1101,5842],"class_list":["post-7818","manual_kb","type-manual_kb","status-publish","format-standard","hentry","manualknowledgebasecat-web-applications-cms","manual_kb_tag-phpmyadmin-export","manual_kb_tag-mybox-server","manual_kb_tag-prestashop-staging","manual_kb_tag-subdomain-creation","manual_kb_tag-file-duplication","manual_kb_tag-database-cloning","manual_kb_tag-parameters-php","manual_kb_tag-database-credentials","manual_kb_tag-filezilla-client","manual_kb_tag-staging-environment"],"_links":{"self":[{"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manual_kb\/7818","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manual_kb"}],"about":[{"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/types\/manual_kb"}],"author":[{"embeddable":true,"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":4,"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manual_kb\/7818\/revisions"}],"predecessor-version":[{"id":7819,"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manual_kb\/7818\/revisions\/7819"}],"wp:attachment":[{"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/media?parent=7818"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manualknowledgebasecat?post=7818"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manual_kb_tag?post=7818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}