cPanel Subdomain Setup: 10 Common Questions Answered
Fix subdomain DNS, SSL, and WordPress setup issues in cPanel. Direct answers to the 10 questions hosting customers ask most often.

On this page
- What is the difference between a subdomain and an addon domain in cPanel?
- How do I create a subdomain in cPanel?
- Why can't I access my subdomain right after creating it?
- Does my existing SSL certificate cover the new subdomain?
- Can I point a subdomain to a different server or IP address?
- What is the document root and why does it matter?
- How do I delete or remove a subdomain?
- Can I create email accounts for a subdomain?
- What are the most common subdomain setup mistakes?
- Quick reference table
TL;DR — Key takeaways
- Subdomains inherit the parent domain's DNS zone and require no additional nameserver changes when created in cPanel.
- SSL certificates must be issued separately for each subdomain unless you use a wildcard certificate on the parent domain.
- The document root path determines where subdomain files are served from; cPanel defaults to public_html/subdomain_name but you can override this.
- Propagation delays between subdomain creation and accessibility are usually DNS caching issues, not cPanel configuration errors.
Subdomains let you partition your website into separate sections without buying additional domain names. A blog lives at blog.example.com, a store at shop.example.com, all under one hosting account.
Most confusion around subdomain setup in cPanel comes from DNS propagation timing, SSL certificate scope, and document root paths. I have walked hundreds of customers through these same questions in support tickets. The errors are predictable and the fixes are fast once you know where to look.
What is the difference between a subdomain and an addon domain in cPanel?
A subdomain is a prefix attached to your existing domain (store.example.com is a subdomain of example.com). It shares the parent domain's DNS zone and hosting account resources.
An addon domain is a completely separate domain name (example.net) that you host in the same cPanel account as your main domain. It gets its own DNS zone, its own document root, and can have its own subdomains.
You use a subdomain when you want to organize content under your existing brand. Use an addon domain when you are hosting a second website with a different name. In support tickets I handled, customers often tried to create subdomains for entirely separate business projects when they actually needed addon domains.
How do I create a subdomain in cPanel?
Log into cPanel and find the Domains section. Click Subdomains. Enter the subdomain prefix in the first field (for example, 'blog' to create blog.example.com).
Select the parent domain from the dropdown if you have multiple domains in the account. cPanel will auto-populate the document root field with public_html/subdomain_name. You can change this path if you want the files in a different directory.
Click Create. cPanel immediately adds the DNS A record and creates the document root folder. You will see a success message with the full subdomain name and the document root path. Write down that path; you need it for FTP uploads and file manager navigation.
- The subdomain appears in the Subdomains table where you can later modify the document root or remove it.
- If the Create button is grayed out, check that you have not hit your account's subdomain limit in the hosting plan.
- Parent domain DNS must already point to the cPanel server. You cannot create subdomains for domains still using external parking nameservers.
Why can't I access my subdomain right after creating it?
The subdomain is live on the server the moment you click Create. The problem is DNS caching on your computer or network.
Your operating system and browser cache DNS lookups for speed. When you create a subdomain, your computer still has a cached 'domain not found' response from before the subdomain existed. Flush the DNS cache on your machine. On Windows, open Command Prompt and run 'ipconfig /flushdns'. On macOS, run 'sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder' in Terminal. On Linux, restart the systemd-resolved service or nscd if installed.
Test in a private browsing window or from your phone on mobile data to bypass local cache. If the subdomain works there but not on your main browser, it is definitely a cache issue. ISP-level DNS caching can add another 10-30 minutes of delay, but that is rare with modern recursive resolvers.
Does my existing SSL certificate cover the new subdomain?
Not automatically. Standard SSL certificates are issued for specific hostnames. A certificate for example.com does not cover blog.example.com.
If you have a wildcard certificate (*.example.com), it covers all first-level subdomains like blog.example.com and shop.example.com, but not nested subdomains like api.blog.example.com. Check your certificate details in cPanel under SSL/TLS Status to see what hostnames are included.
AutoSSL in cPanel can automatically issue free Let's Encrypt certificates for subdomains if enabled on your server. After you create the subdomain, AutoSSL will attempt to provision a certificate on its next run, usually within a few hours. You can trigger an immediate AutoSSL run for the subdomain from the SSL/TLS Status interface.
If AutoSSL is not available, manually install a certificate for the subdomain through the SSL/TLS > Manage SSL Sites interface. You will need to generate a CSR for the subdomain or use a service like Let's Encrypt via the cPanel interface.
Can I point a subdomain to a different server or IP address?
Yes, but you edit DNS records rather than the cPanel subdomain settings. Go to Zone Editor in cPanel, find the A record for the subdomain, and change the IP address to the external server's IP.
If you want the subdomain to point elsewhere, you may not need to create it as a cPanel subdomain at all. Just add the DNS record manually. A cPanel subdomain creation is only necessary when you want to host the content on the same server in a specific document root.
After changing the A record, propagation takes the usual 5 minutes to 48 hours depending on TTL and caching. The subdomain will no longer serve files from the cPanel document root once the new IP propagates.
What is the document root and why does it matter?
The document root is the directory on the server where the subdomain's files are stored. When someone visits blog.example.com, the web server looks in that directory for index.html, index.php, or whatever default document is configured.
cPanel defaults to public_html/subdomain_name, so a subdomain called 'blog' would serve files from /home/username/public_html/blog. You can override this during creation or change it later in the Subdomains interface.
Picking the right document root matters for organization and security. Keep subdomain files in separate directories so a compromised script in one subdomain cannot easily access files in another. I have seen incidents where all subdomains shared the same public_html root, and a vulnerability in a test subdomain gave an attacker access to the production site files.
- Nested paths are allowed; you can set the document root to public_html/projects/blog if you want deeper organization.
- Changing the document root after creation does not move files. You will need to manually move or copy files to the new path via FTP or File Manager.
- Make sure the document root path has correct ownership (your cPanel username) and permissions (755 for directories, 644 for files). Incorrect ownership breaks PHP execution and file uploads.
How do I delete or remove a subdomain?
Go to the Subdomains interface in cPanel. Find the subdomain in the list and click Remove or the trash icon. cPanel will ask for confirmation.
Deleting the subdomain removes the DNS A record from the zone file and unlinks the document root, but it does not delete the files in the document root directory. If you want to free up disk space, manually delete the folder via File Manager or FTP after removing the subdomain.
Email accounts tied to the subdomain (like [email protected]) are not automatically deleted. Remove those separately under Email Accounts if you no longer need them. DNS propagation for the removal is usually faster than creation because caches respect shorter TTLs for negative responses.
Can I create email accounts for a subdomain?
Yes. Go to Email Accounts in cPanel and create an account using the subdomain in the domain dropdown (for example, [email protected]). The subdomain must exist in cPanel first.
Email routing for subdomains works identically to the main domain. MX records are inherited from the parent domain unless you override them in the Zone Editor. Most users do not need separate MX records for subdomains unless the subdomain email is handled by a different mail server.
Remember that creating the subdomain itself does not set up email. The Subdomains interface only handles web hosting and DNS A records. Email configuration is always a separate step in the Email section of cPanel.
What are the most common subdomain setup mistakes?
First mistake: trying to create a subdomain for a domain that is not yet added to cPanel or still pointing to external nameservers. The parent domain must be fully configured in the cPanel account with DNS managed by the server.
Second mistake: not flushing local DNS cache after creating the subdomain, then opening a support ticket claiming the subdomain does not work. Test from multiple devices or networks before escalating.
Third mistake: assuming the SSL certificate automatically covers subdomains. You must explicitly request or configure subdomain SSL coverage through a wildcard certificate or individual certificates.
Fourth mistake: uploading files to the wrong directory. If you created a subdomain with the default document root public_html/blog but uploaded files to public_html, the subdomain will show an empty directory listing or cPanel's default page. Always verify the document root path in the Subdomains table before uploading.
Quick reference table
Here is a summary of the key subdomain setup parameters and their defaults:
- Document root: public_html/subdomain_name (customizable during creation or later)
- DNS A record: Automatically created pointing to server IP; propagation 5 mins to 48 hours
- SSL certificate: Not included; requires separate issuance via AutoSSL, Let's Encrypt, or manual install
- Email accounts: Not created automatically; set up separately in Email Accounts using the subdomain
- Deletion: Removes DNS record and unlinks document root; does not delete files or email accounts
- Subdomain limits: Check your hosting plan; shared hosting typically allows 100-unlimited, reseller plans vary per package
Quick troubleshooting checklist
- Verify parent domain DNS is already pointing to your cPanel server before creating subdomains
- Check available disk space in your hosting account before setting subdomain document roots
- Note the auto-generated document root path when creating the subdomain for FTP and file manager access
- Request or install an SSL certificate for the new subdomain immediately after creation
- Test the subdomain in a private browser window to avoid local DNS cache false negatives
- Set up subdomain-specific email accounts under Email Accounts if needed, not during subdomain creation
FAQ
How long does it take for a new subdomain to work after I create it in cPanel?
The subdomain is active on the server immediately after creation in cPanel. If you cannot access it within 5 minutes, the delay is usually your local DNS cache or ISP cache holding the old zone data. Flush your local DNS cache or test from a different network. Global propagation to all DNS servers can take up to 24-48 hours, but most users see the subdomain resolve within 15 minutes.
Do I need to configure DNS records separately after creating a subdomain in cPanel?
No. cPanel automatically adds the necessary A record to your domain's DNS zone when you create the subdomain. You only need to manually edit DNS if you want the subdomain to point to a different IP address or if you are using external nameservers that do not sync with cPanel's zone file.
Can I install WordPress on a subdomain the same way I install it on the main domain?
Yes. Use Softaculous, Installatron, or manual upload exactly as you would for the main domain, but select the subdomain from the installation domain dropdown. The WordPress files will go into the subdomain's document root, and the database connection works identically. Just make sure the subdomain already exists in cPanel before running the installer.
Related articles
- Hosting OperationsSelf-Hosted App Deployment Fails? Check DNS, SSL, Reverse Proxy, and Logs FirstTroubleshoot failed self-hosted app deployments by checking DNS, SSL, reverse proxy routing, container status, logs, and ports.
- Hosting OperationsSelf-Hosted PaaS on a VPS: What to Check Before Installing Coolify, Dokploy, or CapRoverA hosting support checklist for preparing a VPS before installing self-hosted PaaS tools like Coolify, Dokploy, or CapRover.
- Hosting OperationsLinux Server Security Lessons from the Arch Linux Malware Package IncidentPractical Linux server security checklist for VPS admins after package malware concerns, with safe checks, rollback steps, and support guidance.
- Hosting OperationsAWS Lightsail Hong Kong VPS Latency: Practical Hosting Guide for IndonesiaLearn how to test AWS Lightsail Hong Kong VPS latency, compare regions, migrate safely, and troubleshoot hosting performance.
- Hosting OperationsCloudflare Tomorrow Watchlist: A Practical Hosting Operations GuidePractical Cloudflare troubleshooting checklist for DNS, SSL, caching, WAF, origin health, safe testing, and rollback planning.
- Hosting OperationsNetwork Safety Checklist for AI Agent Skills in Hosting OperationsAudit AI agent skills safely with network checks, secret protection, sandbox testing, rollback steps, and hosting support troubleshooting guidance.