Programming and web design and that kind of stuff has always been interesting to me, so I decided to build my own web site for the book instead of contracting that out. One obvious benefit of doing it this way was a significant cost savings. You may think you need a lot of technical ability to do something like this, but I actually believe that if you’re willing to play around and learn a little bit, it’s actually not all that hard to do this on your own.
You’ll need a domain name. I got mine from GoDaddy for $19.00.
You’ll need web hosting. I have had my own contract with a hosting company for over a decade now, but if you don’t, you have lots of choices. BlueHost seems a popular choice and doesn’t look all that expensive (at this writing, its home page is advertising basic hosting packages starting at $3.95/month, probably if you sign a one- or two-year contract). Your hosting service provider should be able to walk you through connecting your domain to your site.
Once you’ve done that, go ahead and create an info@ email address for yourself. You should be able to set it up to forward to your existing email, but in my opinion your site should have its own email address. This also makes it easier to filter your email later.
My site is built on WordPress (as is this one), so the next step is to install WordPress. This guide from DesignWall proved tremendously valuable to me and I recommend you read it for yourself, but I’ll talk about the basic process here.
I used Softaculous to install WordPress. It comes baked into your hosting and should be available from your administrative interface given you by your web host (cPanel in my case). Installation was super simple – you just need to put in some details about your site (stuff like the title and your admin identity and password). Once you reach the bottom and click “install” it takes just a couple of minutes. And *bam*, you have a WordPress site.
Navigate to www.yoursite.com/wp-admin and login using the credentials you created as part of the installation. From the administrative interface, go to Pages > All Pages and delete the sample. Then click Add New and create a new page. For now, just give it a title of “Home”, no content, and publish the page. Then navigate to Settings > Reading, click the radio next to “a static page”, and in the drop-down next to “front page”, pick “Home”. Save changes and now you have a static home page instead of a more traditional “blog” home page.
You’ll probably want other pages – common examples would be an About page, a Contact page, and a Buy page. Note you can change the permalink if you want – if you have lengthy page titles you may want to consider tweaking these (just click the edit button and change them to whatever you want). Create all of those using the same method described in the last paragraph. You don’t need content just yet – you can do that later.
Now navigate to Appearance > Menus. There is a drag-and-drop interface here that lets you put your menu pages in whatever order you want. There should be a checkbox next to “Theme locations” for “Main Menu” – I would leave that one checked. There’s probably also a checkbox next to “Automatically add new top-level pages to this menu” – my preference is to leave this unchecked and add new pages manually, but that’s up to you. Once you have the right pages included in the right order, click the “Save Menu” button. Now your site has a navigation menu.
At this point you have a web site that has been “stubbed out” to have the pages you want, and it has navigation. I’ll cover the rest of this process in the next post.