{"id":115,"date":"2026-06-08T21:32:42","date_gmt":"2026-06-09T04:32:42","guid":{"rendered":"https:\/\/cpanelreview.com\/?p=115"},"modified":"2026-06-08T21:32:42","modified_gmt":"2026-06-09T04:32:42","slug":"setup-manage-subdomains-cpanel-guide-2","status":"publish","type":"post","link":"https:\/\/cpanelreview.com\/index.php\/2026\/06\/08\/setup-manage-subdomains-cpanel-guide-2\/","title":{"rendered":"How to Set Up and Manage Subdomains in cPanel: A Complete Guide for Hosting Multiple Sites"},"content":{"rendered":"<p>If you manage a cPanel hosting account, subdomains are one of the most powerful features at your disposal. They let you run multiple independent websites, web applications, or test environments under a single domain \u2014 without needing separate hosting plans. Whether you&#8217;re setting up a blog at <code>blog.yoursite.com<\/code>, a client portal at <code>portal.yoursite.com<\/code>, or a staging environment for development work, subdomains give you the flexibility to organize everything under one roof.<\/p>\n<p>In this guide, you&#8217;ll learn exactly how to create, configure, and manage subdomains in cPanel. We&#8217;ll cover the underlying DNS mechanics, folder structure best practices, common pitfalls like redirect loops and SSL issues, and how to use subdomains with addon domains so you can get the most out of your hosting account.<\/p>\n<p><!--more--><\/p>\n<h2>What Are Subdomains and How Do They Work?<\/h2>\n<p>A subdomain is a prefix added to your primary domain name. Instead of visiting <code>yourdomain.com<\/code>, visitors go to <code>subdomain.yourdomain.com<\/code>. Technically, it&#8217;s still part of the same domain, but cPanel treats it as its own website with its own document root folder.<\/p>\n<p>When you create a subdomain in cPanel, two things happen automatically:<\/p>\n<ol>\n<li><strong>A new folder is created<\/strong> inside your public_html directory (by default, named after the subdomain)<\/li>\n<li><strong>A DNS record is added<\/strong> \u2014 typically a CNAME or A record pointing the subdomain to your server&#8217;s IP address<\/li>\n<\/ol>\n<p>For example, if you create <code>dev.yourdomain.com<\/code>, cPanel will create a folder at <code>public_html\/dev<\/code>. When someone visits <code>dev.yourdomain.com<\/code>, the server knows to serve files from that folder instead of the main <code>public_html<\/code>.<\/p>\n<h2>How to Create a Subdomain in cPanel<\/h2>\n<p>Creating a subdomain takes less than a minute. Here&#8217;s the step-by-step process:<\/p>\n<ol>\n<li><strong>Log into cPanel<\/strong> \u2014 your hosting provider will send you the URL (usually <code>https:\/\/yourdomain.com\/cpanel<\/code> or a dedicated URL like <code>https:\/\/server.hosting.com:2083<\/code>)<\/li>\n<li><strong>Navigate to Domains section<\/strong> \u2014 look for the <strong>Subdomains<\/strong> icon under the Domains category<\/li>\n<li><strong>Enter the subdomain name<\/strong> \u2014 type the prefix you want (e.g., <code>blog<\/code>, <code>shop<\/code>, <code>docs<\/code>) in the Subdomain field<\/li>\n<li><strong>Select the main domain<\/strong> \u2014 choose the parent domain from the dropdown (if you have multiple domains registered in cPanel)<\/li>\n<li><strong>Set the document root<\/strong> \u2014 by default, cPanel suggests <code>public_html\/subdomain<\/code>. You can change this to any path you prefer, like <code>public_html\/apps\/blog<\/code> for better organization<\/li>\n<li><strong>Click Create<\/strong> \u2014 cPanel will create the folder and add the necessary DNS entries<\/li>\n<\/ol>\n<p>After creation, DNS propagation can take anywhere from a few minutes to 24-48 hours depending on your domain&#8217;s TTL settings. During this time, the subdomain may not be immediately accessible from all locations.<\/p>\n<h3>Verifying DNS Propagation<\/h3>\n<p>To check if your subdomain&#8217;s DNS has propagated, open a terminal and run:<\/p>\n<pre><code>dig blog.yourdomain.com +short\n\n# Or using nslookup\nnslookup blog.yourdomain.com<\/code><\/pre>\n<p>If the command returns your server&#8217;s IP address, the DNS record has propagated and your subdomain is live.<\/p>\n<h2>Subdomain vs Addon Domain: What&#8217;s the Difference?<\/h2>\n<p>This is a common point of confusion for cPanel users. Both features let you host additional websites under a single account, but they work differently:<\/p>\n<table>\n<thead>\n<tr>\n<th>Feature<\/th>\n<th>Subdomain<\/th>\n<th>Addon Domain<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>URL format<\/td>\n<td><code>sub.yourdomain.com<\/code><\/td>\n<td><code>addondomain.com<\/code><\/td>\n<\/tr>\n<tr>\n<td>New domain required?<\/td>\n<td>No \u2014 uses your existing domain<\/td>\n<td>Yes \u2014 you must own and register the domain<\/td>\n<\/tr>\n<tr>\n<td>DNS management<\/td>\n<td>Automatic via cPanel<\/td>\n<td>Requires nameserver delegation or DNS edits<\/td>\n<\/tr>\n<tr>\n<td>Best for<\/td>\n<td>App sections, dev environments, staging<\/td>\n<td>Separate websites with different brand names<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Use subdomains when you want to organize different sections of your main site or run separate services. Use addon domains when you need completely separate brand identities with their own domain names.<\/p>\n<h2>Managing Subdomain Content and Folder Structure<\/h2>\n<p>Once your subdomain is created, you manage its files just like any other website on your account. Here are a few best practices to keep things organized:<\/p>\n<h3>Recommended Folder Structure<\/h3>\n<pre><code>public_html\/                 # Main website root\n\u251c\u2500\u2500 assets\/                  # Shared resources\n\u251c\u2500\u2500 blog\/                    # blog.yourdomain.com\n\u251c\u2500\u2500 shop\/                    # shop.yourdomain.com\n\u2502   \u2514\u2500\u2500 wp-config.php\n\u251c\u2500\u2500 staging\/                 # staging.yourdomain.com\n\u2502   \u2514\u2500\u2500 index.php\n\u2514\u2500\u2500 api\/                     # api.yourdomain.com\n    \u2514\u2500\u2500 app.php<\/code><\/pre>\n<p>This approach keeps your subdomain folders at the same level inside <code>public_html<\/code>, making backups, permissions management, and navigation through the File Manager much cleaner.<\/p>\n<h3>Installing WordPress on a Subdomain<\/h3>\n<p>You can install WordPress on a subdomain the same way you would on a primary domain. Use the <strong>WordPress Toolkit<\/strong> in cPanel (if available) or do a manual installation:<\/p>\n<ol>\n<li>Create the subdomain (e.g., <code>shop.yourdomain.com<\/code>)<\/li>\n<li>Navigate to the subdomain&#8217;s document root via File Manager<\/li>\n<li>Upload the WordPress installation files<\/li>\n<li>Create a new MySQL database and user for this WordPress instance<\/li>\n<li>Run the WordPress installation script at the subdomain URL<\/li>\n<li>Update the WordPress Address and Site Address in Settings > General if needed<\/li>\n<\/ol>\n<p>Each WordPress installation on a subdomain gets its own database, plugins, and theme \u2014 completely independent from the main site.<\/p>\n<h2>Common Subdomain Issues and How to Fix Them<\/h2>\n<p>Even with a straightforward setup, you may run into a few common problems. Here&#8217;s how to diagnose and resolve them:<\/p>\n<h3>Issue 1: The Subdomain Shows the Main Site&#8217;s Content<\/h3>\n<p>This usually means the subdomain&#8217;s document root is pointing to the same folder as the main domain. Check the document root path in cPanel&#8217;s Subdomains interface and make sure it points to a separate folder. If the path is correct, verify that an index file (like <code>index.html<\/code> or <code>index.php<\/code>) actually exists in that folder.<\/p>\n<h3>Issue 2: Subdomain Redirects to the Main Domain<\/h3>\n<p>This can happen if your main site&#8217;s <code>.htaccess<\/code> file contains a redirect rule that catches the subdomain. Open the <code>.htaccess<\/code> file in your main <code>public_html<\/code> folder and look for <code>RewriteRule<\/code> directives. You can add a condition to exclude the subdomain:<\/p>\n<pre><code>RewriteCond %{HTTP_HOST} !^subdomain\\.yourdomain\\.com [NC]<\/code><\/pre>\n<h3>Issue 3: SSL Certificate Doesn&#8217;t Cover the Subdomain<\/h3>\n<p>If your subdomain loads over HTTPS but shows a certificate warning, SSL isn&#8217;t set up for it. cPanel&#8217;s AutoSSL feature supports wildcard certificates that cover <code>*.yourdomain.com<\/code>, but not all hosting providers enable this. To fix it:<\/p>\n<ol>\n<li>Go to <strong>SSL\/TLS<\/strong> in cPanel and check if AutoSSL is enabled for the subdomain<\/li>\n<li>If using Let&#8217;s Encrypt via cPanel, run AutoSSL again \u2014 it often discovers new subdomains automatically<\/li>\n<li>If your provider only issues single-domain certificates, you may need to manually request a certificate for the subdomain<\/li>\n<\/ol>\n<h2>Best Practices for Subdomain Management<\/h2>\n<p>To keep your cPanel account organized and performant as you add more subdomains, follow these guidelines:<\/p>\n<ul>\n<li><strong>Use descriptive names<\/strong> \u2014 Choose subdomain prefixes that clearly describe their purpose (<code>blog<\/code>, <code>api<\/code>, <code>docs<\/code>) instead of generic names<\/li>\n<li><strong>Set up separate error pages<\/strong> \u2014 Each subdomain can have its own custom error pages. Configure these under the Advanced > Error Pages section in cPanel<\/li>\n<li><strong>Monitor resource usage<\/strong> \u2014 A resource-heavy subdomain (like a busy e-commerce store) can affect other subdomains on the same account. Check resource usage in cPanel&#8217;s Metrics section<\/li>\n<li><strong>Keep backups per subdomain<\/strong> \u2014 Use cPanel&#8217;s Backup Wizard or a partial backup to back up individual subdomain folders rather than the entire account<\/li>\n<li><strong>Remove unused subdomains<\/strong> \u2014 If a subdomain is no longer needed, remove it through the Subdomains interface to free up disk space and reduce attack surface<\/li>\n<li><strong>Use subdomains for staging<\/strong> \u2014 Set up a <code>staging.yourdomain.com<\/code> subdomain to test site changes before deploying to the live site<\/li>\n<\/ul>\n<h2>Key Takeaways<\/h2>\n<ul>\n<li>Subdomains in cPanel let you host multiple independent sites or apps under one domain, each with its own document root folder<\/li>\n<li>Creating a subdomain is a two-step process: define the prefix and document root, and cPanel handles DNS and folder creation automatically<\/li>\n<li>Use subdomains for functional divisions of your main domain (blog, shop, docs); use addon domains for completely separate brands<\/li>\n<li>Common issues include wrong document root paths, .htaccess redirect rules interfering with subdomains, and missing SSL coverage<\/li>\n<li>DNS propagation after creating a new subdomain can take up to 48 hours \u2014 verify with <code>dig<\/code> or <code>nslookup<\/code><\/li>\n<li>Each subdomain gets its own separate error pages, analytics, and resource footprint within your cPanel account<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to set up, manage, and troubleshoot subdomains in cPanel. Step-by-step guide with DNS configuration, folder structure best practices, and common fixes.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[99],"tags":[100,301,153,300,299],"class_list":["post-115","post","type-post","status-publish","format-standard","hentry","category-domain-management","tag-cpanel-domain-management","tag-cpanel-hosting-guide","tag-cpanel-subdomains","tag-subdomain-dns-setup","tag-subdomain-setup-guide"],"_links":{"self":[{"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/posts\/115","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/comments?post=115"}],"version-history":[{"count":1,"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/posts\/115\/revisions"}],"predecessor-version":[{"id":116,"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/posts\/115\/revisions\/116"}],"wp:attachment":[{"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/media?parent=115"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/categories?post=115"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cpanelreview.com\/index.php\/wp-json\/wp\/v2\/tags?post=115"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}