Make A Website
A practical beginner’s guide to creating and publishing your own website
By Earth Walker
Intro
Who Am I?
Hi, my name is Earth Walker! I’ve been making websites for about 10 years, and lately I’ve made a few web apps that have features like authentication, data storage and interactive controls.
If you want, you can visit my personal website, or follow me on Mastodon.
I love the web as a platform because it is open and interconnected, and the barrier to entry is quite low. I want to share my passion for the web with everyone who wants to build something here.
Who Is This For?
I’m writing this guide for people who want to make a website, but have little to no knowledge about how the web works. You do not have to write code to follow this guide.
Why Make A Website?
It’s fun! You can be creative and express yourself through web design. You can make something useful for yourself or an organization. By making your own website, you can take control of how you present yourself online, and impress employers or customers. You can also control your own data and avoid getting stuck with a platform or service that you don’t like. Understanding web technology is a valuable skill that you can use in your personal life and your career.
What’s In This Guide
- Understanding web frameworks, web hosting and web domains
- Options for graphical tools that don’t require you to code
- Suggestions for specific tools and platforms to use
- Suggestions for educational resources to learn more
What’s Not Included
Proprietary all-in-one tools such as Squarespace and Wix are among the easiest ways to make a website, but they are designed to lock you into one company’s service. In this guide, I will only recommend solutions that allow you to retain control over your data.
I will be focusing on beginner-level topics, and recommending other resources for you to continue learning beyond that point.
Building A Website
There are many tools available that can help you build a website. I will divide these tools into three categories:
Graphical Frameworks
These tools let you build a website with a graphical user interface, so you don’t have to know how to code to use them.
Examples: Wordpress, Ghost, Drupal
Code Frameworks
These tools let you build a website with a programming language such as JavaScript, Python or PHP. They are highly customizable but have a steeper learning curve than a graphical framework.
Examples: React, Vue, Eleventy, Flask, Astro
No Framework
You don’t need a framework to build a website, you can just write HTML documents and add CSS and JavaScript as needed to make a website with all the functionality you need. The reason frameworks exist is to save you some repetitive work and keep the website building process more organized and streamlined. Frameworks also make content management a lot easier, which is important if you are building something like a blog or gallery.
To Code Or Not To Code
When getting started, I recommend asking yourself the following question:
“Am I interested in learning how to code?”
If you are not interested in coding, I recommend using a graphical web framework to create your website. You can make a high-quality website without learning how to code. Wordpress is by far the most popular graphical framework, and can be used to make any kind of website. Ghost is a good option if you are making a blog, newsletter or personal site. I recommend this tutorial on getting started with Wordpress.
If you are interested in coding, I recommend starting to learn HTML with W3Schools and see how that goes. If you enjoy it, start learning CSS. Don’t worry about JavaScript or code frameworks for now, just make a simple website with HTML and CSS. After you’ve gained some experience with these foundational tools, check out JavaScript and see what kind of functionality you can add to your website. If you enjoy using JavaScript, start looking at code frameworks to help you build complex websites more easily. I don’t recommend starting to learn a code framework before you learn some basic HTML, CSS and JavaScript, but I also can’t stop you!
You can always change your mind later, or explore both pathways! Learning how to use both graphical and coding tools will expand your skillset and give you more options to pick from when starting your next project.
Publishing A Website
Web hosting is a service that publishes the website you built to the world wide web, so other people can access it. You can host your website from your own home, but that’s outside the scope of this guide. It gets a little tricky and you need to learn some stuff about networking, which is related to making a website but not the same topic.
Web hosting is cheap and pretty easy to set up. Which hosting provider you choose depends on what tools you are using to build your website. If you are using Wordpress or Ghost, I recommend Hostinger. If you are using a code framework, I recommend Netlify. If you are using no framework (plain HTML and CSS), I recommend Neocities.
How you get your website set up with your hosting provider depends on the provider. Here’s a guide for publishing a Wordpress site on Hostinger, and here’s one for publishing a no-framework Neocities site.
Managing A Domain
A domain is like the street address of your website. It’s how people and web browsers navigate to your site. For example yurupath.net is my domain.
You don’t need to buy a domain to publish your website. Most hosting services come with a free domain, something like mycoolsite.hostingservice.com. It works fine, especially for a personal site. But if you want to have full control over your website, you should look into buying a domain.
Domain Registrars
The service you use to buy and manage a domain is called a domain registrar. Your web hosting provider may offer a domain registration service as well; Hostinger and Netlify both offer this service. This is by far the easiest and most convenient option, as the process for connecting your domain to your website will be much more streamlined.
You may want to buy a domain from another domain registrar, for example the price may be lower that way. Porkbun is a popular domain registrar. Personally I use Namecheap. If you choose to buy a domain from a registrar that is not integrated with your hosting provider, you will have to manually set up DNS to connect your domain to your website. Basically, this consists of getting a list of nameservers from your hosting provider (ns1.hostingprovider.com, ns2.hostingprovider.com, etc.) and entering them into a form in your domain registrar’s dashboard. I recommend doing a web search for a guide to walk you through the process with your specific web hosting provider and domain registrar. You could also reach out to customer support at your web hosting provider and they should be able to help you. Note that after you update your nameservers in your domain registrar dashboard, it can take up to a day for the changes to take effect, due to the way DNS works. Usually it only takes a few minutes though.
DNS
By the way, DNS (Domain Name System) is an important topic related to websites. It’s how the web browser can connect to a website when given a URL such as mycoolsite.com/blog-post-1. I recommend learning some basic information about how DNS works; it will help you understand what you are doing when you manage DNS records. Check out Network Chuck’s video on DNS to pick up some basic knowledge, but don’t feel like you need to memorize all the information right away. You only need to have a general understanding to get started with your website.
Domain Ownership
You pay a yearly fee to retain ownership of a domain. Make sure to check the price that your domain will renew at, as many domain registrars offer a cheaper price for the first year only. If you want a really cheap domain, check out domains ending with .xyz.
Once you have purchased a domain, you own it and you can transfer it to another domain registrar if you find another domain registrar to have better pricing or services.
You can have multiple distinct websites on the same domain, either by using different paths (mydomain.com/mysecondsite, mydomain.com/mythirdsite) or subdomains (mysecondsite.mydomain.com, mythirdsite.mydomain.com). Subdomains are a little more involved to set up, you will have to learn a bit about DNS records. The bottom line is, you don’t necessarily need to buy a bunch of different domains for different websites unless you have good reason to.
Conclusion
The web is an amazing platform. You can build anything you want and share it with the world, and you don’t need anyone’s permission to do it! Make the web a little brighter and more colorful by publishing your own website!
If this guide was helpful, or if you have suggestions or questions, please email me at earthwalker@yurupath.net
Have fun building!