The question I get asked most often is: “How did you make your website?” Usually followed by “How hard would it be to make my own?” So I thought I should finally write down the answer and give myself a link to send people.
I have some experience building and managing websites through projects and internships, but web development is mainly a hobby for me. Here is what has worked for this blog, what it costs, and a few ways you could start your own. You do not need a technical background to follow along.
My main advice is to start small. Publish something you care about and see whether you enjoy the process before spending much money or planning every feature. Your blog can grow with you.
How I built this blog
I started with AstroPaper, a ready-made design for a blog. It gave me a layout to work with. I added my own writing and changed the appearance to suit me, gradually making room for things like photographs and little interactive demonstrations.
I make some changes to the site’s code myself and ask AI to help with others. After a change, I open the site and try it out. That cycle of making a small change and checking the result is how I keep developing the blog.
Adding a post is simpler than changing the website itself. I write it in a text file on my computer, and software called Astro turns that writing into a page using the blog’s design. I preview the page before publishing it. Once I send the changes online, my publishing setup checks the files and updates the public site automatically.
This approach suits me because I enjoy tinkering with the website too. If you mainly want somewhere to write, there are options with a built-in editor that handle more of the setup for you. I will explain those below.
Why have your own blog?
The short answer is freedom.
I like being able to put essays, photographs, maths, little interactive applets, and whatever else interests me in one place. I can change the typography, invent a category, or add a button because I feel like it. A domain I control also gives people an address I can keep when I change hosts.
Don’t get me wrong. Social media platforms have advantages too, particularly existing audiences and convenient publishing tools. A friend recently suggested an Instagram page for my cat photographs. It might well reach more people. Here, though, I can choose the image quality and layout myself, and enjoy sharing the photos without worrying about likes.
For me, the sweet spot is a hybrid approach: keep your own website as a home base and use social platforms when they are useful.
A blog can help you develop ideas, share what you know, and find people with similar interests. Even in this blog’s short life, my posts have sparked interesting conversations with friends, and writing them has made me rethink and sometimes challenge my own ideas. Ultimately, it is worth asking what you want a blog for. I think simply enjoying writing and sharing things is a good enough reason.
Which route should you take?
There are roughly four starting points:
- A writing platform, such as Substack, if you mainly want to write and send posts to subscribers. You get going quickly, with less control over the surrounding experience.
- A website builder, such as Squarespace, if you want a visual editor, templates, and hosting together. You pay for convenience and work within the builder’s options.
- A content management system (CMS), such as WordPress, if you want a dashboard for managing posts, themes, and plugins. The free WordPress software can run with a host you choose. For example, WordPress.com is a service that hosts it for you. Updates and backups still need handling, either by you or your provider.
- A static site, such as Astro, which is what I use. Astro turns your writing and design into files that a host serves to visitors. It takes more initial setup, but gives you considerable freedom and can be very cheap to run. “Static” still allows interactive features: my applets and photo gallery run in the reader’s browser.
Hosting means keeping your site available online. A domain name is the address people use to find it, such as dogukanturkoz.com for this site. You can start with an address your platform provides and buy your own domain later.
Where to begin
How much you want to tinker matters more than whether you already know how to code. Choose a route that appeals to you and aim to publish one post:
- With a writing platform, open the editor and create a draft. You can start with the writing straight away.
- With a website builder, choose a template with a blog and replace the sample content with your own.
- With WordPress, choose a theme and create your first post. WordPress.com’s free beginner course walks through this on its hosted service, including customising the design.
- With Astro, try its blog tutorial, which takes you from setup to publishing. It assumes some familiarity with HTML, CSS, Markdown, and a little JavaScript.
If you want to understand or change the code yourself, MDN’s beginner modules explain the tools and basic technologies from scratch.
Check it on your phone
One of the biggest lessons from building this blog is how much attention the mobile version deserves. I do the development on my computer, so it is easy to spend ages adjusting the desktop view and forget to open the site on my phone. I have come to think that the mobile view deserves even more attention.
Check it early and after changes. Read a whole post on your phone, tap the menu and links, and try any photographs or interactive features. Is the text comfortable to read? Are the buttons easy to tap? Does anything spill off the screen? A page that looks good on your computer still needs that check.
Let AI help you experiment
AI has helped me experiment with this site. I chose the template myself, write some code, and ask Codex, OpenAI’s coding agent, to implement other things. Often, I review its work by opening the site and trying it, rather than reading every line of code.
The generated code is not always particularly tidy or readable, and my development experience helps when something goes wrong. For a small personal project, I am comfortable learning as I go, keeping changes small and checking that things still work. You can experiment before you understand every part of the code.
You can also use AI on an existing website. On another WordPress site I help maintain, I used Codex to fix both the content and the appearance, and I am very happy with the result. For the technically curious, Codex can work on a remote server using tools such as WP-CLI over SSH. That requires SSH access and WP-CLI installed and available on the host.
My practical rule is to keep a working version you can return to. For a code project, ask the agent to set up Git, which records versions of your files, and use a branch for experiments. For WordPress, back up the database and files. Try one change at a time and preview it before publishing.
My project’s AGENTS.md, a file of instructions Codex reads before working, also helps. It records my preferences, the project’s conventions, and lessons from previous mistakes, so I spend less time explaining the same things again.
Treat an agent’s access as real access. Give it only the permissions it needs, never paste private keys or other secrets into a prompt, and do not assume that putting a secret in an .env file prevents an agent with file access from reading it. If you use Codex, review its file and network permissions.
What I actually pay
My current website costs are:
- Hosting: $0, through GitHub Pages. Its documented limits are generous enough for my blog.
- Email subscriptions: $0, on Kit’s free plan.
- Domain: $22.99 per year, paid to GoDaddy for my address. The first year was almost free. This is my current renewal price, and other names or domain endings can cost more or less.
Those three items total $22.99 a year. Any paid AI tools you choose to use are a separate expense.
I have left out detailed price comparisons because plans and prices change. Check the current offering for your needs, especially the renewal price.
This market has plenty of products that are cheap to enter and expensive to understand. Introductory prices rise once you have settled in, while automatic premium trials make it hard to tell which features the free plan actually includes. Then you have to hunt through settings to downgrade or rebuild a workflow you have already got used to. Moving your site, forms, and email setup can be annoying enough that paying feels easier than leaving. Before committing, check renewal prices, what remains after the trial, and whether you can export your writing and subscribers.
Finding readers and understanding your traffic
Sharing posts on social media is a good place to start. That is mainly how I share mine.
For readers who want to follow along, my signup form adds them to my Kit email list. I manually write and send an email, called a broadcast in Kit. Publishing a blog post does not send it automatically. Kit’s free plan includes broadcasts, while its automated RSS campaigns require a paid plan. Readers can also follow this blog’s separate RSS feed in a feed reader to see new posts there.
SEO (search engine optimisation) matters if you want people to discover your posts through search. Start with useful writing, clear page titles, descriptive headings and links, and short descriptions of each article.
Ask an AI tool with access to your site to check those basics. Google’s beginner guide explains more, including sitemaps, which list your pages. Google Search Console shows how often your pages appear in search, what people searched for, and whether they clicked through. Getting the basics right helps discovery, but does not guarantee rankings or an audience.
Analytics can wait until you are curious about your traffic. I use GoatCounter to see which pages people visit and where they came from. Treat the counts as estimates, since blocked scripts and other limitations mean they will not capture every visit.
Start with one post
If you want to start, choose one of these routes and give yourself a small first project: publish one post you care about. Use a simple design, check that it reads comfortably on your phone, and share it with a few people. You can change the tools and add features as you discover what you enjoy.