Getting Started with Your Own Website
As a professional you need a website. It makes you stand out from the rest of the competition. You need a personal space to be able to properly display yourself and your professional ambition and no I am not talking about having a Facebook page, professional Instagram account or a LinkedIn profile. You should have these already but they should augment your business or professional image.
So who would want a website? Having a personal website is for more than just bloggers, photographers, musicians, and travelers. Your own website is your personal and professional space. Your creative personal touch, the way you want it to be delivered. I cannot think of a more powerful than a website on the internet to showcase yourself to potential employers, investors, or what have you. So lets gets started on building your website!
Registering Your Domain
Before you think about building your site, it first needs a name. The domain name is the address that people type into the web browser to navigate to your site. The domain name of this site is “redteamcafe.com”. I own redteamcafe, nobody else does. Its important to get your domain name as soon as you know what it is because domain names are free game. While there are very few rules when it comes to selecting a domain name, there are some common guidelines that you should follow when picking a domain name. Much like how to structure a paragraph or write a song, there are no write or wrong ways to do it, just better ways.
Choose a “.com” TLD
A TLD (Top Level Domain) is the ending part of the domain name. The most common being “.com” but you are probably aware of others like “.org” “.net” “.gov” “edu” and more. Some of these are open and free to use while others are restricted based on certain criteria. You are probably going to want to stick with the “.com” domain for right now. It makes it easier for those visiting your website since we all pretty much are well aware of the “.com” domain and its probably what your visitors will type in from muscle memory. We want to take advantage of these habits we have developed.
Keep your domain name short and simple
Short and simple is preferred. Nobody wants to type out a long domain name for a website. The less words your visitors have to type, the easier you make it for people to visit your website. Additionally, do not make it complicated. Think of it like this, you want to be able to tell someone your domain vocally and have them be able to find it on their own without you telling them how to spell it out exactly. Using things like simple words help.
Understand your audience
Speaking of words, you should understand who your audience is and what language they speak. It makes no sense to use words from another lie Bulgarian in your domain name if you are targeting English speaking users. The reverse, however, you may find a little bit easier since English is a very popular and well known language for internet users.
Try to avoid doubling up letters
This might not seem like a big deal but when you have someone typing out your domain, the last thing you want them to do is misspell your domain. Adding multiple words together, like “red” “team” “cafe” is great but if we used something like “red” “team” “master” instead, it looks like this “redteammaster.com”. This might cause confusion with visitors as to whether you have 2 m’s or just the one. Don’t even think about removing double letter between words as that is even more confusing. If you run into this issue, its better off just to find a different domain name.
Do NOT use hyphens or accents.
If you are making a website in English, there is little chance you will be using accented letter, but if you aren’t, I would advise against it since you narrow your audience since a lot of users might not type with accented letter. As far as hyphens go, just don’t do it. Look, I know there are some popular websites out there that might use hyphens but the things is, you aren’t that popular (no offense). If you want to make it easier for people to get to your website, don’t use hypens.
Include your branding and
Making a domain name is the perfect opportunity for you to inject your branding into the minds of those visiting your website. I could have named the website something like “christianshackblog.com” or something, but I didn’t. I took advantage of an opportunity to create a brand and to use that brand in my website. Not only is the brand name relatively unique (I’m looking at you redteam.cafe) but the term “red team” is relevant to my profession. These are the kinds of things you need to consider when developing a brand. I’m not here to give lessons in marketing and branding, I am here to teach you about building a website. Just be sure to incorporate your branding into your domain name.
Once you have a domain name in mind, the next thing you need to do is purchase it. A domain name is purchased from a Domain Name Registrar (DNR). A DNR is responsible for managing domain names on the internet. Your first choice is going to be picking a DNR to purchase your domain from. Now, it doesn’t matter where you go to purchase your domain name since they can all provide you the same service. The only differences are the price they are offering and the additional services you get for this. Some additional services include can be privacy, dns, ssl, email, web hosting and more. At the VERY MINIMUM, you need to make sure you are given free privacy. This hides your information from Whois registry. You do not want your personal information out there, and this is coming from a professional hacker.
So who should you pick for a DNR? It really depends, but you should shop around. here are a few good examples of some of the top registrars:
Ok, but personally which one do I use? Well in the past I have used GoDaddy but have since switched to NameCheap. Once I have a domain registered, I switch it over to Cloudflare. Once lst bit of advice about domain names, if you are stuck and cant figure something out, just remember that a domain name is permanent. This is just a way for someone to visit your website. After you purchase a domain name, if you decide to rebrand your site or go in a different direction, a new one can be purchased for a small fee. Also, make sure to NEVER let your domain names expire. If it expires and someone else buys it before you do, you have chosen to give up that domain name. The only way to get it back is to buy it from the individual who purchased it, and let me tell you, it now becomes a sellers market.
Hosting Your Website
Now we get to the fun part right? Well not quite yet. We need to figure out about hosting. Web hosting is done by a Web Hosting Service (WHS). These are not real acronyms, I am just too lazy to keep spelling this out. A WHS will ultimately host your website for you. I am going to start to get a little technical here. There is a good chance I will probably lose you but please try to hold on as this part is VERY important and could affect you in the future should you chose to change your WHS so PLEASE pay attention and do further research on this if you need it. There are different types of WHS and I will go over the different kinds:
- SHARED HOSTING
this type of hosting is probably one of the most common types of hosting on the internet. Its easy for new users to get into, low cost, and provides a lot of flexibility upfront. Examples of this are using popular hosting providers such as Wix, Squarespace and Shopify. I started out using Squarespace when I bought my first domain. Its not a bad way to get started but there are some precautions I will warn against in a bit about choosing the right hosting provider if you want to go the shared route.
- VPS HOSTING
Hosting in a Virtual Private Server (VPS) is considered a step above shared hosting. In the previous case, your website was shared on a server (a computer) with multiple other websites and the traffic generated by these websites could in turn affect your server though in the rarest of instances. A VPS logically separates your websites onto a virtual server, though it still shares the same hardware, it is essentially separated logically speaking. Same thing applies to before, there are some things I will advise about later.
- CLOUD HOSTING
OK, now we are getting to the really cool options. This is probably the best option you can chose from and there is one word to describe why, “scalability”. This means that as your website and services grow, so can the resources that you use. This means storage, processing power, and memory all grow at a dynamic rate proportional to your virtual webserver. You heard that right, cloud hosting is done using virtual servers just like VPS the only difference is the way that the service. Where a VPS divides resources on a single server, cloud hosting really has exponential growth. This is the method I recommend to most people due to the flexibility in pricing as well as the level of customization you are given in building your environment.
- SELF HOSTING
OK, my favorite is self hosting, This is where you get to be in charge of everything yourself. You get to run the hardware, the software and everything in between (with very few exceptions). My website, the one you are on right now, is self hosted from my house. This means I build the server from scratch, I setup the network, I did all of the deployment and I manage everything from storage, to security and everything else that a major provider would take care of for you. This option is NOT for the faint of heart. I absolutely do NOT recommend this. It requires extensive knowledge and background of computer systems and networking. You can find guides and tutorials about self hosting online and how to deploy a website on something like Raspberry Pi, but just because you can do it doesn’t mean you should. If this website is for professional or commercial purposes, its even MORE reason you should not choose this option. If something happens and your website goes down, this could affect your business. Again, even professional organizations are smart enough to offload the responsibility of hosting web services to the professionals.
- DEDICATED HOSTING
This just means that you are renting the equipment that your website is hosted on. Dedicated hosting has stared to see decline in usage in favor of cloud hosting over the years. There are still reason why dedicated hosting is important but none that probably apply to you which is why it is not a method I can really recommend.
- MANAGED HOSTING
This is pretty similar to dedicated hosting in the sense that your webserver is a single machine however instead of renting the machine, you own it and are paying someone to manage the system for you. Again, this is not a method I really recommend to many people outside of hobbyists and people with very specific use cases, its probably not you.
Another favorite of mine, this essentially combines the prose of self hosting with all of the pros of managed and dedicated hosting. In this instance you own the machines, and you maintain them yourself, but the physical location that they are stored at is a facility called a “colocation”. This is a special type of facility where you rent out server rack space to store your machine. Why would you do this? Well, for one you get incredible internet speeds, blazing fast ping, and low latency. You are given a facility with redundant power, fire suppression, security, and more. If you really want to go the self hosting route but need your website up and running, this is the option I would suggest.
OK, so what option should you choose? Well, lets get started with what options you should choose and I will explain why. You probably are not going to be worried with dedicated, managed, or colocation otherwise you really honestly wouldn’t be reading this right now. So that leaves you with 4 options. So lets go over them.
Shared and VPS Hosting
These two are pretty much the same thing since some WHS will provides both of these options. Whether you choose to go the VPS route or not is up to you but I would not do it initially without setting up your site since this is something that can be easily changed later. After all, the service provider takes care of the migration, not you.
When choosing a WHS who is going to host your website there are plenty of options out there and I am going to convince you right now why you need to pick WordPress. I want to say over 40% (the statistic could change) of the market share of the internet websites are made with WordPress. That number is staggering when you consider the amount of websites that are probably built from scratch by a web designer or team. For comparison, Wix and Squarespace combined don’t even add up to 5% market share. This means that most of the internet trusts and uses WordPress and there are reason why this is the case.
WordPress is FREE to use. That’s right, you can download WordPress on as server at home and deploy it right now for free. My website “redteamcafe.com” is hosted using WordPress. OK, but why use WordPress instead of something like Squarespace, Wix or Shopify? Well, lets say you decide you want to change the platform you are on to something different, you can’t exactly export your website and expect it to be setup on another platform. It doesn’t work like that. WordPress on the other hand can be deployed for free and can be used on ANY hosting provider that offers it. That means that if you want to change providers, all you need to do is use the WordPress export utility, and transfer that data to your new environment. There are other options besides WordPress but the simple fact is that WordPress is the BEST option out there. WordPress lets you host on their website “wordpress.com”. This is an excellent starting point for building your website until you know what you want to do later. I will say this again, if you pick a provider like Squarespace and want to change providers later, will will have to pretty much rebuild your website all over again. Sure, you can keep important data like the content, but the entire website layout has to be rebuilt and that can take hours, days, even weeks depending on the size.
A simple WordPress site running on a hosting provider is enough for most people but for those who are trying to grow their web presence, you might find that yourself outgrowing your hosting provider like a fish outgrowing its tank. In this case I would recommend looking at cloud hosting and let me be clear, this option can be for everyone but the only thing is that this does require a tab bit more technical expertise but not much more. With cloud hosting you are looking at service providers like Amazon (AWS), Microsoft Azure, Google Cloud, Digital Ocean and more. These service providers will give you the ability to deploy virtual machines on which you will run your website. Ok, so lets say that sounds daunting, after all you are getting closer to the self hosting territory, but the truth is that providers like AWS and Digital Ocean make it super easy to deploy WordPress VMs (Virtual Machines) to the point where you do not need that much technical insight (though maybe a little). Don’t believe me? Check out some of the links here:
Its that easy now you just have to pick the best service out. I will say this, AWS does have the largest market share of the 4 cloud service providers I listed.
Time to get into the nitty gritty, self hosting. I love self hosting, mostly because I enjoy the amount of flexibility it offers me. If I want more space, I just buy another hard drive. If I want to add another machine to my environment, I just spin up another VM. I will admit that the I have lost more sleep than I can image with self hosting things. For example, in March of 2022, I deleted the entire contents of this website. I relied of Google Caching and what little backup I had in order to rebuild everything from scratch. It actually turned out to be a good experience because it forced me to ditch the ancient website that I was using and upgrade some something better, but the very moment I deleted all of the volumes my sites were stored on, my heart sunk into my stomach. Its not a good feeling to have. Hosting everything on your own means you assume all of the responsibility. You are accepting all of the risk. Not only this but depending on what you are doing with your website, you might even be in violation with you internet service provider. Much like you can’t run a business out of your house, you can’t run a business on residential internet subscriptions. This requires even more work to bypass these types of restrictions and keep the ISP off of your feet.
So which solution do I recommend? It all depends on you but I highly recommend looking around at the links I provided.
Building Your Website
This is the where it starts to feel real, now its time to build your website. Since there are so many options out there with different web builders and hosting options, It would be impossible for me to try to cover them all without turning this article into a book. Since most of the cloud providers have detailed instructions for setting up a web server on their platform, and all of the website builders come with customer support and details forums, we are going to cover self hosting a WordPress instance. Yes you heard me correctly, I am going to go over every step to setup a WordPress website at your home. There are two videos I want you to look at first though. DBTech covers setting up a WordPress Docker (which is a container kinda like a VM) and NetworkChuck talks about hosting WordPress on a Cloud Service Provider.
Deploying a Self Hosted Webserver
If you have chosen to use a website builder or a cloud provider, you can skip this section and move onto the section on web design. So lets follow some of these steps to get your website up and running. For this, I am going to be using a Raspberry Pi with Ubuntu Server 20.04 installed and deploying WordPress as a Docker container:
- Register a domain with a Domain Name Registrar (like NameCheap)
This is as simple as picking the name, registering it and paying for it
- Setup DNS and SSL with Cloudflare
You need to register for an account with Cloudflare
Next you need to add your DNS records to Cloudflare (more info on DNS records HERE)
Setup SSL for you domain with Cloudflare. This is super important to protect your website with encryption.
- Setup the WordPress environment on the Raspberry Pi
Because the Raspberry Pi is an ARM architecture, you need to follow the ARM instructions HERE
Install Portainer (instructions can be found HERE)
In Portainer, under “App Templates”, there should be an option to install a WordPress Docker stack
Select this, and it is going to ask you for a username and a database password. Enter those and deploy the container
Once the WordPress container is deployed, navigate to the login screen and setup the admin account
- Setup an HTTP Reverse Proxy
This will allow us to redirect web traffic to the server based on the domain
You can install the following NGINX Reverse Proxy Manager Docker image HERE
Once the proxy server is up, you need to add the SSL certificate from Cloudflare to the manager server
Add the domain name and the IP address and port of the server the WordPress image is on
- You will need to have port forwarding enabled on your router
You need to point all traffic over port 443 to the IP address of the proxy server
Depending on the model of the router you are using will depend on how to setup the port forwarding (refer to user manual)
- With a domain registered, DNS setup, port forwarding enabled, and the reverse proxy configured with SSL your website should be good
I know this was a lot of step and it was pretty low level, but a lot of these are going to depend on person choices on how you want things to be configured. Like I said, self hosting your website is NOT something you should do if you do not have some kind of background in computers or networking. It will just cause too much headache for you. The important thing is to get your website up and running as quickly as possible and if you take too much time trying to learn things that are beyond your grasp without the prerequisite knowledge, it will take all the fun out of it.
Web Design Strategies for Websites
So its time to start building you website. This is the part I cannot help you with since the layout and design of your website is completely up to your creative aspirations. Nobody can tell you how to perfectly setup your own website but what can be said are some tips to make your website as professional looking as possible.
Take the time to plan your website
That’s right, you need to have a solid plan. The way websites are setup with URLs, parent pages and whatnot, you need to make sure that your website is organized and easy to navigate. We will be discussing this in the next few steps but the important thing is to not rush into it. Plan it out. Yes, it is important to hit the ground running and start making content and not think to hard about it, but its pointless to just go head first without a plan just for you to erase everything and start over from scratch again.
Choose the right mixture of colors and fonts
Your website should be pleasing to the eyes and enjoyable. It should not trigger and autism… no literally, colors actually matter and you need to pick the right ones that evoke the proper emotions instead of sending of the wrong signals to your visitor. Make sure to choose complimenting colors. Use professional readable fonts. If you have a logo that might be difficult to read, you can use it but you need to make sure that the whatever text is unreadable from a fancy logo is repeated somewhere. Use color that invoke the proper emotions. Choose blue and green for calming colors, red for fierce, black for bold professional look, and cream or white colors for elegance or softness.
Create a homepage that is simple yet engages your visitors
Your homepage is perhaps the first thing your visitors are going to see if they visit your website by using the domain name. Even if they clicked on a URL that took them to an article, chances are they might click around somewhere else and it will eventually land them on the homepage. That’s really how you should plan your website anyway is to make it easy to navigate back to the homepage.
Give your visitors something to click around.
This means making a good menu for navigating, having things like “recent articles”, creating a carousel or a slider, etc. The point is you want to encourage your visit to click around. This is why I heavily emphasize planning because a poorly planned website will not have things to click on or anything for your visitors to look around at.
You need an “About Me” page
And please, write it in first person. We all know that you are the one creating the website, its more personal if your audience things you are speaking directly with them versus if your website is acting as your representative. You want to make it seem professional, yet it still needs to have some personal level to it as well.
Do NOT steal content
This means images, music, videos, etc. You need to be careful about the things that you upload onto your site as you are ultimately responsible for it. It becomes even more unforgivable if your website generates revenue and you can find yourself in a sticky situation if you are using unlicensed images. I avoid this by taking my own pictures or taking creative liberties with images I upload. Also another thing, if you link other websites, it generally a common practice to get there permission. This might create an implied relationship between you and the other site. Its not illegal, or unethical, its just courteous.
Whitespace is beautiful, use it
I know when it comes to things like resumes, I always tell people that whitespace is the enemy, but when it comes to website, whitespace can actually be your friend. I intentionally use white space in my article to emphasize separation between parts. I also have a background image on my site and I kinda want that to be visible (even slightly). Whitespace adds to the whole professionalism and planed look.
Consider your mobile users
You will no doubt be building your website on a computer (you should be anyways lest you are a complete psychopath). It is important to understand that your audience will most likely be accessing your website on a mobile phone. In fact its almost certain as most adults have a greater chance of accessing the web on their cellular device than they do of logging into a computer for the day. Its important that you regularly check pages for formatting with mobile devices.
Ensure links are not dead and that content doesnt expire.
One telling sign of a neglected site is one that has dead links, bad redirects, or content that is no longer viewable. You want to alleviate this as much as possible. Ensure that links are good and if you make any major changes to pages or files that those changes reflect across the entire website.
That’s it, well you didn’t expect me to tell you how to build your entire website did you? I charge for these kinds of services you know, and it’s by the hour too. Which brings me up to one last point. its ok to ask for help. Some people would prefer to request for the services of others to help build and design their website for them, especially if the website generates revenue. If you go this route, I ant to emphasize that you understand the level of service you are paying for and know that you will get exactly what it is that you are paying for. The lower the cost, chances are the lower the quality of service you will receive. Check out sites like Fiverr, UpWork and Freelancer for freelance web designers or ask around and support your friends or local businesses.
Hopefully this helped!