How-to for beginners

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 address1–2 minutes1–2 hours15–30 minutesHalf a day or more
Server knowledge requiredNoA littleNeed gitYes, a lot
Free startYesNoYesNo
HTTPS automaticallyYesUsually yesYesManually configured
Site-side project buildYesNoPartiallyManually configured
Website updateRedeployCopying filesgit pushYour own script
Suitable for PHP and CMSNoYesNoYes
Servers in RussiaYes - from LayeroUsually yesNoOptional

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.

  1. 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.
  2. 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.
  3. Register the entry with the registrar in the DNS management section.
  4. 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.

Frequently asked questions

How to publish a website on the Internet for free?
You can publish a website for free on the deployment platform (Layero, free plan - up to 5 projects with an HTTPS address), on GitHub Pages or on the free plan of the designer. The fastest way is to drag the folder with the site into the Layero panel: an address like your-project.layero.ru is issued immediately, there is no need to pay or configure the server.
What does it take to put a website on the Internet?
Three things are needed: site files (at least index.html), a place where they will be stored and distributed to visitors, and the address at which the site opens. There is no need to buy a domain - deployment platforms and hosting providers provide a free technical address with an HTTPS certificate.
Do I need to buy a domain and hosting to host a website?
No, you don’t need it to start. The technical address and HTTPS are issued free of charge, and your domain is connected later - usually with one CNAME record in the registrar panel. A domain is needed when the site is commercial and the address is important for recognition.
How does publishing a website differ from deploying it?
It's the same thing, just in different jargon. “Publish”, “lay out”, “post”, “upload” the site are everyday words; “deploy” (from the English deploy - deploy) is the same action in developer language. The only difference is that deployment usually means automatically building the project before publishing.
Is it possible to publish a website without FTP and a file manager?
Yes. FTP is a method from the times of classic virtual hosting. On modern platforms, the folder is loaded by dragging and dropping in the browser or with one npx layero@latest deploy command, and updating the site is done by re-deploying, rather than manually replacing files.
Why does the site not open after publication?
The three most common reasons: the main file is not named index.html or is not located in the root of the folder; the paths to images and styles indicate the computer drive (C:/Users/...) instead of a relative path; The case of letters in file names is mixed up - on the server Logo.png and logo.png are different files, unlike in Windows.