How to publish a website on the Internet
We look at five working ways to upload a website - from dragging a folder in the browser to your own server. Without jargon: what you need at the start, how the methods differ, which one to choose for your task, and why the site may not open after publication.
What does it mean to “publish a site”
While the site is a folder on your computer, only you can see it: double click on index.html opens a page at the address of the form file:///C:/Users/…, and such a link cannot be sent to a client or customer - it simply will not open for him.
To publish a website means to put its files on a computer that is turned on 24/7 and accessible from the Internet, and to receive an address through which the site opens for anyone anywhere in the world. This computer is called a server, and its rental service is called hosting.
“Upload a site”, “host a site”, “upload a site” and “deploy a site” - these are all about the same action, in different words. Below we will look at five ways to do this, from the fastest to the most time-consuming, and honestly tell you which one is suitable for whom.
What is needed for a website to open on the Internet
Regardless of the method chosen, the same three components work.
1. Site files
Minimum - one file index.html. Usually there are folders with styles, scripts and pictures nearby. Important rule: the main page should be called exactly index.html and lie in the root of the folder, and not inside a subdirectory - the server opens it by default when a visitor visits the site address.
If the site is built on React, Vue, Next.js or another framework, you do not yet have files to publish: you first need the source code
build - turn into ready-made HTML, CSS and JS. This is done by the build command (most often npm run build), and deployment platforms do it for you automatically.
2. Place where files are stored and distributed
This could be shared hosting, cloud storage, deployment platform or your own server. The difference is how much you have to configure manually and how much it costs.
3. Address and HTTPS
The address can be technical - it is given out free of charge by the site (your-project.layero.ru, username.github.io) - and your own, purchased from the registrar (yoursite.ru). You can start with the technical one: it works fully, there is no shame in showing it to the customer, and you can connect your domain at any time later.
Separately about HTTPS - padlock in the address bar. Without it, browsers mark the site as “Not Protected”, and search engines lower it in the search results. Previously, a certificate was issued manually, today normal platforms issue it automatically and free of charge. If a site requires an additional payment for HTTPS, this is a reason to look for another one.
5 ways to publish a website on the Internet
Method 1. Deployment platform - the fastest
The deployment platform (also called PaaS) takes your folder or repository, assembles the project itself, distributes it through a network of servers and issues a ready-made HTTPS address. There is no need to configure the server, nginx and certificates - you simply won’t see these words.
That's exactly how it works Layero: the folder with the site can be dragged directly into the control panel, and it is more convenient for the developer to perform
npx layero@latest deploy in the terminal. Publishing takes 30–60 seconds, there is a free plan, and the servers and CDN are located in Russia - the site opens for the Russian audience quickly and without a VPN.
Suitable for: almost everything - from a landing page on pure HTML to an application on Next.js. Limitation: such platforms are designed for websites and applications, and not for classic PHP-CMS like 1C-Bitrix.
Method 2. Virtual hosting via FTP - classic
You buy a plan from the hoster (Reg.ru, Timeweb, Beget and others), get access, connect with a program like FileZilla and copy files to a folder public_html. Then link the domain in the panel and enable the SSL certificate.
Suitable for: sites in PHP and ready-made CMS - WordPress, 1C-Bitrix, OpenCart; for those who need mail on their domain and a database in one plan. Cons: paid from the first day, updating the site involves manually copying files, and you will have to build the front-end project on your computer every time.
Method 3. GitHub Pages - free for static content
If the code is already in a repository on GitHub, pages can be distributed directly from there: GitHub Pages is enabled in the repository settings, and the site opens at username.github.io/repository.
Suitable for: documentation, portfolio, open source projects. Cons: GitHub account and basic understanding of git required; Only static sites work - server code cannot be run; servers are located outside of Russia, so speed and availability for Russian audiences are unpredictable.
Method 4. Website builder - no files at all
Tilda, Craftum, Bitrix24.Sites and the like combine an editor and hosting: you build a page from blocks with the mouse and click “Publish”.
Suitable for: for those who do not yet have a ready-made website and have no desire to write code. Not suitable, if the site has already been laid out: it is usually impossible to upload a ready-made HTML folder into the constructor - you will have to rebuild everything inside their editor again.
Method 5. Your own server (VPS) - maximum control
You rent a virtual machine, install the operating system, nginx web server on it, configure a certificate, firewall, autorun and security updates.
Suitable for: non-standard tasks, heavy backends, situations where complete control over the environment is needed. Cost: The server needs to be administered constantly, not just once. You shouldn’t choose this path for the sake of a landing page or portfolio.
Which method to choose
Comparison of those parameters that actually influence the choice on the first day.
| Criterion | Deployment platform | Hosting + FTP | GitHub Pages | Own VPS |
|---|---|---|---|---|
| Time to work address | 1–2 minutes | 1–2 hours | 15–30 minutes | Half a day or more |
| Server knowledge required | No | A little | Need git | Yes, a lot |
| Free start | Yes | No | Yes | No |
| HTTPS automatically | Yes | Usually yes | Yes | Manually configured |
| Site-side project build | Yes | No | Partially | Manually configured |
| Website update | Redeploy | Copying files | git push | Your own script |
| Suitable for PHP and CMS | No | Yes | No | Yes |
| Servers in Russia | Yes - from Layero | Usually yes | No | Optional |
How to publish a website in a minute: step by step
Let's look at the fastest way - through the deployment platform. You won’t need a server, a domain, or payment at the start.
Step 1: Check the site folder
Make sure that in the root of the folder there is index.html, and the paths to images and styles are relative - css/style.cssrather than C:/Users/Ivan/site/css/style.css. Open index.html double click: if the page looks correct locally, it will also open on the Internet.
Step 2: Log in to the panel
Open app.layero.ru and log in by email or through Yandex. There is no separate registration - an account is created upon first login.
Step 3: Load the site
Drag the project folder into the panel - the platform will unzip it, detect the framework (if any), build it and publish it. Developers can complete it faster npx layero@latest deploy in the project folder: nothing needs to be installed.
Step 4: Open the address
After 30–60 seconds you will receive a link like your-project.layero.ru with HTTPS already running. You can immediately send it to the client, and connect your domain later.
Publish your website right now
Free plan, HTTPS out of the box and CDN in Russia. Drag a folder into the panel or do npx layero@latest deploy.
How to connect your domain
The technical address works fully, but for a commercial site you usually need your own: yoursite.ru. The procedure is the same almost everywhere.
- Buy a domain at the registrar - Reg.ru, Timeweb, Nic.ru and others. For Russian audiences, take the zone
.ru: it is cheaper than most international ones and is more trustworthy. - Add a domain in the site panelwhere the site is published. The site will show you which DNS record needs to be created—usually a CNAME.
- Register the entry with the registrar in the DNS management section.
- Please wait for DNS update - from several minutes to several hours. An HTTPS certificate for your domain is issued automatically on normal sites; you do not need to pay extra for it.
Detailed analysis with example records - in documentation for their domains.
5 errors due to which the site does not open
Almost all newbie support requests come down to these five points.
Home page is named incorrectly
File main.html, home.html or Index.html the server does not consider it to be the main one. Need exactly index.html in lowercase letters.
The files are in a subfolder
A common case: inside the downloaded folder there is another folder, and already in it index.html. You need to load the content, not the wrapper.
Absolute paths from computer disk
Links of the form file:///C:/Users/… or /Users/ivan/site/img/logo.png work only for you. Need relative ones: img/logo.png.
Letter case mixed up
Windows does not differentiate Logo.PNG and logo.png, and the server distinguishes. This is why pictures “disappear” - keep names in lower case.
Cyrillic and spaces in file names
My picture.jpg breaks down in the tracks. Use Latin characters and hyphens: moya-kartinka.jpg.
Watch the old version from the cache
After updating, the browser may show the previous page. Force update - Ctrl+F5 on Windows, Cmd+Shift+R on macOS.