so-you-want-to-build-a-website.jpg

Often times, I have folks reach out to me asking if I could build them a website. Most requests howevever don’t require a Full-Stack Software Engineer (my role).

Think about it like this:

Building a small website yourself is like using a bicycle to go get groceries from the grocery store. Simple, efficient, and a way to cover a short distance for a specific task.

Hiring a Full-Stack Software Engineer is like hiring a professional race car driver and a team of mechanics to build and maintain a high-performance vehicle for a cross-country roadtrip… You wouldn’t need to hire a race car team just to drive to the grocery store.

Now, As much as I’d love to help out and possibly even make a few extra bucks, I truly believe my skills and services are overkill for most projects and it would be cost-prohibitive for someone to have me assist with their project. Instead in this post I’m offering some useful info on building a website yourself.

It’s never been easier and cheaper than ever to build a website. You don’t need a big budget or advanced coding skills!

Here’s how you can create a site for free or low-cost, step by step:

Get a Domain Name (your website’s address)

A domain name is the web address for your site (like yourname.com). It makes your site look professional and easy to find. You can buy a domain for around $10–$15 annually.

I recommend Porkbun.com which is a popular cheap registrar (not sponsored, I just really like them).

Porkbun often offers .com domains for around $9–$12/year, including freebies like free WHOIS privacy (hides your personal info) and even free SSL certificates for your domain.

Tip: Search for a short, memorable name. Many registrars (including Porkbun) have search tools to check if your desired name is available. If the .com is taken, consider other extensions (like .net, .io, etc.) that fit your purpose.

Connecting your domain

Once you have a domain, you’ll connect it to whatever platform or host you use to build your site (more on those options below).

The registrar (where you bought the domain) will provide DNS settings to point the domain to your website. Guides on how to do this are available for each platform and are usually straightforward.

Secure Your Site with SSL (little HTTPS padlock in browsers)

An SSL certificate encrypts data between your site and visitors, displaying the HTTPS and padlock icons for security. The good news is that SSL can be free. You should never skip SSL, even for a basic site, because browsers mark non-HTTPS sites as “not secure.”

I suggest Let’s Encrypt This is a free, automated SSL certificate authority. Many hosts and domain providers, such as Porkbun, allow you to set up a Let’s Encrypt SSL certificate for free with just a few clicks.

If you use a website builder (like Wix or Squarespace) or a platform like Shopify, they typically include SSL automatically.

Uf you self-host (run your own WordPress site, for example). You can obtain a free Let’s Encrypt certificate through your hosting control panel or a plugin.

Tip: After setting up your site, always test that https://yourdomain.com works. Most platforms will handle redirects from HTTP to HTTPS once SSL is enabled.

Choose a Platform to Build Your Website

Now that you have a domain and security choose how to build the site. There are two main paths: use an all-in-one website builder or self-host your site (often using WordPress). Both can be low-cost.

Option 1: Use a Website Builder (Fast & Beginner-Friendly)

Website builders let you create a site with no coding. They provide templates and drag-and-drop editors.

Some popular options include:

  • Wix: Offers a free plan where you can build a site using their subdomain (e.g., yourname.wixsite.com). You can drag and drop elements, choose from many templates, and get online quickly. The free plan has Wix ads. You can’t use your domain. Paid plans (starting around $10–$15/month) remove ads and let you connect a custom domain.

  • Squarespace: Known for beautiful design templates. It’s a paid platform (no permanent free tier, just a trial). Plans start around $16–$20/month, which includes hosting and the site builder. You get polished templates ideal for portfolios, blogs, or businesses. Squarespace is user-friendly and all-in-one (hosting, design, and security are included).

  • WordPress.com: (Not to be confused with self-hosted WordPress.org). WordPress.com is an online site builder that uses WordPress software. It has a free plan where your site is on a WordPress subdomain (like yourname.wordpress.com). It’s great for a basic blog or info site. You’d need a paid plan to use your domain or unlock more features.

  • Others: Weebly, Google Sites, and Site123 offer free basic website plans. For example, Google Sites is completely free with a Google account. Still, it’s very simple (good for basic info pages), and using a custom domain may require Google Workspace. Weebly has free and paid options similar to Wix.

Pros: The pros of website builders are that everything is taken care of, including hosting, design, and maintenance. You can start for free (with limitations) and upgrade if needed. They’re ideal if you want a website up today.

Cons: The free versions usually have limitations such as forced branding (like the Wix banner or a subdomain), limited storage, or feature caps. Paid plans can add up over time and might be less flexible than building your own site. You also are mostly confined to the features the platform provides.

Option 2: Self-Host with WordPress (More Control, Still Low Cost)

Self-hosting means you use a web hosting service to run your website. The most popular way to build a flexible, professional site on a budget is to self-host WordPress (the software from WordPress.org). WordPress is an open-source Content Management System that powers ~40% of all websites. It’s free to use. You pay for hosting and your domain.

i. Get a hosting plan

Many hosts offer shared hosting for $3–$10 per month. Examples include Hostgator, Bluehost, Hostinger, SiteGround, etc. Some even have introductory rates under $3 per month for the first year. Make sure the host supports easy WordPress installation (most do).

Note: There are even completely free hosting providers (like 000webhost and InfinityFree). These allow you to host a site at no cost, but they often have strict limits (on storage and traffic) and might be less reliable. For a serious project, basic paid hosting is usually worth it for better performance and support.

ii. Install WordPress

Most hosts have a “1-click Install” tool (Softaculous, Fantastico, etc.) in the control panel. With a few clicks, it sets up WordPress on your site. If not, you can install manually by uploading WordPress files and creating a database (but one-click installers save time).

iii. Point your domain to the host

After signing up for hosting, you’ll get nameservers or DNS settings. Go to your domain registrar (e.g., Porkbun) and update the domain’s DNS to those nameservers. This connects your domain to your hosting space. (It might take a few hours to propagate worldwide.)

iv. Design your site

Log into your new WordPress dashboard (you’ll set a username/password during install).

v. Choose a theme (there are thousands of free themes in the Appearance > Themes menu). You can pick a design that suits your style (business, blog, portfolio, etc.). Customize the theme with your logo, colors, and content.

vi. Add functionality with plugins

Need a contact form, SEO tools, or a photo gallery? There’s likely a free plugin for it. WordPress’s plugin library has thousands of plugins you can install in seconds. Popular ones include Contact Form 7 (for contact forms), Yoast SEO (for search engine optimization help), and Jetpack (for security and performance enhancements).

vii. SSL certificate

Many hosts offer free Let’s Encrypt SSL that you can enable for your site in the hosting dashboard. If not, you can use a plugin like Really Simple SSL to help set it up. This gives your WordPress site a secure HTTPS connection (very important for user trust).

Cost breakdown (approximate as of December 2024)

Domain $12/year + Basic hosting $5/month ($60/year) = about $72/year total.

For that price, you have a custom site with full control. This is one of the cheapest ways to get a professional presence online.

Pros of self-hosted WordPress

Maximum flexibility: You can install any theme or plugin, tweak the code if you’re familiar with it, and transfer your site to a different host if needed. You truly own your content. There’s a huge community, so you’ll find countless free resources, tutorials, and support forums to help you.

Cons of self-hosted WordPress

It requires a bit more hands-on work. You’re in charge of updates (WordPress now allows you to auto-update core, themes, and plugins, so make sure to enable this feature for security). You might need to troubleshoot problems occasionally (some PHP experience may be required).

It’s still user-friendly but not as foolproof as a managed builder like Wix. However, for most non-technical users, the WordPress admin panel is quite approachable, and hosts often help if you get stuck (maybe for a fee).

If you plan to sell products or services through your website (online store or accepting payments), here are low-cost ways to do it:

Use an E-Commerce Platform (All-in-One Store builder)

  • Shopify: A popular choice for selling online. Shopify provides a fully hosted online store with shopping cart, inventory management, and payment processing built-in. It’s not free, basic plans start around $29/month (recently around $39/month, but there is also a Starter plan of $5 for very basic selling via social/link). This is a higher cost than the above options, but it greatly simplifies e-commerce. If your primary goal is to establish an online store and you have a budget for it, Shopify enables you to create a polished store quickly, including a secure checkout, eliminating the need to handle technical details. It also offers templates and apps for customization.

  • WooCommerce (WordPress): If you go the self-hosted WordPress route, you can install the WooCommerce plugin (free) to turn your WordPress site into an online store. WooCommerce gives you product pages and a cart and integrates with payment gateways like PayPal and Stripe. The plugin is free and open-source; you might need some add-on plugins (many are free or one-time cost) for specific features. This way, your only costs remain your hosting and domain (no monthly fee to WooCommerce itself). It requires some setup, but wizards and tutorials are available to guide you.

  • Wix/Squarespace Stores: Wix and Squarespace offer e-commerce capabilities if you choose the appropriate plan. For example, Wix has business/eCommerce plans that allow you to add a store to your Wix site, and Squarespace has commerce plans. These typically cost more per month than the basic website plans (to cover transaction handling). They’re convenient if you have built your site on those platforms and want to add a simple store.

Payment Processors (to accept payments):

Even if you don’t use a dedicated e-commerce platform, you can still accept payments on a basic website using third-party payment processors.

  • PayPal: Easiest for beginners. You can create a PayPal “Buy Now” or “Donate” button from your PayPal account and embed the generated HTML code on your site. When users click it, they’ll be taken to PayPal’s site to complete the payment securely. PayPal takes a small fee per transaction (roughly 2.9% + $0.30 in the US, with no setup or monthly fees). Many people trust PayPal, and it’s quick to set up. Great for selling a few items or accepting simple payments.

  • Stripe: A developer-friendly payment gateway for credit/debit cards (and other payment methods). Stripe allows you to integrate a checkout form directly into your site for a seamless experience. There’s no monthly fee; they also take ~2.9% + 30¢ per transaction (similar to PayPal). To use Stripe without coding, you might use a plugin (if WooCommerce has Stripe integration on WordPress or use a form builder that supports Stripe). Stripe is a bit more involved than PayPal setup, but it gives a professional touch (the customer stays on your site during checkout).

  • Braintree: Braintree is another payment processor (owned by PayPal). It’s similar to Stripe, providing an API to accept cards, PayPal, and even Venmo. It’s powerful but usually requires a developer to implement or use a plugin. Like Stripe, no monthly fee, just transaction fees. If you’re not hiring a developer or building a custom application, Braintree might be beyond what you need but it’s good to know it exists as an option as you grow.

  • Others: Square (if you also do in-person sales, their online store/payment links can integrate with their card readers), Authorize.Net, Gumroad (for digital products), and more. These are additional tools you can explore depending on your specific needs.

Important: SSL is necessary (which I covered above) if you handle payments. However, note that if you use PayPal buttons, the transaction happens on PayPal’s secure site. For Stripe/Braintree, your site will handle card data via their scripts, so ensure your site is HTTPS. All major payment processors will require your site to be secure before you integrate their tools.

Wrap-Up: Launch and Iterate

Once you’ve chosen your method and set everything up, publish your site and test it. Visit your domain in a browser to see that it works. Click around your pages, and if you have forms or shop features, do a test submission or order (you can usually create test products or use sandbox modes for payment gateways to simulate a purchase). Remember, a website is always a work in progress.

Start simple! You can always improve the design or add new features over time. The key is that you can get online with minimal cost today.

Tight budget or no experience? Try a free plan on Wix or WordPress.com to get a feel for it, then consider upgrading or moving to self-hosted for more freedom.

Want full control and ownership? Self-host a WordPress site. It’s inexpensive and scalable as your project grows.

Starting an online store? Consider starting with WooCommerce on WordPress (low cost) or jumping to Shopify if you can invest a bit more for a smoother start.

Most importantly, just start building! With a domain and one of these platforms, you could have a basic website live in an afternoon. Good luck, and have fun putting your idea on the interwebs!