Topic Used
- Managing Hosting Provider
- WordPress
- DNS libraries
- IP addressing
- Web Design
- SSL Standards and implementation
- Cloudflare CDN
- Elementor Website Builder
If you would like to see the website, click here.
The Story
Funny enough, I wasn’t looking to do any freelance web design. My website that you are on right now was going to be my project for the summer. When I told my parents my plans, they thought my website was a good idea. My dad maybe even liked it too much. He thought I knew a lot already and started offering my web design skills to his friends. It turns out, he had one friend that wanted a very minimal website for his machine shop. This friend’s name was Sal. Because of the minimalist website Sal had in mind, I realized the job was actually very doable.
In my first meeting with him, I got an idea of what he wanted on his website. I then created an outline so he could see some of the aspects of the website before I actually started creating it for him.
Sal wanted a website made up of a couple pages that gave viewers information about the business and offered avenues to contact the business. This means that I wouldn’t have to implement a bunch of interactive tools like, live chat, big graphic design effects, and additional tools that cost money to implement. These would also require a lot of learning for me to use correctly. Thankfully these were all a no go from him.
I brushed up using Elementor and WordPress and went to work. Elementor and WordPress are pretty easy to use and only require a little experience to really get comfortable with. The design itself wasn’t the complicated part at all. But website management and using additional WordPress plugins are tough.
I wanted to manage the backups of the website so if anything happened, I would be able to recover everything. The backups failed at one point which happened to coincide with a website crash. I lost a lot of work. Because of the outlining and notes I took on Google Docs, I was about to recreate the entire website. After this, I made sure to upgrade my hosting plan so that backups of the website are taken weekly and automatically. Previously, I was creating the website with a free tier subscription and I planned to export it to a premium hosting plan. But it is always good to use a premium hosting plan whenever possible so things like automatic backups are included.
Another management issue was SSL. SSL stands for Secure Sockets Layer. This is a security standard for websites that encrypts the user’s data while using the website. For example, this is very important for websites that make purchases. You don’t want your credit card information getting into the wrong hands. But nowadays, SSL is important for all websites. This is because in browsers, SSL is what puts the lock by the website name in the address bar. When SSL is not on the website, the lock unlocks and becomes red. You also get notified from the browser that the website is not secure. In order to not scare away anyone, it is important to have SSL on your website.
For this, I used Cloudflare. Cloudflare is able to provide you with an SSL for free by acting as a server in between the user and the hosting provider. The server acts as a secure intermediary that encrypts the data from user to the host. Cloudflare also provides other services like CDN. This stands for Content Delivery Network. A CDN allows a user to use your website by connecting to Cloudflare’s servers as opposed to your hosting provider. This is a lot of times faster because the actual website server could be across the world. By routing through Cloudflare, the user is talking to a much closer server and has a faster experience because of it.
By adding Cloudflare, it also adds some complication as well. With a website, I have the actual server the website is hosted on, I have a domain registrar name that needs to point to that server, and I have Cloudflare which can manage DNS for your website as well. Because my hosting service and domain name service are from different providers, I have to manually change the IP addressing for them to recognize each other. Same goes for Cloudflare. This fiasco took me multiple attempts to get right. I had to learn a lot about DNS, IP addressing, and CDNs in order to set this up correctly. I also encountered some cache poisoning and SSL rejections because of it. It became very complicated but I eventually figured it out. My main issue ended up being the SSL certificate Cloudflare provided me with was from an old setting and didn’t reflect my current Cloudflare settings. I replaced this SSL certificate with a newly generated one and the site started working.
The next problematic issue I faced was with a form plugin for the website. I wanted to have a form on Sal’s website that a viewer could easily fill out and submit to contact the business. I downloaded a plugin called “WPForms Lite” to create and implement the contact form. The directions were a bit vague in the documentation for how to use the plugin. I had to use a lot of trial and error for the form to send to the correct email and for the fields to be how I wanted them.
After much learning, I was able to complete the website to Sal’s standards.