When I first launched EdTechStuff, I went the straightforward route. GoDaddy. Domain, hosting, email — the whole package under one roof. And honestly? It worked fine. The setup was easy, everything was in one place, and it did what I needed it to do.
The problem was the cost.
It's not that GoDaddy is unreasonable — it's a proper service and you get what you pay for. But when you're running a project without sponsorship, without any income stream attached to it yet, paying for hosting and email on top of the domain registration starts to feel like a significant outgoing for something that isn't generating anything back. I didn't have a sponsor covering the bills. It was coming out of my own pocket, and after the first year I had to ask myself whether there was a smarter way to do this.
Turns out there was. I rebuilt the setup almost from scratch using tools that are either free or as close to free as makes no difference — and the end result is, if anything, more professional than what I had before. Better HTTPS handling, cleaner URL management, proper domain email, and a hosting setup that I don't have to think about.
When it came to a second project, I also found a much better deal on the domain itself. I used Porkbun — a US-based registrar that's worth knowing about — and picked up a three-year registration for a flat $16. No first-year discount that evaporates on renewal, no upsell bundling, just a straightforward price for three years of ownership. That's genuinely good value and the kind of thing that's easy to miss if you just default to the big names.
The only ongoing cost for either setup is the domain. Everything else costs nothing.
Here's exactly how it all works, in case you're in the same position I was.
First thing, go buy a domain. If you're UK-based, a .co.uk is a solid choice. It's affordable, people recognise it, and it carries a certain credibility that some of the newer extensions just don't have yet. .co.uk says "we're real, we're serious, we've been here a while."
Before you commit to buying, check three things: the first-year price, the renewal cost, and whether DNS management is included for free. A lot of registrars will lure you in with a 99p first year and then hit you with £25 on renewal. That's not a deal, that's a trap. Find something with honest pricing up front — or do what I did with the second project and look at Porkbun, where what you see is genuinely what you pay.
And here's the important bit — you do not need hosting right now. I mean it. Don't let the registrar upsell you. Don't click the bundle. Don't add the email package. Don't take the website builder add-on. Just buy the domain and stop there. Everything else we're going to handle for free.
For the actual website, I used Google Sites, and I want to make the case for it properly because it gets a bit of an unfair reputation.
Yes, it's limited compared to something like WordPress or Webflow. No, you can't do deeply custom design work with it. But here's what you do get: free hosting, automatic HTTPS on every page, a drag-and-drop editor that doesn't require any technical knowledge, mobile-responsive layouts out of the box, support for custom domains, built-in navigation menus, and full integration with the rest of Google's tools.
That last one is more useful than it sounds. If you want to embed a Google Form for contact enquiries, it's two clicks. If you want to show a live Google Sheet, a Doc, a Slides presentation, a Calendar, or a PDF — all of it drops straight in without any messing about. You can embed YouTube videos, add image carousels, create collapsible sections, add buttons that link anywhere. It covers a lot of ground.
You also get version history, so if you accidentally break something you can roll back. You can duplicate pages, control permissions, connect Google Analytics, and handle basic SEO settings like page titles and descriptions. For an information site, a resource library, a portfolio, a community hub, a local business presence — it's genuinely more than enough.
Where it falls short is if you need an online shop, a membership area, deeply custom interactive features, or pixel-perfect design control. If that's you, you probably already know you need something else. But for most people starting something from scratch? Google Sites does the job and does it reliably.
Once you've got your domain and your Google Sites setup going, the next step is creating a free Cloudflare account and pointing your domain at it. This is the piece that ties the whole thing together and adds a layer of professionalism and control that you just wouldn't get otherwise.
Cloudflare gives you free DNS management, free SSL and HTTPS handling, redirect rules, basic security protection, email obfuscation for any addresses displayed on your site, and — most importantly for this setup — email routing. We'll come back to email in a bit.
Now, there's one slightly fiddly thing to sort out with Google Sites. It only supports the www version of your domain. So www.yourdomain.co.uk works fine, but the bare yourdomain.co.uk won't attach to it directly.
This matters because people type both. Some will type the full www version out of habit, others will just type the domain name and let the browser figure it out. If only one version works, you're potentially losing visitors, and you'll also create a mess for search engines trying to figure out which version of your site to index.
Cloudflare lets you fix this cleanly. Here's the process:
Step one: Inside Google Sites, add www.yourdomain.co.uk as your custom domain. Google will ask you to verify ownership with a TXT record. Head into Cloudflare's DNS settings and add that TXT record there — since Cloudflare is managing your DNS, that's where it needs to go.
Step two: In Cloudflare DNS, create a CNAME record. Set the name to www, the target to ghs.googlehosted.com, and leave the proxy status as DNS only (the orange cloud off). This is what connects your www domain to Google Sites.
Step three: Create an A record for @ (that's your root/bare domain) and set the proxy status to proxied (orange cloud on). The IP address can be a placeholder like 192.0.2.1 — it doesn't matter because Cloudflare intercepts the traffic before it gets anywhere.
Step four: Create a redirect rule in Cloudflare. Set it to trigger when the hostname equals yourdomain.co.uk and redirect to https://www.yourdomain.co.uk with a 301 permanent redirect.
That's it. Now anyone who types either version gets sent to the right place seamlessly. Search engines see one clean, consistent URL. No duplicate content issues, no broken links, no confusion.
This is the part I'm most pleased about, because it makes a huge difference to how professional everything feels — and it costs nothing.
Instead of giving people a Gmail address or, worse, an old Hotmail account, I set up proper domain email addresses. Things like info@yourdomain.co.uk and contact@yourdomain.co.uk. You can add as many as you want — hello@, support@, your own name if you like. All of it forwarding to your regular Gmail inbox.
Cloudflare's email routing feature handles this entirely for free. Go to your domain in Cloudflare, click on Email, then Email Routing, and switch it on. Cloudflare automatically adds all the MX records and SPF records your domain needs. Then you just set up forwarding rules: info@ goes to your Gmail, contact@ goes to your Gmail, done. Emails sent to your professional address land straight in your normal inbox without you having to check anything separately.
If you want to take it one step further — and I'd recommend it — you can also configure Gmail to send from that domain address. Go into Gmail settings, find the "Send mail as" section, and add your domain email. Gmail will send a verification code to that address, which lands in your inbox via the forwarding you just set up, and once you've confirmed it, you can choose which address to send from when composing an email. So when you reply to someone, the reply comes from contact@yourdomain.co.uk, not your personal address.
It takes maybe ten minutes to set up and it makes everything look significantly more credible. People notice. It's one of those small things that signals you're taking what you're doing seriously.
One more thing worth knowing: Cloudflare automatically obfuscates email addresses that appear on your website, which helps prevent your address from being scraped by spam bots. If you'd rather manage that yourself, you can turn it off under Security → Settings. Alternatively, skip displaying the email address publicly altogether and use a Google Form as your contact method instead.
And a little tip: Google Sites has a social links feature where you can add icons for various platforms. If you paste a mailto:contact@yourdomain.co.uk link into it, it renders as a neat envelope icon rather than a raw email address. Looks clean, works perfectly.
I mentioned earlier that you can configure Gmail to send emails from your domain address, not just receive them. It's worth going into a bit more detail here because there's one step that catches people out and isn't immediately obvious.
When you go into Gmail settings and try to add your domain address under "Send mail as", Gmail will ask you for SMTP server details. Normally this is where you'd enter the details of a mail server — but in this setup, we're not using a traditional mail server. We're using Cloudflare's email routing, which handles incoming mail beautifully but doesn't provide an outbound SMTP server for sending.
So how do you send from your domain address? You use Gmail's own SMTP server, authenticated with an app password.
Here's how to do it:
Step one: Create an app password in your Google account. Go to your Google Account settings, head to Security, and look for "2-Step Verification" — you'll need this enabled first if it isn't already. Once it is, scroll down and you'll find the option to create app passwords. Give it a name (something like "Gmail Send As" so you remember what it's for) and Google will generate a 16-character password. Copy it somewhere safe because you'll only see it once.
Step two: Add the address in Gmail. Go to Gmail Settings → See all settings → Accounts and Import → Send mail as → Add another email address. Enter your name and your domain email address (e.g. contact@yourdomain.co.uk). Untick "Treat as an alias" and click Next.
Step three: Enter the SMTP details. When prompted for the SMTP server, use smtp.gmail.com, port 587, with TLS enabled. For the username, enter your full Gmail address. For the password, use the 16-character app password you just generated — not your regular Gmail password. This is the bit that trips people up. Your normal password won't work here because Google blocks it when two-factor authentication is enabled. The app password is what gets you in.
Step four: Verify the address. Gmail will send a confirmation code to your domain email address. Because you've already set up Cloudflare email routing, that email will land straight in your Gmail inbox. Enter the code, confirm, and you're done.
Once it's set up, you'll see a dropdown when composing emails in Gmail that lets you choose which address to send from. You can set your domain address as the default if you want all outgoing mail to come from it automatically.
It's a small thing to get right but it completes the professional picture. Anyone receiving an email from you sees your domain address, not your personal Gmail. Combined with the forwarding setup, the whole email experience — inbound and outbound — looks exactly like you're running a proper mail server, even though technically you're not paying for one at all.
Here's something that tripped me up early on and might save you some frustration. Google Sites doesn't give you fine-grained control over how images behave on different screen sizes. What looks great on a desktop can crop strangely or lose important content when someone views it on a phone.
The workaround is simple once you know it. Use square images or images with a 4:5 ratio — they translate well across different screen sizes. Keep anything important centred in the frame, because the edges are most likely to get cropped. Don't rely on background images to carry critical information, because you can't guarantee how they'll be cropped on smaller screens. And always, always check the mobile preview in Google Sites before you hit publish. If it looks fine in mobile view, you're good to go.
It's a bit of a constraint, but once you get your eye in for it, it becomes second nature. Most of the time you won't even notice the limitation.
Google Sites doesn't include built-in breadcrumb navigation. If you've got more than a few pages, especially if you've got a section structure with parent and child pages, breadcrumbs help visitors know where they are and get back to where they came from without having to dig through menus.
The workaround is low-tech but effective. At the top of each page, insert a small text box and type out something like Home > Resources > This Page. Highlight "Home" and link it to your homepage. Highlight "Resources" and link it to the relevant parent page. Leave the current page name as plain unlinked text.
Then style it: drop the font size down a bit, keep it normal weight rather than bold, left-align it, and optionally add a subtle divider underneath to separate it from the main content. It should be noticeable but not prominent — functional rather than decorative.
Once you've built it on one page, just copy the text box and paste it onto the next page. Adjust the final page name and update the links as needed. It takes a couple of minutes per page after you've got the template sorted, and the result looks genuinely tidy.
It's worth just spelling this out, because people underestimate the feature set. You get free hosting and HTTPS, a drag-and-drop builder, responsive layouts, custom domain support, and simple navigation as standard.
For content, you can add text sections, images, image carousels, YouTube embeds, buttons, collapsible sections, and iframes for embedding pretty much anything external.
The Google integration is genuinely useful — embed Docs, Sheets, Slides, PDFs, Forms, Maps, and Calendars directly into pages with live updates.
For site management, you get version history so you can roll back changes, page duplication to speed up building, permission controls for collaborative editing, Google Analytics integration, and basic SEO settings for titles, descriptions, and so on.
One of the really satisfying parts of this setup is that you're not flying blind. You get actual data from two different sources — Google and Cloudflare — and between them they paint a pretty clear picture of how your site is doing.
Google Search Console and Analytics are the obvious starting point. Connect Google Analytics to your Google Sites setup and you can see how many people are visiting, which pages they're landing on, how long they're staying, where they're coming from, and what devices they're using. Google Search Console goes a step further and shows you how your site is performing in search results — which queries are bringing people in, how often your pages are appearing, and how many people are actually clicking through. This is the stuff that tells you whether your content is resonating, whether your SEO is working, and where there might be gaps worth filling.
Cloudflare adds another layer on top of that. Even on the free plan, the analytics dashboard gives you a surprisingly useful view of your traffic — total requests, unique visitors, data served, and where in the world your visitors are coming from. It also shows you security-related data, like how many threats have been blocked, which is quietly reassuring when you see it ticking up in the background.
Together, these two sources give you a genuinely solid picture of what's working. Which pages are pulling their weight, which aren't getting found, where your audience is, and how the site is holding up technically. It's the kind of data that used to cost money to access properly, and here it's just built into the setup.
It's also, honestly, quite motivating. When you're putting effort into something and you can see the numbers responding — more visitors, more search impressions, pages climbing in results — it validates the work in a way that's hard to get from anything else. And when something isn't working, the data tells you that too, which is just as useful.
Let's be clear about the numbers.
The domain is the only thing you pay for. A .co.uk typically runs somewhere between £8 and £15 a year on renewal from a decent registrar. Or, as I found with the second project, you can go through Porkbun and lock in three years upfront for $16 — which works out at well under £5 a year at current exchange rates. Either way, that's your entire ongoing cost.
Cloudflare: free. Google Sites: free. Professional email via Cloudflare routing: free. SSL and HTTPS: free. DNS management: free. Redirect rules: free. Basic security protection: free.
The whole setup, once it's running, costs you the price of a domain renewal once a year. That's it. Compare that to what I was paying at GoDaddy — hosting, email, domain, all bundled together — and the saving over a year is significant, especially when you're not yet at the point where the project is paying for itself.
When you're starting something new — a project, a business, a community, a creative endeavour, whatever it is — credibility matters from day one. People make snap judgements about whether something is real, whether it's serious, whether it's worth their time. A professional web presence is one of the things that tips that judgement in your favour.
A matching domain email address instead of a Gmail. A site with a clean custom URL instead of a weird subdomain. HTTPS everywhere. No obvious template branding. These things add up to a first impression that says "this person means business."
You don't need to spend hundreds of pounds to achieve that. You just need to know which free tools to use and how to connect them together. That's really all this is. I learned it the slightly expensive way — a year with GoDaddy before finding a better path. Hopefully this saves you that detour.
If you want to see the approach in action, have a look at edtechstuff.co.uk and myauntys.co.uk. Both of those are running on exactly this setup right now.
If you've got questions, or you're building something and you're stuck on a specific bit, leave a comment. I find this stuff genuinely interesting to talk through and I'm always happy to help someone figure it out.
Article augmented using Claude (Sonnet 4.5)