How to make my own
Website
Register a domain, pick a host, drop in a page builder or hand-code HTML — live in under an hour.

Project At-A-Glance
- Difficulty
- medium
- Active Time
- 66 min
- Total Time
- 120 min
- Yield
- 1 live page
Materials & Tools
A website is a folder of files on someone else's computer, pointed at by a domain name you rent. You do not need to learn to code to get one live, but knowing what the pieces are stops you overpaying for magic.
This guide gets a single-page site online. Not a store, not a blog empire — one page that loads fast and says what you need it to say.
Step-by-step
Step 1: Decide what the page needs to say
Decide what the page needs to say. Write a single sentence for the heading and one paragraph underneath. Do not design before you have text.
Step 2: Register a domain
Register a domain. Use a registrar like Namecheap or Cloudflare Registrar — avoid the upsells for privacy protection on registrars that charge extra (Cloudflare includes it free).
Step 3: Pick your build method
Pick your build method. If you want no code, sign up for Carrd ($19/year for a custom domain) or Squarespace. If you want to learn, create an index.html file in a text editor.
Step 4: If hand-coding: write a minimal HTML file with a DOCT…
If hand-coding: write a minimal HTML file with a DOCTYPE, a head with a title and viewport meta tag, and a body with your heading and paragraph. Save it as index.html.
Step 5: Add one stylesheet
Add one stylesheet. Link a CSS file or add a style block. Set the font, max-width the body to about 38rem, and centre it with margin auto. That is enough for readability.
Step 6: Add your image
Add your image. Compress it with Squoosh or TinyPNG first. Place it in the same folder and reference it with an img tag that has alt text.
Step 7: Push to a host
Push to a host. For GitHub Pages: create a repository, push your files, enable Pages in settings. For Vercel or Netlify: connect the repo and it deploys automatically on every push.
Step 8: Point your domain
Point your domain. In your registrar's DNS settings, add the CNAME or A records your host tells you to. Propagation usually takes under 30 minutes.
Step 9: Test on your phone
Test on your phone. Open the live URL on mobile — if text is tiny or images overflow, add a viewport meta tag and set images to max-width 100%.
Step 10: Set up HTTPS
Set up HTTPS. Most modern hosts (Vercel, Netlify, GitHub Pages, Cloudflare) issue a free SSL certificate automatically. Verify the padlock appears.
Email me the checklist
Checklist email is coming soon — use Print / save PDF for now, or check the materials list above.
Notes
- The most common failure is buying a domain and never pointing it at anything. Set a calendar reminder for the day you register: DNS records by end of day.
- Do not pay for hosting if your site is static HTML/CSS with no backend. Free tiers exist specifically for this.
- Avoid website builders that do not let you export your content. If you ever want to leave, you should be able to take your pages with you.
FAQ
Related
- How to make my own Minecraft skinPaint a 64×64 PNG on the official UV layout, keep the outer layer transparent where you need it, then upload it in Java or Bedrock without breaking the model.
- How to make my own embroidery designsTurn a 6 cm doodle into a stitchable motif tonight. Hoop, three strands, backstitch. No machine file.
- How to make my own granolaOven-baked oat clusters with nuts, seeds, and a maple-oil binder. Batch it once, tweak sweetness, and skip the bakery markup.
- How to make my own sourdough starterFlour, water, a jar, and about a week of twice-daily feeds until it doubles on schedule.