Put your page online yourself.
The same guide is inside every download. You do not need to buy anything from us to read it. It takes about 30 minutes the first time, and it never asks you to send us a password, API key or card number.
What you need
Last checked: 2026-10-29
Nothing to install. About 30 minutes for your first time.
- The unzipped folder. Open the ZIP you downloaded and extract it (right-click, "Extract all" on Windows; double-click on a Mac). The folder holds
index.html,style.css,script.jsand anassetsfolder. Keep them together. - A hosting account. This is the computer that shows your site to visitors. Free ones are named below; you do not need to pay for hosting to start.
- A domain name (optional at first). The address people type, like
yourname.com. Buying one costs roughly 8 to 20 euros a year. Without one you get a free address likeyourname.netlify.app, which is fine for trying it out. - An email address you can read, for the host to send you a confirmation.
Which route? No experience: Netlify Drop (Route 1). Want it free with your own domain: Cloudflare Pages (Route 2). You already have a host with a file manager: Route 4, upload.
Route 1: Netlify Drop (easiest)
Last checked: 2026-10-29
- Open https://app.netlify.com/drop in your browser.You should now see: A page with a large box that says to drag and drop a folder.
- Drag the unzipped folder (the one holding
index.html) onto the box. Drag the folder, not the ZIP file.You should now see: A progress bar, then your site with a web address ending in.netlify.app. - Click the address. Your page opens in a new tab.You should now see: Your page, with its pictures. If it is blank, see "If something goes wrong" below.
- Create a free Netlify account when it asks, so the site is not deleted after an hour.You should now see: The site listed under "Sites" in your Netlify account.
Netlify reads the _headers file in your folder, so the security and caching rules are applied for you.
Route 2: Cloudflare Pages (free, with your own domain)
Last checked: 2026-10-29
- Create a free account at https://dash.cloudflare.com/sign-up and confirm your email.You should now see: The Cloudflare dashboard.
- In the left menu choose "Workers & Pages", then "Create", then the "Pages" tab, then "Upload assets".You should now see: A form asking for a project name.
- Type a project name (letters and dashes only). This becomes
name.pages.dev. Click "Create project".You should now see: A box to drop files. - Drag the unzipped folder into the box, or use "Select from computer" and choose the folder. Click "Deploy site".You should now see: A "Success" message and a
.pages.devaddress. - Click the address to open your site.You should now see: Your page.
Cloudflare reads _headers too. To update later, open the project and choose "Create new deployment" to upload the new folder.
Sent to GitHub? Already sent the files to your GitHub account from edvlabs? Choose "Connect to Git" instead of "Upload assets", pick your repository, leave the build command empty and set the output folder to /. Each new commit then goes online by itself.
Route 3: GitHub Pages
Last checked: 2026-10-29
- Create a free account at https://github.com and make a new repository (the "+" at the top, "New repository"). Choose Public.You should now see: An empty repository.
- Click "uploading an existing file", drag in the contents of the unzipped folder (the files and the
assetsfolder, not the folder around them), and click "Commit changes".You should now see: The files listed in the repository. - Open the repository "Settings", then "Pages". Under "Build and deployment" choose "Deploy from a branch", branch
main, folder/ (root), and Save.You should now see: After a minute or two the page shows "Your site is live at ...". - Open that address.You should now see: Your page.
GitHub Pages ignores the _headers file, so the extra security and caching rules are not applied there. It works, but Netlify and Cloudflare Pages protect your visitors a little better.
Route 4: An ordinary web host (cPanel, FTP, file manager)
Last checked: 2026-10-29
- Log in to your hosting control panel and open "File Manager" (or connect with an FTP program using the details your host emailed you).You should now see: A list of folders. Look for one called
public_html,wwworhtdocs. - Open that folder. If it holds a placeholder page such as
index.phpordefault.html, delete or rename it.You should now see: An empty folder. - Upload everything from inside the unzipped folder:
index.html,style.css,script.js, theassetsfolder and the rest. Keep the folder structure.You should now see: The same files listed, withassetsstill a folder. - Open your domain in a browser.You should now see: Your page.
_headers is ignored by most ordinary hosts. That is harmless.
Connect your own domain
Last checked: 2026-10-29
- Buy a domain from a registrar (for example Cloudflare Registrar, Namecheap, or a local one). Choose a short name;
.comor your country ending.You should now see: The domain listed in your registrar account. - In your host (Netlify: "Domain management"; Cloudflare Pages: "Custom domains"), click "Add a domain" and type it, for example
yourname.com.You should now see: The host shows what to change: either two name servers, or two DNS records (an A or CNAME record). - In your registrar, either replace the name servers with the two the host gave you, or add the DNS records exactly as shown. Save.You should now see: The registrar shows the new values.
- Wait. It usually takes minutes, sometimes up to a few hours. The host turns on HTTPS (the padlock) by itself.You should now see: The host shows the domain as "Active" or "Verified" and the address opens with a padlock.
- Choose
wwwor nowwwas the main address, and let the host redirect the other one to it.You should now see: Typing either version lands on the same page.
If it still does not work after an hour: check you copied the values with no extra spaces, that you changed them at the registrar where the domain is registered, and that old records for the same name were removed. Then ask your host's support; they see the same screen you do.
After it is online
Last checked: 2026-10-29
- In the builder, open Step 5 and type your real web address when asked ("What will your web address be?"). Download again and upload the new folder.You should now see: The new
sitemap.xmland the right address inside the page. - Open Google Search Console at https://search.google.com/search-console, add your site, and submit
https://your-address/sitemap.xmlunder "Sitemaps". Do the same at https://www.bing.com/webmasters.You should now see: "Success" next to the sitemap. - Open your site on your phone, on mobile data, not your home wifi.You should now see: The page looks right and loads in a few seconds.
- Click every link and button. Send yourself a message through the contact form, if you have one.You should now see: Everything goes where it should (see the form note below).
What to expect from Google: it takes days to a few weeks to list a new site. Where you appear depends on your content, your links and your competition. edvlabs cannot promise a ranking and nobody honest can.
Contact forms: where the messages go
Last checked: 2026-10-29
A page made of plain files has no back end of its own, so a form needs somewhere to send its messages. The builder sets this up for you: open the admin panel (Content tab, "Open admin panel"), choose Form messages, pick one option below, type what it asks for, and download your site. You can change it later in the admin.html that comes with your site: pick another option, press Publish, then download the content file from the editor's "Publishing & backup" tab and upload it over the old one. Every contact, newsletter, waiting-list and quote form that came with the blocks uses your choice. A form you wrote yourself in custom code is not covered, and the check step warns about it.
- Netlify Forms (only if your site is on Netlify). Nothing to type. After you upload the site, open Netlify, your site, then Forms: messages appear there, and you can switch on email notifications. It does not work on other hosts.
- My email (no account). Type your email address. Messages are sent by the free FormSubmit service. The first message asks you to confirm your address: click the link in that email, and send another test message. Your address is visible to anyone who views the page source, so use one made for this.
- Formspree (free account at https://formspree.io). Make a new form there and copy its address, which looks like
https://formspree.io/f/abcdwxyz(the last part alone also works). Paste it in the builder. - Web3Forms (free account at https://web3forms.com). Enter your email there; they send you an access key that looks like
12345678-abcd-1234-abcd-1234567890ab. Paste the key in the builder. The key is public by design: it can only send messages to your address. - WhatsApp. Type your number with the country code. When a visitor sends the form, their WhatsApp opens with the message already written to you, and they press send. You only receive it if they do.
- The visitor's email app. Type your email address. The visitor's mail program opens with the message written, and they press send. It does not work for visitors who have no mail program set up.
- My own address (advanced). A full
https://address on your own server that accepts a JSON post and allows requests from your site. Ask your developer.
- In the builder, open the admin panel, choose Form messages and pick where messages go. Type the address, number or key if it asks.You should now see: A note under the box explains what to type. If the value is wrong the box turns red and says why.
- Download your site again and upload it, the same way as the first time.You should now see: Your site online with the new forms.
- Open the live site and send yourself a test message through each form.You should now see: The thank-you message appears on the page, and the message reaches your inbox, your Netlify Forms list or your WhatsApp within a minute.
- If nothing arrives, look just under the form.You should now see: A line saying the message could not be sent means the service refused it. Check the address or key, that you confirmed your email (FormSubmit), or that Forms is switched on for the site (Netlify).
Good to know: the preview inside the builder never sends anything; messages are only sent from the live site. Free plans have limits. Every form carries a hidden trap box, and a message sent the instant the page opens is ignored, which stops most simple bots. A spam message can still get through: see "Keeping your forms and editor safe" below. edvlabs never sees or stores your messages; they go from your visitor to the service you chose. If you collect personal details from visitors, put a privacy notice on your site.
Keeping your forms and editor safe
Last checked: 2026-10-29
The builder does what a page of plain files can do: it checks every address you type, ignores a form that is filled in and sent by a program in a fraction of a second, and never sends a password field. These are the parts only you can cover.
- Spam from programs that skip your page. A program can send messages straight to the service without ever opening your page, so only the service can stop those. Netlify filters every submission for spam by default (look under Forms, "Spam submissions"), and offers a reCAPTCHA check you can switch on. Web3Forms offers an hCaptcha check on its free plan (Turnstile and reCAPTCHA are on its paid plan). Formspree and FormSubmit have their own spam settings: switch on the ones you are offered in your account.
- Your address is visible. An email address in a form is written into the page in an encoded form, so a simple scraper does not find it, but anyone who reads the page script can decode it, and the content file of the editor holds it as plain text. Use an address made for your site, or pick Formspree or Web3Forms, where only a form code or key is in the page.
- Say who receives the messages. The messages pass through the service you chose (the Form messages tab names it). Put that in your privacy notice, with what you do with the messages.
- The editor has no password. Opening
admin.htmldoes not let anyone change your live site, because only the content file you upload does that, but it does show your editable content. Keepadmin.htmlon your own computer and upload only the content file, or protect that page with your host's password or access feature if it has one. - Protect your hosting and domain accounts. Whoever can upload files to your host can change your site, including where form messages go. Use a long, unique password and two-step sign-in on both accounts.
- If you switched on the strict security policy at download, connections are limited to your site and the form services. If you later choose another "own address" for the forms in the editor, add that address to
connect-srcin the<meta>tag ofindex.html.
Before you rely on a form, send one real message through it from the live site and check that it arrives (see the form steps above).
Email on your own domain
Last checked: 2026-10-29
Email like hello@yourname.com is not part of the website. Get it from your registrar, Google Workspace, Zoho or Fastmail. Be careful: if you move your domain to a new host and change the MX records by accident, your email stops arriving. Only touch the A, CNAME or name-server settings the host tells you to.
Updating later
Last checked: 2026-10-29
- Change the page in the builder (or, if you bought the editor, in the editor page) and download again.You should now see: A new ZIP.
- Upload it the same way as the first time: Netlify "Deploys", Cloudflare "Create new deployment", GitHub commit, or the file manager.You should now see: The change visible after a minute. If you still see the old page, refresh the page hard (Ctrl+Shift+R, or Cmd+Shift+R on a Mac).
Keep the first ZIP. It is your backup.
If something goes wrong
Last checked: 2026-10-29
| Problem | What to do |
|---|---|
| Blank white page | You uploaded the ZIP itself or the outer folder. Upload the files inside the folder, with index.html at the top. |
| Pictures or styles missing | The assets folder or style.css was left out, or renamed. Upload them again, keeping the names. |
| "404 Not Found" when you refresh a page | The file name is different from the link. Check names are lower case and match exactly. |
| You still see the old version | Your browser kept a copy. Hard-refresh, or open the address in a private window. |
| "Not secure" warning | The address starts with http://. Use https://. For your own domain, wait for the host to finish turning HTTPS on. |
| The domain shows a host's parking page | The DNS change has not spread yet, or the records are wrong. See "Connect your own domain". |
Still stuck? Write to the support address on edvlabs.com/contact and include: the address of your site, which route you followed, the step you are on, and a screenshot. Never send us a password, API key or card number. We will never ask for one.