▲ Pillar article
Tutorials

How to create a website from scratch: a complete step-by-step guide

· · Updated · 14 min read · 2,777 words
How to create a website from scratch — a step-by-step guide

Creating a website from scratch sounds complicated, but with the right process it's within anyone's reach. This guide takes you from idea to live site: domain, hosting, CMS, design, content and SEO optimisation. No pointless jargon — just concrete steps in the right order.

You have an idea, a business or a project that wants to exist online. The problem is that every time you search for "how to create a website" you end up buried in guides that either sell you the simplest builder or throw you straight into code and technical jargon. This guide does something different: it shows you the real process, in the right order, with the concrete choices you need to make at every step.

Transparency

This article also mentions Nalu Web Agency, which I have worked with for over 8 years. I know their work closely, which is why I mention them: bear that in mind when reading the comparison.

1.9 bn
websites exist on the internet today — but only 17% are actively visited. Strategy makes the difference, not just creation.
75%
of users judge a company's credibility by its website design — before they even read the content.
3 sec
is the longest a user will wait before abandoning a slow site. Speed isn't a technical detail — it's conversion.

Before creating the site: the questions to ask yourself

Most websites fail not because of technical problems but because of a lack of clarity about what the site is supposed to do. Before registering a domain or opening WordPress, answer these fundamental questions.

Who will visit the site and what should they do once there?

The site exists for someone. That person has a problem, a question, a need — and the site has to solve it. Define your typical visitor: age, digital skills, the device they use, what they're looking for. The answer changes everything: structure, tone of voice, navigation, the speed required. A site for local tradespeople is different from a creative portfolio aimed at art directors.

What's the site's main goal?

Every site has (or should have) a main conversion: a contact, a sale, a sign-up, a booking, a phone call. All the design has to guide visitors towards that action. If you try to do everything — inform, sell, entertain, collect emails — you end up doing nothing well. Choose one primary goal and build the site around it.

DIY or hire a professional?

The answer depends on three variables: available budget, the time you can dedicate and the complexity of the project. A simple brochure site with a few pages can be built yourself with the right tools. An e-commerce store, a web app or a site that has to generate qualified leads systematically requires professional skills — DIY costs less at the start but almost always more in the long run.

Step 1 — Choosing the right domain

The domain is your website's address. It's the first thing people see and one of the few decisions that's hard to change later. It's worth spending the right amount of time on it.

How to choose a good domain

The golden rules: short (ideally under 15 characters), easy to pronounce and spell, no hyphens or numbers, and closely tied to the brand or business. For a business serving a local market, your country-code domain (such as .it in Italy) is almost always the right choice — it signals local roots and reliability. A .com makes sense if you're targeting an international audience or if your preferred name is already taken on the national TLD.

Where to register the domain

The most reliable registrars in Italy are Register.it, Aruba, and Namecheap for those who prefer an English interface. A .it or .com domain costs between €10 and €25 a year. Avoid registrars offering "free" domains bundled with hosting — tying domain and hosting to the same provider makes it harder to change either one in future.

Step 2 — Choosing hosting

Hosting is the server that stores your site's files and makes it accessible online 24 hours a day. It's the infrastructure everything runs on — a wrong choice is paid for in slowness, downtime and security problems.

Types of hosting: shared, VPS, cloud

Shared hosting is the cheapest: your site shares the server's resources with other sites. Suitable for small sites with low traffic, it costs €3–10/month. A VPS (Virtual Private Server) gives you dedicated resources in an isolated virtual environment: faster, more stable, more control. It costs €15–50/month. Cloud hosting scales dynamically with traffic — ideal for sites with irregular traffic spikes or rapid growth.

What to look for when choosing hosting

The criteria that really matter: guaranteed uptime (look for at least 99.9%), data centres in Europe (for European users this lowers latency and complies with the GDPR), a free SSL certificate (essential today — Google penalises sites without HTTPS), automatic backups (at least daily) and responsive technical support. Hostinger, SiteGround and Kinsta are among the most reliable providers.

Step 3 — Choosing the CMS or platform

The CMS (Content Management System) is the system that lets you build and manage the site without writing code. Choosing the CMS is probably the most important technical decision — it determines flexibility, costs, the learning curve and future possibilities.

WordPress: the most widespread, but not for everyone

WordPress powers 43% of the world's websites. The advantages are real: total flexibility, thousands of plugins, a large community, excellent for SEO. So are the disadvantages: it requires constant maintenance (updates, security, backups), it can become slow if badly configured, and the learning curve is steep for people without technical experience. WordPress is the right choice if you want maximum control and are willing to learn — or if you have a professional who manages it for you.

Visual builders: Wix, Squarespace, Webflow

Visual builders simplify creation by reducing technical complexity. Wix and Squarespace are the most accessible for beginners: a drag-and-drop interface, professional templates, everything included (hosting, SSL, updates). The limit is flexibility: customising beyond the templates often requires unsatisfactory workarounds. Webflow sits between a visual builder and professional control — powerful and flexible, but with a significant learning curve.

Custom development: when it makes sense

A site developed from scratch in code (vanilla PHP, Laravel, Next.js or other frameworks) makes sense when the requirements are too specific for any available CMS: complex business logic, integrations with company systems, critical performance at very high volumes. For the vast majority of small business and professional websites, pure custom development is an unjustified investment — a well-configured WordPress or Webflow covers 95% of use cases.

WordPress — choose it if...
  • You want maximum control and flexibility
  • You have (or will have) someone technical to manage the platform
  • The project needs specific features through plugins
  • Blogging and SEO are central to your strategy
Visual builder — choose it if...
  • You want to manage day-to-day operations yourself
  • The site is relatively simple (showcase, portfolio)
  • You don't want to deal with updates and security
  • Time to launch is the priority

Step 4 — Structuring the site: architecture and pages

Before opening the CMS and starting to build, sketch the site's architecture on paper. Which pages need to exist? How are they connected? What path should a visitor take from their first visit to conversion?

The pages almost every site needs

Almost every site needs: a Homepage (who you are, what you do, why choose you, a clear call to action), Services/Products (one page for each main service, not everything lumped together on one page), About (story, people, values — the page that builds trust), Contact (form, email, phone, address if relevant, map), a Blog (if content strategy is part of the plan) and the essential legal pages: a Privacy Policy and Cookie Policy (required by law in Italy and the EU).

Navigation: the three-click rule

Users should be able to find any information within three clicks of the homepage. If it takes more steps, the structure is too deep and needs simplifying. The main menu should contain only the most important items — adding too many creates confusion, not richness. Consider a structured footer for secondary pages (terms, legal notices, detail pages).

Step 5 — Design: practical principles for non-designers

Website design isn't a matter of personal taste — it's function. Good design helps users understand where they are, where to go and what to do. Confusing design loses users before they even read any content.

Typography: readability first

Use at most two fonts: one for headings (it can have personality) and one for body text (it must be extremely readable). The minimum size for body text on desktop is 16px — on mobile, lean towards 17–18px. The contrast between text and background must be sufficient: the WCAG minimum ratio is 4.5:1 for normal text. Using Google Fonts or Adobe Fonts guarantees cross-browser compatibility without technical problems.

Colours: three at most, with a clear hierarchy

A functional brand palette has a primary colour (for buttons and key elements), a secondary colour (for accents and variations) and neutral colours for backgrounds and text. Starting from an existing template and adapting it to your brand colours is much safer than building a palette from scratch without design experience.

Mobile first: mandatory today, not optional

60–70% of web traffic comes from mobile devices. Google indexes the mobile version of the site (mobile-first indexing). This means the mobile design isn't a reduced version of desktop — it's the main project. Every layout, every interactive element and every font size must be designed for smartphones first and then adapted for larger screens.

Step 6 — Content: what to write and how

Content is the reason someone stays on the site. A beautiful design with empty content doesn't convert — and doesn't rank on Google. Writing well for the web is a specific skill worth developing.

How to write for the web

Users on the web don't read — they scan. Clear headings, short paragraphs (3–4 lines at most), bullet points for lists, bold for key information. The structure should let people understand a page's content in 10 seconds of visual scanning. The tone should be direct and specific: avoid industry jargon when it isn't needed, and use concrete words instead of abstract terms.

The homepage: the copy that makes the difference

The homepage has 5–8 seconds to communicate who you are and why users should stay. The main headline must immediately answer "what you do and for whom". Don't use generic phrases like "innovative solutions for your business" — be specific: "Websites for local tradespeople who want to find customers online". The more specific you are, the better you qualify the right visitors.

Step 7 — Basic SEO: starting off on the right foot

SEO (Search Engine Optimization) is the process that makes the site findable on Google. It isn't a phase that comes after creating the site — it's something to build in from the start, in the structure, the content and the technical side.

The SEO basics to implement straight away

Every page should have a unique title tag (max 60 characters) with the main keyword, a meta description that invites the click (max 160 characters), a single H1 that clearly describes the content, and readable URLs (e.g. /services/websites instead of /page?id=47). Images should have a descriptive alt attribute. The site must be on HTTPS. Set up Google Search Console from day one to monitor how Google sees the site.

Speed: the factor that's often overlooked

Google treats loading speed as a ranking factor — and users abandon a slow site even sooner. The basic optimisations: images in WebP format compressed under 200KB, caching enabled, minified CSS and JavaScript, and hosting on European servers. Use Google's PageSpeed Insights to measure and get specific recommendations.

Step 8 — Launch: the checklist before going live

Going live with an incomplete site or one with technical errors creates a first impression that's hard to recover from. This checklist helps you avoid the most common mistakes.

Pre-launch technical checklist

Check: HTTPS active on every page, no broken links (use a tool such as Screaming Frog or Broken Link Checker), contact form tested and working, images optimised and with alt text, a custom 404 page, a favicon, Google Analytics or a privacy-first alternative installed, an XML sitemap submitted to Search Console, and a published Privacy Policy and Cookie Policy.

Testing on different devices and browsers

The site must work correctly in Chrome, Firefox, Safari and Edge. On mobile, test on at least one iPhone and one Android phone. Rendering differences between browsers can create unpleasant surprises — especially Safari on iOS, which behaves in its own way with some CSS and JavaScript elements.

Want a professional website without the technical stress?

If the process seems long and you want to avoid costly mistakes, Marco Bagiacchi builds professional websites for small businesses and professionals with a clear process and measurable results. For a structured approach with a dedicated team, Nalu Web Agency is the complete solution for anyone looking for a single partner for their website, SEO and digital growth.

The real costs of creating a website

Asking "how much does a website cost" is like asking how much a car costs. It depends on everything. Here's a realistic picture of the price ranges.

DIY with a visual builder

Wix or Squarespace on a business plan: €15–30/month, all included (hosting, SSL, a domain for the first year, templates). Annual cost: €180–360. Suitable for simple brochure sites with a few pages and no advanced SEO needs. Time required: 20–40 hours for an acceptable result, allowing for the learning curve.

DIY WordPress

Hosting €5–10/month + domain €15/year + a premium theme €50–80 (one-off) + any plugins. First-year cost: €150–250. But the real cost is time: learning WordPress, configuring security and optimising speed take dozens of hours if you're starting from scratch.

A site built by a professional

A freelancer builds brochure sites for between €800 and €3,000 depending on complexity. A site with a blog, built-in SEO and conversion optimisation starts at €1,500–2,500. An e-commerce store starts at €3,000–6,000. A structured agency has higher starting costs — but often includes integrated services (strategy, copywriting, SEO) that you'd pay for separately with a freelancer.

From domain to launch: the path exists, you just need to follow it in the right order

A website isn't a project that ends at launch — it's an asset that grows over time if you look after it with the same care you give the business it represents.

Common mistakes to avoid when creating a website

Mistake #1 — Starting with design instead of strategy: many people start by choosing colours and a template before they're clear about goals, users and content. The result is a beautiful site that doesn't convert. Strategy first, then design.
Mistake #2 — Neglecting mobile speed: a site that takes 8 seconds to load on mobile loses 70% of visitors before they even see anything. Speed isn't an advanced optimisation — it's the minimum requirement.
Mistake #3 — Writing for yourself instead of the user: using industry jargon, talking mainly about yourself rather than the customer's problems, having no clear calls to action. A website isn't a business card — it's a salesperson that never stops working.
Mistake #4 — Ignoring SEO until launch: adding SEO after the site is already live often means redoing the URL structure, rewriting the title tags of every page and fixing the architecture. Building SEO in from the design stage costs less and works better.

Maintenance: what to do after launch

A live site isn't the finish line — it's the starting line. Regular maintenance prevents security problems, maintains performance and lets you improve the site over time based on real user data.

What to monitor every month

The metrics that drive decisions: organic traffic (how many visits come from Google), bounce rate (how many people leave immediately — a sign of a mismatch between expectation and content), exit pages (where users drop out of the journey) and conversions (how many visitors become leads or customers). Google Analytics 4 (free) covers all these metrics in great depth.

Updates and security

If you use WordPress, updates to the core, themes and plugins aren't optional — they're the only way to close known security vulnerabilities. An un-updated WordPress site is an easy target. Schedule a monthly update check, keep automatic daily backups and use a security plugin such as Wordfence or iThemes Security.

When to hire a professional instead of doing it yourself

DIY makes sense in some contexts, but there are situations where hiring a professional isn't a luxury — it's the cheapest choice in the long run.

The signs it's time to call a professional

You're investing time that's worth more than the cost of delegating. The site exists but brings no leads or organic traffic. You need features beyond your current skills. The site is slow or has technical problems you can't solve. You're losing customers to competitors with better websites. In all these cases, the cost of a professional is recovered quickly — often within a few months.

From theory to practice

If you want to apply this to your own project, take a look at my website design and development service: clear prices from €300, a free quote and a reply within 24 hours.

Frequently asked questions

Answers to the most common questions on this topic.

Yes, but with significant limitations. Platforms such as Wix, WordPress.com or Google Sites offer free plans that include the provider's advertising, a domain like yourname.wix.com (not professional), reduced features and no possibility of serious SEO. For a professional site that delivers results, the minimum sensible investment is a basic hosting plan + domain: about €50–100 a year.
It depends on the complexity and the tool you choose. A simple brochure site with a builder like Wix takes 10–20 hours for a beginner. A WordPress site with a blog and SEO optimisation takes 40–80 hours. A site built by a professional takes 2–6 weeks from brief to launch, including design, development, revisions and testing.
The domain is the site's address (e.g. yourdomain.com) — the name people type into their browser. Hosting is the physical (or virtual) server that stores the site's files and makes it accessible online. They're two separate things bought from different providers (although many providers offer both). A domain costs €10–25/year; hosting starts from €3–4/month for shared plans.
WordPress is the most widespread and flexible CMS, but it isn't the best in absolute terms for every use case. It's the optimal choice if you want maximum flexibility and an SEO-optimised blog, and technical maintenance doesn't scare you. For simple sites where managing it yourself is the priority, Squarespace or Wix are better suited. For complex projects, Webflow offers a great balance between control and accessibility.
No. With visual builders (Wix, Squarespace, Webflow) and WordPress with page builders (Elementor, Gutenberg), you can build a complete site without writing a line of code. Knowing the basics of HTML and CSS helps you solve specific problems and customise further, but it isn't a prerequisite for getting started.
Yes, practically. HTTPS (enabled by the SSL certificate) is used by Google as a ranking factor, explicitly flagged by browsers as a security requirement and mandatory for any form that collects data (including a simple contact form) under the GDPR. All the main hosting providers include free SSL through Let's Encrypt.
Three fundamental steps: (1) Sign up for Google Search Console and submit your sitemap — this tells Google the site exists. (2) Optimise every page with a title tag, meta description and content relevant to the keywords your customers search for. (3) Create useful content and update it regularly — a blog is the most effective way to rank for informational keywords. Organic results take time: expect 3–6 months to see the first effects.
It depends on the goal. If the site is a personal project or a first experiment, DIY is a great starting point. If the site needs to generate leads, sales or organic traffic for a professional business, hiring a professional (freelancer or agency) is almost always the cheaper choice in the long run — a badly built site has a real cost in lost opportunities.

Need help?

I can help you put what you've read in this article into practice.

Explore the service →

Latest articles

See all →

My services

All services →