You want to create a website, do you? You're in the right place. Armed with this step-by-step guide, you'll have a clear roadmap to follow for creating your own site.
You don't have to be a programmer, a geek, or a techie to do this. You also don't have to be an illustrator or a designer. All you'll need to do is take some time, make some decisions, spend a few bucks, and write your site's content, and soon, you'll have a shiny new website you'll be proud to promote.
Before you pull out your credit card and sign up for a website builder or web hosting plan, you'll need to make a few important decisions. Some of these decisions will chart your course for the long haul. Others are simple choices, just to get you started. We'll walk you through all of them, and provide you some guidance on how to decide. Here are the first four:
Let's look at each in turn.
In this section, I'm going to talk about switching cost. It's the most important concept to understand before you make any site setup decisions. Unfortunately, you won't see this issue discussed in most "how to build a website" articles. I think that's because most folks writing such articles don't have as many years of experience running production sites as I have.
Here's the issue: Building a website is a complex process, involving many technologies and configurations, running on top of a server environment provided by a hosting provider. The switching cost is the time, effort, and dollar cost of switching to a new provider. The inability to easily switch is called lock-in.
If you run an active website for any number of years, it is almost guaranteed that you'll need to switch hosting providers. These are just a few of the reasons you might need to switch:
A few years back, I had to switch because of a very sad circumstance: The owner of one of my hosting providers passed away and the company simply closed down, making rapid switching an unexpected urgency.
You may work with one provider for three, four, five years, or more. But if you're running a site for the long haul, it's rare to stick with one hosting provider unless you simply have no way out. So, planning to be able to switch is useful.
Many web builders are proprietary, so if you want to switch to another service, you'll have to rebuild your site either mostly or entirely from scratch. At the very least, there will be a ton of cutting and pasting between services.
For smaller sites, that's not much of an issue. Rebuilding five or 10 webpages is no big deal. But if your site is 50, 100, or even thousands of pages, that's a lot of copying and pasting (or, if you're very lucky, exporting and importing). Think about this: If you do one blog post every weekday, you'll have at least 261 pages by the end of a year. Content expands very quickly.
Another approach is to build a website using non-proprietary tools. We'll be discussing WordPress a lot when we get to this. The benefit of non-proprietary tools is that they make switching far more practical. The disadvantage is that they're usually more complicated.
As we discuss the decisions you're going to be making in setting up your site, we'll be coming back to the issue of lock-in again and again. You'll need to decide early on if lock-in is an acceptable risk, or if you want to plan for site portability. Generally, if you expect to have only a few pages that don't change over time, lock-in is probably okay. But if you're building a growing site that you want to nurture for years, you'll probably want to avoid lock-in at all costs.
No matter what technology you use to build your website (we'll talk more about that later), you're going to need a domain name. That's the online brand for your site, and as such, it's an important part of your online presence.
Do not let any of the web hosting providers try to convince you to use something like yourname.theirname.com. It's better to have yourbrand.com as your domain name. Domain names cost about $10 a year and you go to a domain registrar to buy one. The only challenge, as with vanity license plates, is finding one that hasn't already been used.
Here's a caution: Most registrars also offer some form of domain marketplace, where those who own domain names try to sell them to others who want them. Stay away.
I have an acquaintance who decided he wanted a very specific name and spent thousands to buy it. Yes, the name of your company might have already been taken. Be creative. There are still many great combinations of letters out there. Don't spend hundreds, thousands, or even tens of thousands of dollars on a domain name. Just be creative and choose one that's available.
Many hosting providers and website builders include a free domain name as part of their plan. There are pros and cons to going that route. You can often save the ten bucks for the first year, and it's usually a few minutes easier to set up. But switching costs will be there if you need to move.
Recommendation: I like keeping my domains separate from my hosting providers so I have more control over where they point. If I want or need to switch hosts, I'm not also trying to extract my domain at the same time. If you go with a domain registrar separately from your hosting plan, you can also nail down your online identity early in the process. Otherwise, you might have to wait until you've decided on a hosting technology and provider.
Personally, I've used GoDaddy and Namecheap, both of whom offered good prices and reasonable support.
If you run a large corporation that can hire a web team, sure, go out and hire a consultant. And while there are many web developers out there (freelance and with agencies) that do a wonderful job, they can increase complexity considerably. For now, I'm going to tell you a few reasons why I don't recommend you hire someone. After, I'll show you some tips for succeeding if you do.
Let's start with the reasons you might want to avoid hiring someone. At the top of the list is cost. Building a custom website is a lot of work. While it's possible to crank out cookie-cutter sites where only the logo and colors change, anything built with more of a personal touch will take days to weeks to months.
I volunteer with a nonprofit. I agreed to build their site. It had just a few highly custom features (a tweaked membership list and member-only access). Even with just a few custom features, it took me a couple of weeks to put it together. Even the cost of hiring the least expensive developer, billing for 80 to 100 hours, is going to add up.
Beyond cost, however, is the loss of control. I also maintain a free donations app, again as part of my pro bono work. At least once a week, someone contacts me telling me that they lost their developer (or they have no idea who the original developer was) and they need to know how to modify their site.
Recommendation: Build it yourself.
You are unlikely to have access to the same developer for the entire life of your site. Consultants move on, get new jobs, move away, die, or get fired. If you are solely reliant on someone else to keep your site alive, you're at serious risk. It's incredibly valuable, especially for your first few sites, to build them yourself. Learn about hosting. Learn about your content management system. Learn about backups.
If you build up these basic skills, you'll be able to jump in if your developer is unavailable. At the very least, you'll have a better chance of understanding whether the consultant's asking price is reasonable or over-inflated.
If you do want to hire a consultant, my biggest piece of advice is to keep each job simple, with clear objectives and a measurable set of guidelines. Rather than hiring someone to develop your entire site, you might hire someone to configure your e-commerce plugin -- and teach you how to maintain it. Rather than having someone design the entire site, you might hire someone to help you choose your site's colors and tweak your CSS to display them.
Recommendation: Keep the jobs simple, tangible, and objectively measurable. It's much easier to convince a vendor to make a fix because payments aren't processing than it is to try to convince a consultant to redesign because you didn't get the light and airy feeling you were hoping for.
You're now at one of the most important structural decisions about your site: Whether to use a website builder service like Wix or Squarespace, or to set up a hosted site, probably based on WordPress.
Without a doubt, if you want the fastest and easiest path to a website, one of the website builders will get you there. The gotcha is that website builders are all about lock-in. If you want to move your site to another provider or another site management technology, you pretty much have to rebuild the entire site from scratch.
Here's a chart that helps compare the two approaches:
As I mentioned, the website builder option is your fastest route to a site. Choosing the builder is about all you'll need to do. Once you do, you create an account, pick a theme, fill your site with words and pictures, and you're done. The builder will do the hosting, manage the servers, and even provide you with a domain name. But -- and it bears repeating -- once you've chosen a website builder, it's hard to switch.
For some of you reading this, switching options and flexibility might not matter. Getting up and running fast might matter more. For you, then, let's dive a little deeper into making the builder choice.
First, I'm going to point you to our article that compares website builders. This is a great place to start to look at each of the builder products, compare features, and prices.
Also: The best website builder for 2021: Your step by step guide
Here are five factors to consider when choosing a website builder:
Some builders will offer additional benefits, like libraries of graphics, free email, mail list management, and more. Carefully consider what you need and evaluate accordingly. Take full advantage of any trial period and test, test, test. Better to learn about limitations now, than later when you're completely locked in and switching costs are much greater.
While most website builders offer pretty much the same set of features, the place they're going to differ the most is in their template designs. Template design is as much art and science, and as such, you may find the aesthetic offered by one provider is considerably different from another.
Templates usually come in a variety of categories:
Often you can include multiple page styles in one site. So, if you want a site that provides information about your company, but also has a blog, a portfolio of client projects that you want to showcase, and a shop for purchasing some downloads, be sure that your provider can handle all these options -- and that they look like something that fits your company's style.
Once you choose your template, you'll want to fill it with your unique content. You can write your text right in the website builder's editor, or write it in a text editor and paste it in. I like to write my articles, mostly, in Evernote and then paste them into my posts. That way, if I accidentally hit the back button in my browser, I'm sure I won't lose all my hard-crafted writing. If I am writing directly in the posting tool (like I am right now), I make sure to hit Save. A lot.
Make sure to test your template on more than just your computer. Test it on tablets and phones to make sure it displays properly as well. Most of the templates provided by the bigger website builder services do this automatically.
Configuring a site for online selling is often quite straightforward. Website builders will often handle every aspect of capturing the sale, including taking your customers' money. You'll usually set up product listings, often with categories, and then upload descriptions and pictures of the items you want to sell.
Where online selling gets interesting is how the money is processed and how you manage to deliver goods. Generally, most website providers will offer to process credit cards using some service they've contracted with. They'll usually take a fee off the top, a percentage of each transaction plus a per-transaction fee. They may also charge you extra just to use the e-commerce service.
Other services will give you the option of using PayPal or Stripe, at least if you're in the US. Both capture customers' money, disbursing payments to you either when a threshold is reached, or on a regular basis. I've worked with both PayPal and Stripe, and while I have had much better support from Stripe as a developer, very few of my users have complained much about either service.
The shopping cart you setup may need to be able to deliver digital goods, and unlock files for download once payment is completed. It's rare that a website builder's cart system will offer licensing, though. If you want to issue license numbers for each digital download, you probably want the WordPress solutions we'll discuss in a bit.
If you're shipping physical goods, you'll want to make sure the cart handles taxes, as well as providing you with some mechanism for managing shipments. The ideal cart will give you the option to print shipping labels and interface with UPS or the USPS for shipments. If you want to sell physical items, definitely take the time to examine these features carefully.
That's about it for website builders. Give them your credit card number and start crafting your content. Next, let's look at hosted WordPress, which is a far more flexible (but a little more complex) option. Personally, it's the option I use.
If you decide you need more flexibility and control than website builders provide, I'm going to go out on a very safe limb and recommend you consider WordPress as the foundation of your website. According to tracking service W3Techs, WordPress now runs 40% of all websites and has a 64.3% market share of all sites based on a content management system.
WordPress is an open-source CMS you install on your hosting provider's site. Usually, WordPress comes pre-installed, or you need to run a quick installer to create the site. The installation process involves answering a few basic questions. To just get WordPress up and running, it rarely takes more than about five minutes or so.
Also: Best WordPress hosting in 2021
It's the customization of WordPress that can take a while. That's because there are so many options and capabilities, especially when you factor in the added functionality offered by plugins and themes.
One other benefit of WordPress: Because it's so huge, there's an enormous user community and an almost unlimited amount of training, help, and support, and a virtual cornucopia of resources, sites, and helpful people out there who know WordPress.
If you want a deep dive into a six-year-old WordPress site that provides support, e-commerce, and information, I wrote an in-depth article (below) about how my software products site works. Keep in mind that this is the result of many years of evolution, so don't expect that you have to understand it all right now, but if you're planning on growing, this is a good example of what you'll be building out over the years:
Real-world example: WordPress site 101: Free and low-cost tools to build a powerful web presence
Plugins extend WordPress's capabilities. There are thousands upon thousands of them. I consider plugins the great strength of WordPress because they allow you to customize WordPress to do almost anything. Many are free, many more are paid add-ons. Many offer a free core plugin but sell either a pro version or add-on capabilities.
There is a wide range of plugin capabilities, ranging from small tweaks to WordPress behavior, to major applications like:
Recommendation: The best place to start when looking for WordPress plugins is the official WordPress Plugin Repository. There are other sources for plugins (including their developers, for premium versions), but the WordPress repo has a specific set of quality and communications requirements that makes it worth sticking with. Also, the plugins from the repo can be updated automatically in your site's plugin dashboard. Plugins from other channels may require you to update each plugin by hand, a task that will become more tedious with time.
I develop and maintain a number of WordPress plugins. If you'd like to see the tools I use to do this, click below:
Real-world example: One developer's favorite Mac coding tools for PHP and web development
We talked earlier about templates offered by website builders. WordPress's term for this is themes. The second great strength of WordPress is its enormous themes library. There are some very nice free and default themes, and a tremendous number of excellent commercial themes available. This, too, is one of the reasons I confidently recommend WordPress.
Remember, if you're not an artist or a designer, themes in WordPress and templates in website builders are your friends.
Recommendation: I recommend you consider one of the great page builder themes like Divi, Elementor, or Beaver Builder. These give you the best of both worlds: Website builder ease of use, but with the flexibility, power, and scalability of WordPress. They allow you to customize your look but also include a wide range of pre-built templates as good starting points. I, personally, use Divi.
Also, as you explore themes, you may discover the term "responsive." Responsive, in web talk, is a term that basically means the webpage will respond to different size screens. For example, a form on a large page might have the title of a field to the left of the field data entry area, but that same form, displayed on a small phone, might have the title of the field displayed above the field entry area.
When you choose your theme, be sure to check that it's responsive. You absolutely want to make sure your page will properly function on mobile devices.
As with website builders, you will undoubtedly want to upload some images on a WordPress site. Only you can provide your logo and pictures of your products, staff, and offices. But if you want a wide range of other pictures, here are two great resources:
But keep in mind that once you integrate a bunch of plugins and themes into WordPress, you're going to have something of a lock-in situation as well. It's not the same as being stuck on one hosting provider, but you may have data formatted just to work with your chosen plugins, or pages formatted to work with just the theme you've chosen.
The difference between module-level lock-in and hosting-level lock-in is that you can often find replacement themes and plugins, and you can almost always move your entire WordPress site (including all those plugins and themes) to another host without too much work.
Also, you may have heard about security problems with WordPress. Don't let that scare you away. Keep in mind that 40% of the internet is running WordPress, so millions of websites run it. That makes a very large target of opportunity for bad guys and opens up a wide range of errors people can make in configuring their sites.
Also: Best website monitoring tool in 2021
Here are a few very simple practices that should help keep your site secure:
Recommendation: If you do the simple practices of backing up your sites and applying updates as they come out, you'll almost always be in the clear.
If you spend much time at all with WordPress, you're eventually going to have to upload files to your site. These will most often be images, and you can upload images through the WordPress dashboard interface. In fact, the WordPress dashboard interface will also let you upload themes and plugins as well.
Note: you're not going to be uploading your text, because there are very nice writing interfaces provided by WordPress and some of its themes.
There are two primary ways to manage files on your site: through cPanel or an equivalent host management file manager, or through an FTP client. Let's discuss each in turn.
cPanel is an interface for all your hosting settings. It's a commercial product, so it's something your hosting provider will pay for to include in your hosting offering. When you buy your hosting, the hosting provider will provide you with a cPanel URL and you use it by navigating its menus and icons, looking for whatever function you want. cPanel comes with a rudimentary file manager that lets you drill down through your site's file structure and upload, download, move, copy, delete, and modify files.
There are other hosting dashboards out there, but nearly all of them will include something like cPanel.
Another approach is to use an FTP client application on your computer. FTP has been around since way before the web (it stands for File Transfer Protocol). The base FTP is completely unsecured and open. Most likely, if you use FTP, your hosting provider will tell you to use SFTP (secured FTP), which requires some additional setup. Most hosts will recommend settings for the most common FTP programs. Personally, on Windows, I use FileZilla. On Mac, I use both Forklift and Transmit, usually depending on what sorts of tasks I'm trying to accomplish that day.
One thing you'll need to understand is the directory structure of a typical WordPress install. WordPress consists of a set of PHP files, with the top-level files located wherever your hosting provider likes to place its users' server files. Within the top-level WordPress folder will be a set of additional folders, and these are important:
The name wp-content is misleading. This folder doesn't really hold content. It holds customization modules. Within the wp-content folder are the following important subfolders:
And yes, Languages is upper case, while all the other folders are not. If you want to learn more about the wp-content folder, this is a really good introduction to the wp-content folder.
If you go with one of the all-in-one web builders like Wix or Squarespace, you won't have to choose a hosting provider. But if you go with some other CMS or WordPress, you'll need to contract with a company to deliver your webpages to your visitors.
I wrote about the hosting provider business model in Best free web hosting in 2021: Cheap gets expensive fast, so click over there and give it a read-through. You'll learn a ton about how to think about hosting, what services hosting providers offer, and some of the pricing tricks hosting providers try to foist upon their customers.
The biggest thing to watch out for is renewal pricing. Hosting providers know how time-consuming it is to move a site, so they price their offerings low to suck you in, but then when it comes time to renew -- once you're fully installed, setup, and entrenched -- they raise their prices. These are not just twice as expensive. Sometimes they can be as much as ten times more expensive than what you spent when you first signed up. So, be careful. Be aware that the typical hosting business model relies on these big jumps in renewal charges, and plan for it accordingly.
Another article to check out, on our sister site CNET, is How to choose a web hosting provider. There, I wrote about the different types of hosting and servers to take into consideration.
Also: Best web hosting in 2021: Find the right service for your site
Here's a quick tip: You can probably get by with shared hosting if you don't have a ton of pages or a complex site. But stay away from the bottom-of-the-barrel pricing plans. You get what you pay for. Look for a plan that's roughly about $10 per month if you're running WordPress or anything with a basic CMS. If you're running complex e-commerce, expect to spend more.
The reason for this is that you'll need a base level of performance to be able to feed pages with any responsiveness. The super-cheap sites will have terrible performance and often lax security. If you're creating your first impression on the internet, make it count. Spend a few bucks -- way less than we used to spend mailing out brochures in the pre-internet dark ages -- to get a decent quality but still affordable offering.
More to explore:
It's kind of weird. When "the industry" talks about an online presence, they're mostly talking about setting up websites. But having a full online presence should also include email -- even if it's just a free Gmail account. Your customers, constituents, and prospects need to be able to reach you via email. It's just part of the online way of life.
Heads up: Email does not automatically come with web hosting services. You may need to solve this outside of hosting entirely.
Most website builders don't provide email accounts. If you have your site on Wix or Squarespace, for example, they'll recommend you use some other service to host your domain's email accounts.
Also: Best email hosting in 2021
Conversely, most moderately inexpensive cPanel-based hosting accounts do come with email. It's just another option in the large laundry list of things you can turn on and off in cPanel.
But then, if you pay a premium for higher-end managed WordPress hosting, with concierge-level customer service, more performance, and higher capacities, email often won't be included.
I do have email included on some of my super-cheap test cPanel accounts, but I don't run my email through them. Instead, I have a Google Workspace account with two email accounts. Email is so mission-critical to my work that I wanted to run it through a service that is very invested in providing a solid email experience. Another great option is Office 365, which provides email via the Outlook web app, as well as Microsoft's excellent Outlook installed software application.
Mailing list management uses email but is almost always a completely different service from email hosting. Let's clarify.
Mailing list management, as a service, almost never comes with either a website builder plan or a hosting plan. There is an entirely different pantheon of companies that manage mailing lists. They often charge by the number of subscribers you have and the number of messages you send to your list.
When it comes to running your website, make sure you look at how you can integrate user sign-in, customer registration, and support registration into your mailing list, so your website constituents are given the opportunity to automatically join your mailing list. WordPress has quite a few plugins that make this an automatic process.
One final thing: Don't spam and don't just sign up users. Make sure to use a double opt-in approach that requires a subscriber to confirm that they want to be registered for your mailing list.
From a website visitor's perspective, a website is someplace online you visit to get information or to do something. But from a site operator's perspective, a website is, fundamentally, one or more directories of files, possibly accompanied by one or more databases of tables.
A webpage is essentially a single document. A website is a collection of related webpages. Many websites, using web programming languages, also work with databases (which provide fast search and retrieval). These sites build the webpages dynamically, constructing all the elements as a user visits the page, and then transferring that cluster of elements as files to a user's browser.
Although we hand-crafted our pages -- HTML tag by HTML tag -- in the mid-1990s, that's no longer a preferred practice. Today, you're almost always going to use some sort of page builder or content management system (CMS), which will do most of the super-tedious page formatting and assembly work for you.
HTML (Hypertext Markup Language): This is a text file containing formatting commands for constructing a webpage. You can control the text style, add headings, lists, and place media content. Most HTML pages also embed or include content from other web languages as well, like CSS.
CSS (Cascading Style Sheets): These are files that help format the webpage. They contain positioning and styling information that gives a page its pleasant look.
PHP, Python, Ruby, etc: These are server-side programming languages that run web applications on the server. For example, an online store will need to call out to a payment processor. Most of that payment processing is handled server-side in a web programming language.
CMS (Content Management System): In 1995, when I got my start on the web, there were no web builders or content management systems. I had to hand-code all my HTML. Today, unless you're writing custom functionality, you probably won't have to know any of these languages in detail to create a successful site. But you might want to have a passing awareness of them and to understand basic HTML and CSS at the least, because little bits of customization in terms of how your site looks may require CSS or HTML tweaking. The most popular CMS today, by far, is WordPress.
SSL (Secure Socket Layer): This is a security protocol used to protect your transactions online. It protects the data transmitted between your computer and the server. If you see a web URL beginning in https://, that's a page that's protected by SSL. A webpage that begins with http:// is not. Having SSL requires having an SSL certificate. This will be handled for you by all website builders and some hosting providers. Make sure you check if you're buying hosting that an SSL certificate is provided. Also, Google is now prioritizing for SSL-based sites, so if you're serving http:// pages only, you're likely to rank lower.
SEO (Search Engine Optimization): This is an art, a science, and, some think, a pox on humanity. It's the practice of tweaking or writing your websites so that they show up higher on a Google page after a search. Yes, there are other search engines out there, but it's really Google everyone needs to optimize for. Being highly ranked can mean the difference between success and failure on a site, so SEO is big. That said, pandering to SEO can sometimes result in pages or copy that are less appealing to humans, but are better at influencing the Google page rank algorithm. Most website builder services offer some SEO support, and there is a wide range of hugely popular plugins on the WordPress repository for SEO help.
Every one of these terms could spark its own full class. But, for now, it's good enough just to know what they mean. As you grow in your hosting experience, you'll organically pick up more knowledge about each of these topics.
As you can see, there are many options. Fortunately, it's relatively inexpensive to set up a starter website. With easy-to-setup options available from website builders and with WordPress, it's just a matter of deciding which is a better fit for your needs.
Are you currently running your own site? What approach are you using? Are there any lessons you've learned that you'd like to share with your fellow readers? Let us know in the comments below.
You can follow my day-to-day project updates on social media. Be sure to follow me on Twitter at @DavidGewirtz, on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, and on YouTube at YouTube.com/DavidGewirtzTV.