{"id":278,"date":"2026-09-27T10:05:08","date_gmt":"2026-09-27T17:05:08","guid":{"rendered":"https:\/\/hostandtech.com\/kb\/?p=278"},"modified":"2026-09-27T10:05:08","modified_gmt":"2026-09-27T17:05:08","slug":"migrate-shared-hosting-to-vps","status":"publish","type":"post","link":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/","title":{"rendered":"How to Migrate From Shared Hosting to a VPS (cPanel to WHM, Step by Step)"},"content":{"rendered":"<h2>Overview<\/h2>\n<p>To migrate from shared hosting to a VPS, take a <strong>full account backup<\/strong> in cPanel, restore it on the VPS in <strong>WHM<\/strong>, test the site through your computer&#8217;s hosts file, and only then point DNS at the new server. Done in that order, visitors never see downtime, and email keeps flowing. Expect one to two hours of hands-on work for a typical site, plus a day of preparation for DNS.<\/p>\n<p>This guide is for cPanel shared hosting customers moving to a VPS that runs cPanel &amp; WHM. It assumes you&#8217;ve already decided a VPS is the right move; if you&#8217;re not sure yet, <a href=\"https:\/\/hostandtech.com\/kb\/shared\/shared-hosting-pros-and-cons\/\">shared hosting benefits, limits and when to upgrade<\/a> and <a href=\"https:\/\/hostandtech.com\/kb\/vps\/vps-vs-shared-hosting-comparison\/\">VPS vs shared hosting<\/a> will help you decide. It also covers the parts most migration guides leave out: the settings tied to your old IP address, and the email that arrives while DNS is changing.<\/p>\n<h2>Prerequisites<\/h2>\n<ul>\n<li>A VPS with cPanel &amp; WHM installed and licensed, and root or WHM login. cPanel&#8217;s own minimum is 1 GB of RAM and 20 GB of disk, but plan on at least 2 GB of RAM for a real site.<\/li>\n<li>Free disk space on the VPS of at least <strong>twice your account size<\/strong>: one copy for the backup file, one for the restored account.<\/li>\n<li>Login to wherever your DNS is managed: your registrar, your old host&#8217;s Zone Editor, or a service like Cloudflare.<\/li>\n<li>A list of anything that lives outside cPanel: external DNS, third-party email (Google Workspace, Microsoft 365), payment gateways or APIs that only accept requests from your server&#8217;s IP.<\/li>\n<\/ul>\n<h2>Step-by-Step: Migrate From Shared Hosting to a VPS<\/h2>\n<figure class=\"wp-block-image\"><img src=\"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/shared-hosting-to-vps-migration-timeline.webp\" alt=\"Timeline for migrating shared hosting to a VPS: lower TTL, backup, restore, test, switch DNS, check mail, cancel\" width=\"1200\" height=\"560\" loading=\"lazy\" decoding=\"async\"><figcaption>The migration in order: the old site stays live until DNS is switched.<\/figcaption><\/figure>\n<h3>Step 1: Size the VPS from your real usage<\/h3>\n<p>In cPanel, open <strong>Resource Usage<\/strong> (on CloudLinux servers) and look at the last 30 days of CPU, memory and entry process peaks. Note the disk usage and inode count from the <strong>Statistics<\/strong> panel. If you&#8217;re moving because you kept hitting limits, the <a href=\"https:\/\/hostandtech.com\/kb\/shared\/understanding-shared-hosting-resource-limits\/\">shared hosting resource limits guide<\/a> explains what each graph means. Choose a VPS with headroom above those peaks, because cPanel, the mail server and MySQL now share the VPS&#8217;s memory with your site.<\/p>\n<h3>Step 2: Lower your DNS TTL a day ahead<\/h3>\n<p>TTL is how long other servers cache your DNS records. cPanel&#8217;s default is 14400 seconds (4 hours). At least one old TTL period before the move, and ideally 24 hours before, set the TTL on the <code class=\"\" data-line=\"\">A<\/code> records for your domain, <code class=\"\" data-line=\"\">www<\/code> and <code class=\"\" data-line=\"\">mail<\/code> to <code class=\"\" data-line=\"\">300<\/code> (5 minutes) in your DNS manager. When you switch later, the change reaches everyone within minutes instead of hours. The <a href=\"https:\/\/hostandtech.com\/kb\/cpanel\/how-to-set-up-dns-zone-cpanel\/\">cPanel Zone Editor guide<\/a> shows where to edit TTLs.<\/p>\n<h3>Step 3: Prepare the VPS<\/h3>\n<ol>\n<li>In WHM, open <strong>MultiPHP Manager<\/strong> and make sure the PHP version your site uses on shared hosting is installed. Check the version in cPanel&#8217;s <strong>MultiPHP Manager<\/strong> or <strong>Select PHP Version<\/strong> on the old account first.<\/li>\n<li>Install the same PHP extensions (for example <code class=\"\" data-line=\"\">imagick<\/code>, <code class=\"\" data-line=\"\">intl<\/code>, <code class=\"\" data-line=\"\">soap<\/code>) with EasyApache 4; see <a href=\"https:\/\/hostandtech.com\/kb\/whm\/how-to-configure-php-settings-whm-easyapache\/\">configuring PHP in WHM with EasyApache 4<\/a>.<\/li>\n<li>Check the MySQL or MariaDB version is the same or newer than the old server&#8217;s, shown in cPanel&#8217;s <strong>General Information<\/strong> panel under <strong>Server Information<\/strong>.<\/li>\n<li>Set a proper hostname and reverse DNS (PTR) for the VPS IP, so mail sent from it isn&#8217;t rejected.<\/li>\n<\/ol>\n<h3>Step 4: Create a full account backup on the old host<\/h3>\n<ol>\n<li>In the old cPanel, open <strong>Backup<\/strong> (Files section).<\/li>\n<li>Click <strong>Download a Full Account Backup<\/strong>.<\/li>\n<li>Set <strong>Backup Destination<\/strong> to <strong>Home Directory<\/strong>, enter your email for a notification, and click <strong>Generate Backup<\/strong>.<\/li>\n<\/ol>\n<p>You&#8217;ll get an email when it&#8217;s done. The file appears in your home directory as <code class=\"\" data-line=\"\">backup-MM.DD.YYYY_HH-MM-SS_username.tar.gz<\/code> and contains your files, databases, email accounts and mail, DNS zones, SSL certificates and cron jobs. On a big account this can take an hour; start it early.<\/p>\n<h3>Step 5: Copy the backup to the VPS<\/h3>\n<p>Pull the file straight from the old server to the VPS rather than downloading it to your own computer first. From the VPS as root, if your old host allows SSH:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-1\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-1'><code class=\"\" data-line=\"\">cd \/home\nscp olduser@old-server.example.net:~\/backup-*.tar.gz \/home\/<\/code><\/pre>\n<\/div>\n<p>If the old host has no SSH, download the file from cPanel&#8217;s File Manager and upload it to <code class=\"\" data-line=\"\">\/home<\/code> on the VPS with SFTP. <a href=\"https:\/\/hostandtech.com\/kb\/linux\/how-to-transfer-files-via-scp\/\">Transferring files with SCP<\/a> covers both directions.<\/p>\n<h3>Step 6: Restore the account in WHM<\/h3>\n<p>In WHM, go to <strong>Transfers<\/strong> &gt; <strong>Transfer or Restore a cPanel Account<\/strong>, choose to restore from a file in <code class=\"\" data-line=\"\">\/home<\/code> (or upload it there), and start the restore. From the command line it&#8217;s one line:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-2\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-2'><code class=\"\" data-line=\"\">\/scripts\/restorepkg \/home\/backup-MM.DD.YYYY_HH-MM-SS_username.tar.gz<\/code><\/pre>\n<\/div>\n<p>Keep the <strong>same cPanel username<\/strong>. Database and database-user names carry the username as a prefix (<code class=\"\" data-line=\"\">username_wp<\/code>), so a different username means editing every config file that connects to a database.<\/p>\n<h3>Step 7: Test the site before touching DNS<\/h3>\n<p>Point only your own computer at the VPS by adding a line to your hosts file, using the VPS IP:<\/p>\n<div class='ht-code-snippet'><button class='ht-code-snippet__copy' onclick='htCopyCode(\"code-block-3\")' type='button' aria-label='Copy code'><svg class='ht-copy-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M28,10V28H10V10H28m0-2H10a2,2,0,0,0-2,2V28a2,2,0,0,0,2,2H28a2,2,0,0,0,2-2V10a2,2,0,0,0-2-2Z'><\/path><path d='M4,18H2V4A2,2,0,0,1,4,2H18V4H4Z'><\/path><\/svg><svg class='ht-check-icon' viewBox='0 0 32 32' width='16' height='16' fill='currentColor'><path d='M13,24l-9-9,1.414-1.414L13,21.171,26.586,7.586,28,9Z'><\/path><\/svg><\/button><span class='ht-code-snippet__feedback'>Copied to clipboard<\/span><\/p>\n<pre class='ht-code-snippet__code' id='code-block-3'><code class=\"\" data-line=\"\">203.0.113.25   example.com www.example.com<\/code><\/pre>\n<\/div>\n<p>On macOS and Linux the file is <code class=\"\" data-line=\"\">\/etc\/hosts<\/code> (edit with <code class=\"\" data-line=\"\">sudo nano \/etc\/hosts<\/code>). On Windows it&#8217;s <code class=\"\" data-line=\"\">C:&#092;Windows&#092;System32&#092;drivers&#092;etc&#092;hosts<\/code>; open Notepad as administrator to edit it. Then check the home page, a few inner pages, contact forms, the admin login, a checkout if you have one, and sending a message from webmail. Expect a certificate warning at this stage: AutoSSL can only issue the new certificate once public DNS points at the VPS.<\/p>\n<h3>Step 8: Fix the things tied to the old server<\/h3>\n<ul>\n<li><strong>SPF record:<\/strong> if it lists the old server&#8217;s IP (<code class=\"\" data-line=\"\">ip4:<\/code>) or the old host&#8217;s include, update it to the VPS IP. See <a href=\"https:\/\/hostandtech.com\/kb\/domains\/how-to-create-spf-record\/\">how to create an SPF record<\/a>.<\/li>\n<li><strong>IP allowlists:<\/strong> payment gateways, APIs, remote database access and backup services that only accept your old IP.<\/li>\n<li><strong>Hard-coded paths:<\/strong> scripts or cron jobs using the old server&#8217;s paths, if your home directory path changed.<\/li>\n<li><strong>DKIM:<\/strong> the backup carries the DKIM key, but confirm in cPanel&#8217;s <strong>Email Deliverability<\/strong> that the DNS record matches.<\/li>\n<\/ul>\n<h3>Step 9: Switch DNS<\/h3>\n<p>The simplest switch is to keep DNS where it is and change the <code class=\"\" data-line=\"\">A<\/code> records for the domain, <code class=\"\" data-line=\"\">www<\/code>, <code class=\"\" data-line=\"\">mail<\/code> and any other subdomains to the VPS IP. Moving nameservers to the VPS at the same time adds a second thing that can go wrong; do it later if you want it. Remove the hosts file line afterwards so you see what everyone else sees. <a href=\"https:\/\/hostandtech.com\/kb\/domains\/understanding-dns-propagation-time\/\">DNS propagation time<\/a> explains how to watch the change spread. Once DNS resolves to the VPS, run AutoSSL in <strong>SSL\/TLS Status<\/strong> instead of waiting for the nightly run. Check the AAAA record as well: a leftover IPv6 record pointing at the old host is a common cause of <a href=\"https:\/\/hostandtech.com\/kb\/ssl\/fix-err-ssl-protocol-error\/\">ERR_SSL_PROTOCOL_ERROR<\/a> after a move.<\/p>\n<h3>Step 10: Catch the last emails and close the old account<\/h3>\n<p>For a few hours some senders will still deliver to the old server. Log in to the old webmail daily for three to five days and move any stragglers, or sync them with <code class=\"\" data-line=\"\">imapsync<\/code> if you have many mailboxes. Keep the old hosting account for one to two weeks as a fallback, then cancel it.<\/p>\n<h2>Common Issues &amp; Troubleshooting<\/h2>\n<h3>Error establishing a database connection<\/h3>\n<p><strong>Cause:<\/strong> the account was restored under a different username, so database names and users changed prefix, or the database user lost its privileges during restore.<\/p>\n<p><strong>Fix:<\/strong> in cPanel&#8217;s <strong>MySQL Databases<\/strong>, check the real database and user names, add the user to the database with all privileges, and update the site&#8217;s config file (for WordPress, <code class=\"\" data-line=\"\">wp-config.php<\/code>). The <a href=\"https:\/\/hostandtech.com\/kb\/wordpress\/fix-error-establishing-a-database-connection-wordpress\/\">database connection error guide<\/a> has the full checklist.<\/p>\n<h3>The site shows a default cPanel or &#8220;SORRY&#8221; page<\/h3>\n<p><strong>Cause:<\/strong> the request reaches the VPS on an IP the account isn&#8217;t assigned to, or on a hostname the account doesn&#8217;t know about.<\/p>\n<p><strong>Fix:<\/strong> in WHM&#8217;s <strong>List Accounts<\/strong>, check the account&#8217;s IP and make sure your DNS or hosts file uses that exact IP. If you moved the domain to a different account, add it as an addon or parked domain there.<\/p>\n<h3>Emails still arrive at the old server<\/h3>\n<p><strong>Cause:<\/strong> the <code class=\"\" data-line=\"\">mail<\/code> A record or the MX record still points at the old host, or senders cached the old records.<\/p>\n<p><strong>Fix:<\/strong> check <code class=\"\" data-line=\"\">dig +short MX example.com<\/code> and <code class=\"\" data-line=\"\">dig +short A mail.example.com<\/code>. Point both at the VPS, and keep checking the old mailbox until the old TTL has long passed.<\/p>\n<h3>Restore fails with &#8220;account already exists&#8221; or a username conflict<\/h3>\n<p><strong>Cause:<\/strong> a test account with the same username or domain was already created on the VPS.<\/p>\n<p><strong>Fix:<\/strong> remove the test account in WHM (<strong>Terminate Accounts<\/strong>) only if it holds nothing you need, then run the restore again.<\/p>\n<p>Ready to move? <a href=\"https:\/\/hostandtech.com\/vps-ssd-servers\">Host &amp; Tech SSD VPS plans<\/a> are available in sizes that suit a first move off shared hosting. Open a ticket at our <a href=\"https:\/\/hostandtech.com\/help\">help centre<\/a> before you start and we&#8217;ll tell you what help is available for your migration.<\/p>\n<div class=\"ht-faq-section\">\n<h2>Frequently Asked Questions<\/h2>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">How long does it take to migrate from shared hosting to a VPS?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>For a typical site, the backup, transfer and restore take one to two hours of work. Add a day beforehand for lowering the DNS TTL, and three to five days afterwards of checking the old mailbox. Visitors see no downtime if you test with a hosts file before switching DNS.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Will my website go down during the migration?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>No, if you follow the order in this guide. The old site keeps running until DNS changes, and with a 300-second TTL the switch reaches most visitors within minutes. The only visible change is a few minutes where some visitors reach the old server and some the new one.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Do I need to change nameservers when moving to a VPS?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>No. Changing the A records for the domain, www and mail to the VPS IP is enough, and it&#8217;s the safer option. You can move nameservers to the VPS later if you want to manage DNS there.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Can I migrate to a VPS without cPanel?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>Yes, but it&#8217;s manual: copy files with rsync or scp, export databases with mysqldump, recreate the web server virtual host, and set up email separately. It suits developers comfortable on the command line; everyone else saves time with cPanel and WHM on the VPS.<\/p>\n<\/div>\n<\/div>\n<div class=\"ht-faq-item\">\n<h3 class=\"ht-faq-question\">Does the cPanel full backup include my email?<\/h3>\n<div class=\"ht-faq-answer\">\n<p>Yes. A full account backup contains email accounts, forwarders, filters and the messages stored on the server, along with files, databases, DNS zones, SSL certificates and cron jobs. Mail that arrives on the old server after the backup is taken has to be moved separately.<\/p>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Move a cPanel shared hosting account to your own VPS without downtime or lost email: lower DNS TTLs, take a full backup, restore it in WHM, test with a hosts file, switch DNS and tidy up the things that don&#8217;t move by themselves.<\/p>\n","protected":false},"author":1,"featured_media":273,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[77],"tags":[324,26,8,4,89],"class_list":["post-278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-shared","tag-dns-propagation","tag-migration","tag-shared-hosting","tag-vps-hosting","tag-whm"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to Migrate From Shared Hosting to a VPS (cPanel)<\/title>\n<meta name=\"description\" content=\"Migrate from shared hosting to a VPS without downtime: full cPanel backup, restore in WHM, test with a hosts file, then switch DNS. Checklist and fixes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Migrate From Shared Hosting to a VPS (cPanel)\" \/>\n<meta property=\"og:description\" content=\"Migrate from shared hosting to a VPS without downtime: full cPanel backup, restore in WHM, test with a hosts file, then switch DNS. Checklist and fixes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/\" \/>\n<meta property=\"og:site_name\" content=\"Host And Tech knowledge base\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/stshostandtech\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-27T17:05:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/migrate-shared-hosting-to-vps.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@stshostandtech\" \/>\n<meta name=\"twitter:site\" content=\"@stshostandtech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/person\\\/b6fa79c48ddaba71af32e395c5b017ee\"},\"headline\":\"How to Migrate From Shared Hosting to a VPS (cPanel to WHM, Step by Step)\",\"datePublished\":\"2026-09-27T17:05:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/\"},\"wordCount\":1729,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/migrate-shared-hosting-to-vps.webp\",\"keywords\":[\"DNS propagation\",\"migration\",\"shared hosting\",\"VPS hosting\",\"WHM\"],\"articleSection\":[\"Shared Hosting\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/\",\"name\":\"How to Migrate From Shared Hosting to a VPS (cPanel)\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/migrate-shared-hosting-to-vps.webp\",\"datePublished\":\"2026-09-27T17:05:08+00:00\",\"description\":\"Migrate from shared hosting to a VPS without downtime: full cPanel backup, restore in WHM, test with a hosts file, then switch DNS. Checklist and fixes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/#primaryimage\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/migrate-shared-hosting-to-vps.webp\",\"contentUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/migrate-shared-hosting-to-vps.webp\",\"width\":1200,\"height\":630,\"caption\":\"Title card: migrate from shared hosting to a VPS with a full cPanel backup and WHM restorepkg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/shared\\\/migrate-shared-hosting-to-vps\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Migrate From Shared Hosting to a VPS (cPanel to WHM, Step by Step)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#website\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\",\"name\":\"Host And Tech knowledge base\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#organization\",\"name\":\"Host And Tech knowledge base\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-dark.png\",\"contentUrl\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/logo-dark.png\",\"width\":1134,\"height\":395,\"caption\":\"Host And Tech knowledge base\"},\"image\":{\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/stshostandtech\",\"https:\\\/\\\/x.com\\\/stshostandtech\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/#\\\/schema\\\/person\\\/b6fa79c48ddaba71af32e395c5b017ee\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\\\/\\\/hostandtech.com\\\/kb\"],\"url\":\"https:\\\/\\\/hostandtech.com\\\/kb\\\/author\\\/admin_fjj7qydm\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Migrate From Shared Hosting to a VPS (cPanel)","description":"Migrate from shared hosting to a VPS without downtime: full cPanel backup, restore in WHM, test with a hosts file, then switch DNS. Checklist and fixes.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/","og_locale":"en_US","og_type":"article","og_title":"How to Migrate From Shared Hosting to a VPS (cPanel)","og_description":"Migrate from shared hosting to a VPS without downtime: full cPanel backup, restore in WHM, test with a hosts file, then switch DNS. Checklist and fixes.","og_url":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/","og_site_name":"Host And Tech knowledge base","article_publisher":"https:\/\/www.facebook.com\/stshostandtech","article_published_time":"2026-09-27T17:05:08+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/migrate-shared-hosting-to-vps.webp","type":"image\/webp"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@stshostandtech","twitter_site":"@stshostandtech","twitter_misc":{"Written by":"admin","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/#article","isPartOf":{"@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/"},"author":{"name":"admin","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/person\/b6fa79c48ddaba71af32e395c5b017ee"},"headline":"How to Migrate From Shared Hosting to a VPS (cPanel to WHM, Step by Step)","datePublished":"2026-09-27T17:05:08+00:00","mainEntityOfPage":{"@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/"},"wordCount":1729,"commentCount":0,"publisher":{"@id":"https:\/\/hostandtech.com\/kb\/#organization"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/#primaryimage"},"thumbnailUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/migrate-shared-hosting-to-vps.webp","keywords":["DNS propagation","migration","shared hosting","VPS hosting","WHM"],"articleSection":["Shared Hosting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/","url":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/","name":"How to Migrate From Shared Hosting to a VPS (cPanel)","isPartOf":{"@id":"https:\/\/hostandtech.com\/kb\/#website"},"primaryImageOfPage":{"@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/#primaryimage"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/#primaryimage"},"thumbnailUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/migrate-shared-hosting-to-vps.webp","datePublished":"2026-09-27T17:05:08+00:00","description":"Migrate from shared hosting to a VPS without downtime: full cPanel backup, restore in WHM, test with a hosts file, then switch DNS. Checklist and fixes.","breadcrumb":{"@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/#primaryimage","url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/migrate-shared-hosting-to-vps.webp","contentUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/09\/migrate-shared-hosting-to-vps.webp","width":1200,"height":630,"caption":"Title card: migrate from shared hosting to a VPS with a full cPanel backup and WHM restorepkg"},{"@type":"BreadcrumbList","@id":"https:\/\/hostandtech.com\/kb\/shared\/migrate-shared-hosting-to-vps\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/hostandtech.com\/kb\/"},{"@type":"ListItem","position":2,"name":"How to Migrate From Shared Hosting to a VPS (cPanel to WHM, Step by Step)"}]},{"@type":"WebSite","@id":"https:\/\/hostandtech.com\/kb\/#website","url":"https:\/\/hostandtech.com\/kb\/","name":"Host And Tech knowledge base","description":"","publisher":{"@id":"https:\/\/hostandtech.com\/kb\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/hostandtech.com\/kb\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/hostandtech.com\/kb\/#organization","name":"Host And Tech knowledge base","url":"https:\/\/hostandtech.com\/kb\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/logo\/image\/","url":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/05\/logo-dark.png","contentUrl":"https:\/\/hostandtech.com\/kb\/wp-content\/uploads\/2026\/05\/logo-dark.png","width":1134,"height":395,"caption":"Host And Tech knowledge base"},"image":{"@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/stshostandtech","https:\/\/x.com\/stshostandtech"]},{"@type":"Person","@id":"https:\/\/hostandtech.com\/kb\/#\/schema\/person\/b6fa79c48ddaba71af32e395c5b017ee","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/aa1edac8bbadb442e059a5b65ad45a3b2e3ce689202373b96e3e567517ae4b39?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/hostandtech.com\/kb"],"url":"https:\/\/hostandtech.com\/kb\/author\/admin_fjj7qydm\/"}]}},"_links":{"self":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/comments?post=278"}],"version-history":[{"count":1,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/278\/revisions"}],"predecessor-version":[{"id":282,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/posts\/278\/revisions\/282"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/media\/273"}],"wp:attachment":[{"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/media?parent=278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/categories?post=278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hostandtech.com\/kb\/wp-json\/wp\/v2\/tags?post=278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}