Creating a Website

For those of you who are just getting started with a website or maybe even those who are seeking to improve their existing website, I hope you find this post helpful. I want to cover some basic elements that I think every website owner should consider. I know when you first start out you probably have two primary thoughts on your mind. First, how do I get my content out there on the internet in an efficient, searchable manner. Second, how do I accomplish this with little time, money and technical knowledge. If this describes you then I invite you to read on. If not I am sure you have better ways to spend your time.

Before we go on, I think I should provide some background on myself before jumping into giving advice. My day job is as a software engineer. I am responsible for a decent sized corporate website (60,000+ pages, multiple languages), applications, and maintaining the architecture it is build on top of. I have developed in HTML, CSS, Javascript, C#, ASP.NET, PHP, among other languages. My main point here is that I have past experience related to this and was not starting out like I think many new authors will be. When my wife said she wanted a website, I began looking for very specific things.

My first obstacle was determining requirements (What was my wife actually looking to do with the website). I am not sure if you can tell but this website is built with WordPress. I will state right now that this is not what Liv asked for. I feel she was very skeptical and maybe … ok probably mad at me for that fact that it looked like I was not listening to her when she told me what she wanted. She wanted a CUSTOM website. Complete freedom to create anything she could imagine. I think for an author who has just spent their entire lives creating something from nothing this seems very attractive. From a developer’s perspective, I will tell you this goes against best practices. Do not re-invent the wheel. I am sure you have heard that before. When you use an existing product it comes with a lot of functionality. It has been tested. New functionality many times will come from a whole team of developers. When you create your site from scratch every feature you want needs to be created, tested and supported by you. It is better to use existing software according to your needs and customize only where needed, as a last resort. I could have chosen Drupal, Joomla, or any number of other solutions (feel free to browse these as options). I chose WordPress for its ease of use and number of free plugins. It supports multiple languages and should have the basic features needed for a small website including email, forms, blogs, etc without needing to pay for a single plugin. The core software is free to use. I will warn you though that whether WordPress is great or a thorn in your side all depends on how it is setup and what plugins you choose. Mostly I went for very intentional design but simplicity so far. Ok, so lets start to jump into technical setup.

HOSTING: When deciding where your site will be hosted I find this depends greatly on what you will use to develop you website. Depending on whether you choose a content management system like I did or whether you choose a more basic website with static pages will determine where to host you site. It also depends on what features you want to support and how much you want to spend. I assume for most authors almost all hosting sites will provide you with the essential elements you need and that cost will be the main difference between each. So lets jump into what you need. I assume you will want your own domain name, such as beltanabookburrow.com. This will distinguish your side from others. A domain will normally be a once a year cost between $5-$20 on average depending on popularity of the name you choose and the .com, .org, etc ending. Some hosting sites will charge you a certain amount per month no matter how many people visit your site while others like AWS may be usage based and charge based on how many people are visiting. I cannot make any specific recommendations here without knowing an individual’s requirements for their site. My best recommendation is to continue reading and to do some cost estimations based on everything you want to have on your site, both now and a few years down the line. If you compare hosting sites make sure you are comparing including all of the features you want included. For specific questions fee free to tell me a little bit about what you are looking for and possible options you have looked at. Contact Page choose hubs in the dropdown!

PASSWORDS: Throughout the process of setting up a website please ensure you have a strong password. If you cannot remember all of the passwords then consider a password manager such as keepass. You can use a very long phrase to secure all of your password. Then for each site you can use a strong password. If you choose to use a common word or a simple password this opens your site up to hacking. Just remember that the cost of having an easy to remember password may just mean you website getting stolen or destroyed after years of work on it.

SSL CERTIFICATE: to secure your domain traffic. This is one I find many beginners skipping but it is probably the most important security point starting out after strong passwords. Let me explain. SSL, identified by that lock symbol before the url, encrypts every request you make to the server and back. Lets have a practical example. You are on a public wifi or even at home using your phone or laptop. When you navigate to a website without ssl and enter in a userid and password or any information this information, it is sent through the air to the router. This is not like traffic down a rode or a laser pointer. When the signal goes to the router it is just like your cell phone. The signal goes in every direction, in this case for 100 – 300 ft on average. If the router is within this distance it reads the information and communicates it to the server and then sends the response back, which is also transmitted through the air in every direction. If you do not have SSL encryption, this information is sent through the air in plain text. Anyone with a cell phone or laptop within range can listen to these data packets and view what you send in them. If you choose not to use SSL on your site you might as well save all of your important information on a thumb drive and leave it at McDonalds. User ids, passwords, personal information, etc. Every time you login to administer your website and enter your userid and password some can listen to the traffic and gain your credentials. This is a very common way identities are stolen. Please protect your users and have SSL enabled. If you choose wisely, the hosting site will have no charge or a one time charge for this feature. Again, if you need help here feel free to reach out and I can point you in the correct direction. Contact Page choose hubs in the dropdown!

EMAIL: Do you want your own email address at your website such as your_name@domain.com? If so your hosting site will need to support this and to work fully your domain will need to have an MX (Mail eXchange record) so that emails coming to your domain make it to you. This depends greatly again on your hosting site what will need to be done. Some are simple while others are very complex. If you already have a personal email address and do not want to check both it is also possible to forward emails to your personal email or at least receive a notification when mail arrives to your website.

FORMS: Forms are commonly used as a means for users to contact you. This can also be a sign up form for subscriptions. Basically any time you want to collect information from your users you can consider forms. I would recommend using CAPTCHA on each form to prevent automated bots from filling out your forms and spamming your site. Of course, some more advanced bots may still be able to get past this. If Spam is an issue on your site please reach out and provide a description and I can try to provide some suggestions.

BLOGS: Many authors want to have their own blog. Do you want to provide posts only or also have feedback to your posts. If you have users leaving feedback, I would recommend selecting a site that allows you to review each comment before it becomes public. Remember, you are responsible for both the content you post on your site and what other people post on your site.

BACKUP: Why spend years building content and then lose it. If your site is ever hacked can you recover from this. Depending on your hosting situation, the hosting site may do backups for you. Do you know if backups are available and most importantly how to actually restore your system if it is damaged or destroyed? WordPress has many backup plugins available but most of these store the backup on the same server that WordPress works on. I would recommend storing your backups on a separate system so that if anything happens and the server crashes or is hacked you can recover from it. Many times backups can be scheduled weekly or month, etc. If this is something you don’t want to be responsible for make sure your hosting includes everything you need.

PERFORMANCE: I put this last since it starts getting very technical. Some topics to research which will be specific based on the Content Management System you choose are listed here. Caching, CDN (Content Delivery Network), Lazy Loading, Latency, etc. I will admit, even with my choice of WordPress there are always Pros and Cons. One of the biggest cons is that WordPress is based on PHP which is server side processing. With a traditional HTML webpage each page request is just delivering a static webpage to the user’s browser and is interpreted there. The downside is that the content is very specific and not dynamic. The positive is that website loading tends to be very fast. With PHP each request requires processing on the server and then content is delivered to the user’s browser and interpreted there. This server side processing takes longer but it mean many more options are available for the website pages. Here I chose functionality at the cost of performance. However, to mitigate this I have utilized caching as well as a CDN. Content that has not changed can be delivered from the cache and the server does not need to do unnecessary processing. For basic website performance reporting you can use this link.

Again, if you have questions or would like me to go into more details on a certain topic you are wondering about feel free to reach out. Contact Page choose hubs in the dropdown!