Whenever I’m talking to someone interested in their first website and I tell them about paying a hosting company where the website will live, they’ll often ask
Why can’t I host my website on my own computer?
This is a great question. If you’re using a SaaS (Software as a Service) company (e.g. Medium, Blogger, Squarespace, Wix), you will not be able to host your own website. In these cases, your websites runs on a proprietary platform and is stored in a proprietary way.
However, if you are building your website with standard web technologies (e.g. a static site with HTML & CSS or a site built with open source tools like PHP, Python, Ruby) you can run your website on your own computer – however you probably don’t want to.
Problems with Running Your Website on Your Own Computer
Difficult for Others to Access
Making your website on your personal computer available to those on the internet includes some technical hurdles.
You’ll need to either have a static IP address or use a dynamic DNS service that constantly monitors your machine’s IP address and updates your domain name to point to it.
Making your computer accessible via the internet opens you to malicious traffic (and there is lots of malicious traffic out there).
Off Computer === Off Website
Your computer will always need to be on, for your website to be available. Even something like rebooting your computer will take your site offline.
ISP May Prohibit It
Your ISP (Internet Service Provider), the company through whom you get internet access, may prohibit it.
For example, Comcast specifically prohibits the following in their Acceptable Use Policy for XFINITY Internet
use or run dedicated, stand-alone equipment or servers from the Premises that provide network content or any other services to anyone outside of your Premises local area network (“Premises LAN”), also commonly referred to as public services or servers. Examples of prohibited equipment and servers include, but are not limited to, email, web hosting, file sharing, and proxy services and servers;
Why You Should Run Your Website on Your Own Computer
Assuming your website can be run on your computer, it is a great idea to run a copy of your website on your computer for you to work on. This is called local development and it allows you to modify your (local) website with reckless abandon, which is great for learning and testing out new changes.
Using a Hosting Company
Since I’m not hosting any of my websites on my local computer, I need to host them somewhere. There are lots of hosting companies available. Personally, I do most of my hosting at Siteground.