How to host a website: what you need first
Every website, from a one-page portfolio to an online shop, rests on the same three things:
- A domain name, such as yourbusiness.in, which people type to find you.
- Web hosting: space on a web server that is always connected to the internet and answers visitors' browsers.
- The website itself: either a set of files you have built, or an application such as WordPress that builds pages for you.
That last choice decides a lot. MDN describes two kinds of web server. A static one sends the files it holds to the browser exactly as they are, which suits hand-built HTML sites and the output of site builders. A dynamic one adds an application server and a database that generate each page as it is requested, which is what WordPress, Joomla and most shops need. Ordinary cPanel hosting handles both.
Step 1: Choose the right type of web hosting
For a first website in India, the choice is usually between three kinds of plan:
| Type | What you get | Who manages the server | Suits |
|---|---|---|---|
| Shared cPanel hosting | Space on a server shared with other accounts, with cPanel, PHP, MySQL or MariaDB and email | The host | Static sites, business sites, blogs, small WordPress sites |
| WordPress hosting | Shared hosting set up and tuned for WordPress, often with it already installed | The host | Sites that will only ever run WordPress |
| VPS | Your own virtual server with root access | You | Custom applications, Node.js or Python apps, sites that outgrow shared limits |
Most people should start with shared cPanel hosting. cPanel gives you a control panel for files, databases, email and SSL without touching a command line; our guide to what cPanel is walks through it. Move to a VPS when you need software a shared server will not run, or full control over the operating system. The trade-offs are covered in VPS vs shared hosting.
Also look at where the servers are. If most of your visitors are in India, a server in India keeps the distance their requests travel short. You can measure it yourself with our latency test.
Step 2: Register a domain name
Domains ending in .com, .net, .org and other generic extensions are sold through ICANN-accredited registrars, of which there are more than two thousand. Country-code domains are handled by each country's own operator. The .in extension is administered by the National Internet Exchange of India (NIXI) through the .IN Registry, which sells through accredited registrars and has issued them eKYC guidelines for verifying new registrants.
Two practical points. Register the domain in your own name, with an email address you control, even if a developer is building the site; otherwise moving away from that developer later becomes difficult. And decide early between .com and .in, since your email addresses and printed material will carry it. Our .com vs .in guide sets out the differences.
Bigdomainhost does not sell domains, so if you host with us you register the domain with a registrar of your choice and point it at your hosting, as described next.
Step 3: Point your domain to your hosting
The link between a domain name and a server is the DNS, the hierarchical and decentralised naming system for everything on the internet. You connect your domain to your host in one of two ways:
| Method | What you change at the registrar | Where DNS is then managed | Best when |
|---|---|---|---|
| Change nameservers | Replace the nameservers with the two your host gives you | At the host, often inside cPanel | You want the host to handle web, email and SSL records together |
| Add an A record | Point the domain's A record (and the www record) at the server's IP address | At the registrar or your existing DNS provider | Your DNS already holds records for other services you want to keep |
In DNS terms, an NS record names the nameserver that holds the authoritative records for your domain, and an A record gives a host's address. Each record also has a TTL: the number of seconds it may be cached before it should be discarded. That is why changes are not instant. Resolvers around the internet keep the old answer until its TTL runs out, so a change usually takes a few hours to reach everyone. If you are moving a live site, lower the TTL to 300 seconds at least 24 hours before you switch, so the switch itself spreads quickly.
For Bigdomainhost hosting, the nameservers are ns1.bigdomainhost.com and ns2.bigdomainhost.com, and DNS management is free for domains on them.
Step 4: Upload your website files
Once you have a hosting account, your files have to go onto the web server. On cPanel hosting the folder that the public sees, the document root, is public_html. Your home page file (usually index.html or index.php) must sit directly inside it, not inside a subfolder, or the site will not appear at your domain's address.
There are two common ways to upload:
- cPanel File Manager, in the browser. It cannot upload a whole folder, so compress your site into a zip file, upload that, and extract it in place. It also cannot edit files larger than 1 MB, which rarely matters for HTML but can for large scripts.
- FTP or SFTP, with a desktop FTP program. cPanel lets you create separate FTP accounts, for a developer for example, and its documentation recommends SFTP for secure transfers on the main account.
If your site uses a database, create it and its user in cPanel before uploading, then put those details into the site's configuration file.
Step 5: Install WordPress or another CMS
If you are building with WordPress rather than uploading finished files, check the server first. WordPress.org currently recommends PHP 8.3 or newer, MariaDB 10.11 or newer (or MySQL 8.4 or newer), and HTTPS support. On cPanel hosting you can usually choose the PHP version for each domain.
WordPress notes that many hosts offer an automatic installer, and that a manual install usually takes less than five minutes. On cPanel this installer is often Softaculous, which also installs Joomla, Magento, PrestaShop, Moodle and hundreds of other applications. Plans sold as WordPress hosting frequently arrive with WordPress already installed, so you only log in and choose a theme.
A manual install is still worth knowing: create a database and user in cPanel, upload the WordPress files to public_html, open your domain in a browser, and enter the database details when asked.
Step 6: Turn on HTTPS with a free SSL certificate
Every site should load over HTTPS, and WordPress lists it among its recommendations. You do not need to pay for a basic certificate. Let's Encrypt charges nothing for its certificates, which are valid for 90 days by default, and cPanel's AutoSSL issues domain-validated certificates for the domains on your account. On many cPanel hosts these are issued and renewed automatically; on our cPanel plans a Let's Encrypt certificate is issued and renewed for every domain and subdomain without any action from you.
The usual reason a certificate fails to appear is order. cPanel's own documentation gives a domain that does not resolve to an address on the internet as an example of an AutoSSL problem, so the certificate can only be issued once Step 3 has taken effect. If HTTPS is missing a few hours after you changed DNS, check that the domain points at the right IP, and that no CAA record on the domain blocks the certificate authority your host uses.
Step 7: Set up email records if you send mail from the domain
If your site or your staff send email from addresses on the domain, set up authentication records in DNS at the same time. Gmail requires everyone who sends to Gmail accounts to use SPF or DKIM, and those sending more than 5,000 messages a day to Gmail must use both SPF and DKIM and also publish a DMARC record. Without them, contact-form replies and invoices sent to Gmail addresses may not arrive. Your host should give you the exact SPF and DKIM values to add; the ports your mail program needs are in our email port numbers guide.
How much does it cost to host a website in India?
For a small site the main costs are the domain, which the registrar prices, and the hosting plan. The certificate is free. As one example, here is what our own plans cost; all prices exclude 18% GST, which is added at checkout (see GST on web hosting):
| Plan | Monthly billing | On a 3-year term | Includes |
|---|---|---|---|
| Web & cPanel hosting (Arsenic) | ₹149/mo | ₹49/mo (₹1,764 every 36 months) | 1 domain, 5 GB storage, 3 databases, free SSL |
| WordPress Starter | ₹299/mo | ₹149/mo (₹5,364 every 36 months) | 1 domain, 10 GB NVMe, WordPress pre-installed, LiteSpeed |
| KVM VPS | From ₹674 per 30-day period, paid in advance from a rupee wallet | Full root access, NVMe storage | |
Whichever host you use, compare the renewal price, not just the first-term price, and check what happens after the term ends. Our hosting plans renew at the price you signed up at. Our price list has every plan, and paying for hosting in India covers UPI, cards and bank transfers.
Common mistakes when hosting a website for the first time
- Uploading the folder instead of its contents. If your files end up in public_html/mysite/, the home page is at yourdomain.in/mysite/. Move them up a level.
- Asking for SSL before DNS has spread. The certificate cannot be issued until the domain resolves to your server. Wait, then check again.
- Switching DNS before the new host is tested. When moving an existing site, test it on the new server first. Our guide to moving hosts without downtime gives the order.
- Leaving the domain in someone else's name. The registrant controls the domain. Make sure it is you or your business.
- Picking an outdated PHP version. Old versions may still be selectable for legacy sites, but new WordPress sites should use 8.3 or newer.
- Forgetting email records. Add SPF and DKIM as soon as the domain sends mail.
Sources (checked )
- MDN Web Docs: What is a web server?
- MDN Web Docs: DNS (glossary)
- RFC Editor: RFC 1035: Domain names, implementation and specification
- ICANN: Registering a domain name
- Wikipedia: .in
- cPanel & WHM Documentation: File Manager
- cPanel & WHM Documentation: FTP Accounts
- cPanel & WHM Documentation: SSL/TLS Status
- Let's Encrypt: FAQ
- WordPress.org: Requirements
- WordPress Developer Resources: How to install WordPress
- Gmail Help: Email sender guidelines