{"id":13252,"date":"2026-08-30T19:57:54","date_gmt":"2026-08-30T17:57:54","guid":{"rendered":"https:\/\/mybox.com\/help\/?post_type=manual_kb&#038;p=13252"},"modified":"2026-08-30T19:57:59","modified_gmt":"2026-08-30T17:57:59","slug":"modx-hosting-migration-mistakes-configuration-permissions-cache-and-url-problems","status":"publish","type":"manual_kb","link":"https:\/\/mybox.com\/help\/en\/knowledgebase\/modx-hosting-migration-mistakes-configuration-permissions-cache-and-url-problems\/","title":{"rendered":"MODX Hosting Migration Mistakes: Configuration, Permissions, Cache, and URL Problems"},"content":{"rendered":"\n<div class=\"translation-block translation-block-merged\">\n<p class=\"wp-block-paragraph\">MODX hosting migration mistakes can leave a migration appearing complete while the website still has broken URLs, missing media, login failures, database connection errors, permission errors, or old cached content. These problems often come from differences between the old and new hosting environments, not from the file transfer alone. Before switching DNS, validate both the public website and the MODX Manager in the new environment.<\/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-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/modx-hosting-migration-mistakes-configuration-permissions-cache-and-url-problems\/#Why_a_completed_file_transfer_is_not_enough\" >Why a completed file transfer is not enough<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/modx-hosting-migration-mistakes-configuration-permissions-cache-and-url-problems\/#Check_the_MODX_configuration_and_database_connection\" >Check the MODX configuration and database connection<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/modx-hosting-migration-mistakes-configuration-permissions-cache-and-url-problems\/#Review_permissions_when_files_or_media_fail\" >Review permissions when files or media fail<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/modx-hosting-migration-mistakes-configuration-permissions-cache-and-url-problems\/#Test_URLs_and_domain_settings_before_DNS_changes\" >Test URLs and domain settings before DNS changes<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/modx-hosting-migration-mistakes-configuration-permissions-cache-and-url-problems\/#Clear_stale_cache_and_repeat_the_tests\" >Clear stale cache and repeat the tests<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/mybox.com\/help\/en\/knowledgebase\/modx-hosting-migration-mistakes-configuration-permissions-cache-and-url-problems\/#Final_validation_before_switching_DNS\" >Final validation before switching DNS<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Why_a_completed_file_transfer_is_not_enough\"><\/span>Why a completed file transfer is not enough<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Moving a website involves more than copying its files and database. The hosting environment, management interface, and resource model can be different after the move, so tasks that worked on the old host may behave differently on mybox. This applies when moving from cPanel or Plesk to mybox. See <a href=\"https:\/\/mybox.com\/help\/knowledgebase\/moving-from-cpanel-to-mybox-what-changes\/\">what changes when moving from cPanel to mybox<\/a> and <a href=\"https:\/\/mybox.com\/help\/knowledgebase\/moving-from-plesk-to-mybox-what-changes\/\">what changes when moving from Plesk to mybox<\/a>.<\/p>\n\n\n\n<\/div>\n\n<div id=\"mybox-3125254273\" 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\">For MODX, check each part of the working site separately. A successful upload does not prove that the database connection, domain settings, permissions, URLs, and cached output all match the new environment.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Check_the_MODX_configuration_and_database_connection\"><\/span>Check the MODX configuration and database connection<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">An incorrect configuration can make the site connect to the wrong database, fail to connect, or load data that does not match the transferred files. The database and website files must belong to the same migration state. A mismatch can make a transfer look partial even when both files and a database were copied.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the site on the destination hosting environment before changing DNS.<\/li>\n\n\n\n<li>Confirm that the front end loads rather than showing a database connection error.<\/li>\n\n\n\n<li>Open several existing pages and confirm that their content matches the transferred database.<\/li>\n\n\n\n<li>Open the MODX Manager and confirm that administrator access works.<\/li>\n\n\n\n<li>Check that changes made in the Manager appear on the destination site when the site is tested there.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">If the front end and Manager show different content, stop the DNS change and compare the database and files used by the destination. The migration environment must be checked as a complete set, not as separate uploads.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Review_permissions_when_files_or_media_fail\"><\/span>Review permissions when files or media fail<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Permissions are one of the factors that can cause missing images after a migration. Other causes include incomplete website files, database references that do not match the new location, or domain settings that still point elsewhere. In that situation, the website may load while the browser cannot find or use specific assets. The <a href=\"https:\/\/mybox.com\/help\/knowledgebase\/why-images-are-missing-after-migrating-a-website\/\">missing images after migration article<\/a> describes these causes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Validate permissions through the destination hosting interface and inspect the visible result from the browser. Check the home page, a page with images, and a page that uses other media. A page that loads without its images is not a completed migration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Test_URLs_and_domain_settings_before_DNS_changes\"><\/span>Test URLs and domain settings before DNS changes<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">URL problems can affect page links, media references, or access to the Manager. Check both direct page access and links generated by the site. Open the home page, at least one deeper page, and links to media that were present before the move.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Check that the destination responds for the intended domain.<\/li>\n\n\n\n<li>Open a deeper page directly instead of reaching it only through the home page.<\/li>\n\n\n\n<li>Follow internal links and confirm that they lead to the expected pages.<\/li>\n\n\n\n<li>Open image and media links and confirm that they resolve on the destination.<\/li>\n\n\n\n<li>Test the Manager address and confirm that the login page opens.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Domain settings are part of the migration, alongside files, database references, and permissions. If the website or its assets still point to the old environment, the transfer can seem successful while visitors receive broken pages or missing media.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Clear_stale_cache_and_repeat_the_tests\"><\/span>Clear stale cache and repeat the tests<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Old cached output can make a corrected migration appear broken. It can also make a page show content from before the move. Treat cache clearing as a separate validation step. After clearing the relevant MODX cache through the Manager, reload the front end and repeat the page, URL, media, and login checks.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Compare results after a fresh reload rather than relying on a page that was already open during the migration. Test more than the home page because cached content or references may differ between pages.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Final_validation_before_switching_DNS\"><\/span>Final validation before switching DNS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use this sequence on the destination environment before the domain is switched:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Confirm that the expected database content is visible.<\/li>\n\n\n\n<li>Confirm that the front end loads without database errors.<\/li>\n\n\n\n<li>Open the home page and deeper pages directly.<\/li>\n\n\n\n<li>Check internal links, friendly URLs, images, and other media.<\/li>\n\n\n\n<li>Open the MODX Manager and complete a login test.<\/li>\n\n\n\n<li>Confirm that permissions allow the site and its assets to work.<\/li>\n\n\n\n<li>Clear stale cache and repeat the front-end and Manager checks.<\/li>\n\n\n\n<li>Switch DNS only after these checks pass on the destination.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">DNS propagation typically takes a few hours, although it can take longer depending on the domain registrar and network conditions. During that period, some visitors may still reach the previous environment. This is expected behaviour. The destination should still pass the full MODX checklist before the DNS change begins.<\/p>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"template":"","format":"standard","manualknowledgebasecat":[36],"manual_kb_tag":[],"class_list":["post-13252","manual_kb","type-manual_kb","status-publish","format-standard","hentry","manualknowledgebasecat-migration"],"_links":{"self":[{"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manual_kb\/13252","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":1,"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manual_kb\/13252\/revisions"}],"predecessor-version":[{"id":13253,"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manual_kb\/13252\/revisions\/13253"}],"wp:attachment":[{"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/media?parent=13252"}],"wp:term":[{"taxonomy":"manualknowledgebasecat","embeddable":true,"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manualknowledgebasecat?post=13252"},{"taxonomy":"manual_kb_tag","embeddable":true,"href":"https:\/\/mybox.com\/help\/en\/wp-json\/wp\/v2\/manual_kb_tag?post=13252"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}