
Blog
Tutorials
How to Publish a Web Page or Website (6 Steps)
How to publish a web page or website: pick a host, upload your files or click Publish, connect a domain, turn on HTTPS and test. Free and paid options compared.

Nafis Amiri
Co-Founder of CatDoes

To publish a web page, you put its files on a web server that's always online, so anyone with the link can open it in a browser. A whole website works the same way. You pick where it will live, upload the files or click Publish, point a domain name at it, and turn on HTTPS.
This guide shows how to publish a web page or a full website in six steps, whether you built it in a website builder, wrote the HTML yourself, or had AI build it. It also covers which free hosts are worth using, what publishing costs, and how to fix the problems that show up on launch day.
Short answer: choose where to host the page (a website builder, a free static host like GitHub Pages or Netlify, or a paid web host), upload your files or click Publish, connect a domain name, turn on HTTPS, and test the live page. It's all free on a subdomain. A custom domain costs about $10 to $15 a year.
Choose how to publish, based on how you built the page
Get a domain name, or use a free subdomain
Choose where to host it
Upload your files or click Publish
Connect your domain and turn on HTTPS
Test the live site and tell Google it exists
Table of Contents
What Does It Mean to Publish a Website?
1. Choose How to Publish (Based on How You Built It)
2. Get a Domain Name (or Use a Free Subdomain)
3. Choose Where to Host It
4. Upload Your Files (or Click Publish)
5. Connect Your Domain and Turn On HTTPS
6. Test the Live Site and Tell Google It Exists
How to Publish a Website for Free
How Much Does It Cost to Publish a Website?
How to Publish a Website With CatDoes
Why Isn't My Website Showing Up?
Common Questions About Publishing a Website
What Does It Mean to Publish a Website?
Publishing a website means moving its files from the computer where you made them to a web server: a computer that stays online and sends the pages to anyone who asks for them. Once the files are there, the site has an address, its URL, that works in any browser.
Three pieces make that work. Hosting is the server space that stores the files. A domain name is the address people type, like yourbrand.com. And you need a way to move the files onto the server, from an FTP program to a Publish button.
Web publishing is the same process for any content, from one HTML page to a blog with a thousand posts.
1. Choose How to Publish (Based on How You Built It)

The right method depends on what you have right now. A page made in a website builder already has hosting. A folder of HTML files needs somewhere to go. A React app needs a host that can build it first.
How you built it | Where to publish it | What you do | Cost to start |
|---|---|---|---|
Website builder (Wix, Squarespace, Google Sites, Canva) | The builder itself | Click Publish, then connect a domain | $0 on Google Sites. Other builders vary by plan |
WordPress | A web host with a one-click WordPress install | Install WordPress, then publish each page from the editor | Hosting plus a domain |
HTML, CSS and JavaScript files | GitHub Pages, Netlify, Cloudflare Pages or any web host | Upload the folder, or push it to a Git repository | $0 on a free subdomain |
React or Next.js app | Vercel, Netlify or Cloudflare Pages | Connect the Git repository. The host builds and deploys every change | $0 on free tiers |
Built with AI | The AI builder's own hosting, or any host above | In CatDoes, ask the agent to deploy | $0 on the CatDoes Free plan, on a catdoes.app address |
Still building? Our guide to making a website with AI covers the part before this one. If your site needs logins or saved data, see how to build a web app, which ends where this guide starts.
2. Get a Domain Name (or Use a Free Subdomain)

A domain name is the address people type to reach your site. You rent it by the year from a registrar such as Namecheap, Cloudflare or GoDaddy. Kinsta puts typical registration at $10 to $15 a year.
You don't need one to publish. Most free hosts give you a subdomain: username.github.io on GitHub Pages, yoursite.netlify.app on Netlify, yourapp.catdoes.app on CatDoes. That's fine for a portfolio, a test or a class project.
For a business, buy the domain. It's cheap, it's easier to remember, and it stays yours if you ever switch hosts. Pick something short that's easy to spell when you say it out loud.
3. Choose Where to Host It
Hosting is the server that stores your files and sends them to visitors. For a first site, the choice comes down to four types:
Builder hosting: included with Wix, Squarespace, Google Sites and AI builders. There's nothing to set up.
Static hosting (GitHub Pages, Netlify, Cloudflare Pages, Vercel): made for HTML files and front-end apps. All four have free plans.
Shared hosting: one server split between many sites, from about $3 to $5 a month according to Kinsta. It runs WordPress and PHP, and it's where most WordPress sites start.
VPS or cloud server: your own slice of a server. You get more control and more setup. Skip it for a first site unless you need a custom backend.
If your site is only pages, static hosting is the simplest choice and usually free. If it needs logins or a database, you also need a backend. A web app platform covers that, and so does an AI builder with a database built in.
4. Upload Your Files (or Click Publish)

This is the moment the site goes live. In a website builder, it's the Publish button at the top of the editor. Everywhere else, you move your files to the host.
Whatever the method, name your homepage index.html and keep it in the top folder. Web servers load that file first when someone visits your address. If it's missing or named something else, like home.html, visitors get an error instead of your page.
How to Publish a Web Page Free With GitHub Pages
GitHub Pages turns a GitHub repository into a live website. These steps are based on GitHub's quickstart:
Create a free GitHub account.
Create a new repository named
username.github.io, using your own GitHub username.Upload
index.htmland the rest of your files to it with Add file, then Upload files.Open Settings, then Pages. Under Build and deployment, set Source to Deploy from a branch and pick your main branch.
Visit
https://username.github.io. GitHub says changes can take up to 10 minutes to appear.
On a free account the repository has to be public. A published site can be up to 1 GB, with a soft bandwidth limit of 100 GB a month. GitHub also doesn't allow Pages to be used to run an online business, an online store or a SaaS product (GitHub Pages limits).
If you'd rather watch, SuperSimpleDev's tutorial puts an HTML site online from start to finish:
Or Drag a Folder Into Netlify Drop
No GitHub account needed. Open Netlify Drop, drag your project folder onto the deploy zone, and Netlify gives you a live URL. If your project has a build step, drag the output folder instead, usually called dist, build or public. Unzip a zip file first. To update the site, drag the new folder in again.
Upload to a Web Host With FTP or the File Manager
On shared hosting, your files go into the folder the server publishes, usually called public_html or www. For a few files, use the file manager in your hosting dashboard.
For a whole site, use an FTP program like FileZilla. Connect with the host name, username and password from your hosting account, then drag files from your computer's side of the window to the server's side.
Install WordPress With One Click
Most hosts include an auto-installer, often called Softaculous, in the dashboard. Pick WordPress, choose your domain, set an admin username and password, and click Install. It creates the database and copies the files for you. From then on, you publish each page from the WordPress editor.
Deploy From Git (React, Next.js and Other Apps)
Connect your GitHub repository to Vercel, Netlify or Cloudflare Pages. The host builds the site and deploys it every time you push a change. If a change breaks something, you can roll back to an earlier deploy from the dashboard.
5. Connect Your Domain and Turn On HTTPS

If you bought the domain and the hosting from the same company, this step is usually done for you. If not, you point the domain at the host from your registrar's DNS settings. There are two ways:
Change the nameservers. Replace the registrar's nameservers with the ones your host gives you. The host then manages all DNS records for the domain.
Add DNS records. Keep DNS at your registrar and add the records your host asks for, usually a CNAME record for
wwwand an A record for the bare domain. CatDoes, for example, asks for a CNAME record pointing tocatdoes.app.
DNS changes take time to spread. The CatDoes docs put it at a few minutes to a few hours, and create.net's help center warns it can take up to 72 hours.
Then turn on HTTPS. It encrypts the connection and removes the "Not Secure" label Chrome shows on plain HTTP pages. Most web hosts offer a free certificate from Let's Encrypt that you switch on in the dashboard. GitHub Pages, Netlify, Vercel, Cloudflare Pages and CatDoes set it up for you when you add a domain.
6. Test the Live Site and Tell Google It Exists

Open the live URL in a private window, so you see what a first-time visitor sees instead of a copy your browser saved. Then check four things:
Links and buttons: click every one. A 404 means a file is missing or a link has a typo.
Forms: submit each one and confirm the message actually arrives.
Images and video: files that worked on your computer often break after the move, usually because of a wrong path or a capital letter in a file name.
Phones: open the site on an iPhone and an Android phone, not only on your laptop.
Last, tell Google the site exists. Add it to Google Search Console, submit your sitemap, and use the URL Inspection tool to request indexing for the homepage. Google says crawling can take anywhere from a few days to a few weeks.
How to Publish a Website for Free
You can publish a website for free on any of these hosts. Each one gives you a free subdomain, and most let you connect your own domain without paying. The catch is in the last column.
Free option | Best for | Free address | Your own domain on the free plan | The catch |
|---|---|---|---|---|
GitHub Pages | HTML pages, portfolios, docs | username.github.io | Yes | Public repository on a free account, 1 GB per site, not for online businesses or stores |
Netlify | A folder of files, front-end apps | yoursite.netlify.app | Yes, with SSL | 300 credits a month. Each production deploy uses 15 and each GB of bandwidth uses 20 (Netlify pricing) |
Cloudflare Pages | Static sites and front-end apps from Git | yoursite.pages.dev | Yes, up to 100 per project | 500 builds a month and 20,000 files per site (Cloudflare Pages limits) |
Vercel Hobby | Next.js and React apps | yoursite.vercel.app | Yes, up to 50 per project | Personal, non-commercial use only, 100 GB of data transfer a month (Vercel Hobby plan) |
Google Sites | A simple site with no code | A sites.google.com address | Yes, after you verify you own it | You can only use the layouts the editor offers (publish a Google Site) |
CatDoes Free | A site built from a description | yourapp.catdoes.app | No, custom domains start on Starter | 15 one-time credits, one project and a "Made with CatDoes" badge |
For a business site, read the terms before you pick: GitHub Pages and Vercel Hobby don't allow commercial use. If you'd rather have AI build the site too, we compared free AI website builders and what their free plans include.
How Much Does It Cost to Publish a Website?
Publishing a website costs anywhere from $0 to a few hundred dollars in the first year, before you pay anyone to design or build it. Here's where the money goes:
Item | Typical cost | When you need it |
|---|---|---|
Free host on a subdomain | $0 | Portfolios, tests, personal pages |
Domain name | About $10 to $15 a year | Any site on its own address |
Shared hosting | From about $3 to $5 a month | WordPress and PHP sites |
SSL certificate | $0 | Every site. Let's Encrypt and most hosts include it |
Website builder plan with a custom domain | Varies by builder. On CatDoes, Starter is $50 a month | When you want the builder to host the site on your domain |
The domain and hosting figures are Kinsta's estimates, and Kinsta puts a realistic first-year budget for a small business site at $100 to $300, assuming you don't hire a designer or developer.
How to Publish a Website With CatDoes
If you built your site with CatDoes, the AI app and website builder we make, publishing is a chat message. Here's the whole flow:
Tell the agent "Deploy my app to the web."
Pick a short slug.
myappbecomesmyapp.catdoes.app.CatDoes builds and deploys the site, then sends you the live link.
The live site doesn't change while you keep editing. When the next version is ready, ask the agent to deploy again. You can also change the slug later or take the site offline, both by asking in the chat.
To use your own domain, ask the agent for a custom domain. Then add a CNAME record pointing to catdoes.app at your domain provider, or an A record if it's a bare domain like yourbrand.com, and tell the agent when you're done. It checks the record and turns on HTTPS automatically.
Custom domains start on the Starter plan at $50 a month, which also removes the "Made with CatDoes" badge that Free and Core sites show. Each project can have 2 domains on Starter, 4 on Plus, 8 on Pro and 20 on Max or Team, counting the catdoes.app address.
Built your site somewhere else, like Lovable, Bolt or by hand? Import the GitHub repository into CatDoes, and the agent can keep working on it and deploy it the same way. If the site needs a database, logins or file storage, CatDoes Cloud is included on every plan.
Once the site is live, the same project can also become an iOS and Android app. Here's how to turn your website into an app.
Why Isn't My Website Showing Up?
Most launch-day problems come from one of three causes.
The Domain Shows an Old Page or Nothing at All
The DNS change hasn't reached your network yet. Wait, then check again in a private window, or on your phone with Wi-Fi turned off so it uses a different network.
The Homepage Shows a 404 Error
The server can't find index.html in the top folder. Check that the file exists, that it isn't inside a subfolder, and that the name is all lowercase, since many servers treat Index.html and index.html as different files. On GitHub Pages, also check that Settings, then Pages, points at the right branch.
The Browser Says "Not Secure"
Either HTTPS isn't on yet, or the page loads some images or scripts from http:// addresses, which browsers flag as mixed content. Turn on HTTPS in your host's dashboard, then change those addresses to https://. On WordPress, a plugin can rewrite them for you.
Common Questions About Publishing a Website
Where should I publish my website?
Publish it where you built it if you used a website builder, since hosting is included. For HTML files, use GitHub Pages, Netlify or Cloudflare Pages. For WordPress, use a web host with a one-click installer. For a React or Next.js app, use Vercel, Netlify or Cloudflare Pages.
Can ChatGPT create and publish a website?
ChatGPT can write the code for a web page. To put it online, save the code as index.html and publish the file with a host such as Netlify Drop or GitHub Pages. An AI website builder like CatDoes writes the code and deploys it to a live URL in the same chat.
How do I publish a web page on WordPress?
Open the page in the WordPress editor and click Publish at the top right. If the site itself isn't live yet, install WordPress on a web host first. Then check that "Discourage search engines from indexing this site" is unticked under Settings, then Reading.
Can you edit a website after you publish it?
Yes. Change the files and publish again: upload them over FTP, push to Git, drag the new folder into Netlify Drop, or click Publish in your builder. In CatDoes, keep editing in the chat and ask the agent to deploy again. Visitors see the new version once it's deployed.
How long does it take for a new website to show up on Google?
Usually a few days to a few weeks. Google says crawling can take anywhere from a few days to a few weeks. Submitting a sitemap in Google Search Console and requesting indexing for the homepage helps Google find the site, but it doesn't guarantee a date.
What is the difference between a domain and hosting?
A domain is your site's address, like yourbrand.com. Hosting is the server space where the site's files live. You need both for a site on its own address: the domain sends visitors to the host, and the host sends them the pages. Free hosts include a subdomain, so you can start with hosting alone.
Do I need to know how to code to publish a website?
No. Website builders like Wix, Squarespace and Google Sites publish with one button, and an AI builder like CatDoes builds the site from a description and deploys it when you ask. Even hand-written HTML doesn't need code to publish: GitHub Pages and Netlify Drop work by uploading or dragging files.
Want to skip the setup? Describe your site to CatDoes, and the agent builds it and publishes it to a live link. The Free plan includes 15 free credits, with no card needed.

Nafis Amiri
Co-Founder of CatDoes


