A self-hosted website

Having a website for your podcast is not mandatory, yet, it is strongly encouraged. Along with featuring the podcast itself, a website allows you to provide show notes and additional resources. In the previous post (A website for your podcast), I explained why hosted websites, despite their simplicity and lower cost, are not the best choices due to their inherent restrictions on customization and functionality. In fact, the recommended solution is to have a self-hosted website.

Now, what does it mean to be self-hosted?

Obviously, it means that you have full control over your website, including in its appearance and additional functions. However, it also means that you have to take care of everything behind the scenes; it starts by putting few things together as explained next.

All you need is…

… a host and a domain name!

Without those two basic elements, you cannot get your website up and running. Great, but what are those things? Let me give you a brief overview.

A web host

You need a home for your website; that is space on the internet for storing and accessing it, namely a web host.

Media host icon

Greatly simplified, a web host is just a computer connected to the internet. Thus, your computer at home can host your website1, as long as it has a dedicated Internet Protocol (IP) address. However, it is likely that your IP address – allocated by your Internet Service Provider – is instead a dynamically allocated IP address, which means that it could be different for every connection. Not the best way to be readily found online! You could make your IP address static, but there is a more reliable solution: web servers. They are dedicated machines that exist solely to serve websites to whomever wants to see them1.

Thus, except if you own and manage your own web server, you will need to use (rent) the technologies and services of a hosting provider.

A domain name

A domain is the name of your website. However, the domain name differs . . . from the site name1. For example, this blog is called “Beyond”, which has nothing to do with the domain name “cogitactive.com”. Quite confusing, isn’t it? Don’t worry, I will come back to domain names in more details in a future post.

Domain names act similarly to street addresses.

For now, let me just focus on the purpose of domain names. Aside from being part of your branding, domain names are critical for the functioning of the World Wide Web in that they act similarly to street addresses. In fact, a domain name is a human readable identification string2, which is translated into computer-meaningful IP addresses2. Thus, a domain name is included in the Uniform Resource Locator (URL) that is the website address you type into your browser to view a particular website. For instance, if you want to go to the Google Search page, you have to use the URL that points to this specific location on the web: https://www.google.com. Admittedly, it is easier to remember google.com than the IP address assigned to it (e.g. 173.194.70.1133).

Needless to say, that every domain name is unique. This uniqueness is enforced by regulatory agencies, such as the Internet Corporation for Assigned Names and Numbers (ICANN)4. Thus, to register your desired domain name, so that it remains unique, you will have to use the services of an accredited company that manages the reservation of domain names, namely a registrar.

… and to build your website

The domain name and the host are essential for identifying and housing your website, respectively. However, you still have to create your website. You have several options; some requires more skills than others do, though.

From scratch

With this approach, you get more flexibility in designs and site functions . . . but it requires good knowledge of web languages5. That is the least you can say! You need to know everything about Hyper Text Markup Language (HTML) – the standard language for creating web pages – and Cascading Style Sheets (CSS) – the styling language that describes how HTML elements are to be displayed. If you want to make dynamic web pages, you also need to learn scripting languages like JavaScript – the programming language of HTML – and PHP: Hypertext Prepocessor (PHP) – the server scripting language. Last, but not least, you have to learn how to add, access, and manage content in a database using MySQL – a relational database management system.

Actually, the list of languages required for web development is not limited to those aforementioned, but you get the idea: it is insanely difficult to build a full-blown website from scratch and this is far beyond my ability6.

With a site builder

Imagine that you could build a website without any knowledge of web languages. This is actually what website builders are all about: they empower you to just drag and drop your way to your website. On the surface, this looks cool: without writing or editing a line of code, you can launch a website in a matter of minutes.

There are obvious advantages of using this approach, the primary one being their ease of use. However, there are many articles explaining why this approach may not be the best option. In short, even though website builders are often referred to as self-hosted site builder – which can be confusing – most of them are fully hosted platforms; so you are locked to the features they offer. I have already discussed (A website for your podcast) the issues with hosted services: limited customization, limited functionality, their domain name (the URL of your site will look like http://www.yoursitename.sitebuildername.com), among other things. Moreover, in addition to those limitations, the free plans will show their branded ads on your website; you will have to upgrade to paid services to remove those ads.

There are drag-and-drop site-building software that you can install on your own host (or that might already be provided by your hosting provider). However, the free versions are very limited in terms of functionality and flexibility, and you will end up paying for upgrades in order to have more functionality.

Using a content management system

A content management system (CMS) is a software application that makes it easy to create and manage online contents. In other words, a CMS helps you to build a website without writing all the code from scratch. They take care of the backend coding of the website for you to focus on its frontend. In fact, they are very powerful and versatile7 platforms. You have complete control on every aspect of your website; this can be a double-edge sword, though. Indeed, they require a certain level of technical skills. You may even have to tweak some codes: if you know the basics of HTML, CSS or PHP, it is advantageous for you8. Nevertheless, they remain relatively easy to use and many people swear by CMS when building a website.

As of my understanding, the CMS solution is the recommended way to go!

To sum up

All it takes to create a self-hosted website are a domain name, a hosting provider and a platform. The three are completely separate . . ., but they come together to make [a] website viewable online for anyone who wants to see it1.

A self-hosted website also means you own your website and everything on it along with the domain name. Now, with great power comes great responsibility.

To be continued…

 


1 Peter Pollock (2013) Web Hosting For Dummies. Hoboken, New Jersey: John Wiley & Sons. ^
2 Who Is Hosting This (2018) Beginners Guide To Domain Names. ^
3 Google uses multiple servers and therefore multiple IP addresses. According to this article, some IP addresses work better than others depending on your locale and only certain addresses work at any given time. Thus, this example may not work for you. Anyway, you get the idea. ^
4 George Plumley (2011) Website Design & Development: 100 Questions to Ask before Building a Website. Indianapolis, Indiana: Wiley Publishing. ^
5 Jerry Low (2018) Three Easy Ways to Create a Website: Step-by-step Beginner Guide. Web Hosting Secret Revealed. ^
6 I am not a web developer. Granted, there are great resources to learn all these languages; w3schools.com, in particular. However, it takes time to master them all. ^
7 Just a reminder: my primary goal is to launch my podcast. However, having a website to post the show notes is strongly encouraged. As I didn’t need a full-blown website, I could have tried to code it from scratch or to go for a quick and easy option. However, I was looking at the big picture right from the start and I wanted to have a scalable site; the existence of this blog is a good example. ^
8 Knowing some basics on web languages, even though not compulsory, proved useful in building a website that way. Not to brag, but I am writing my posts in HTML. ^

 

What do you think?
  • Like 
  • Agree 
  • Disagree 
  • Thank you