Recently I read a couple of blog posts that set me thinking in some interesting directions. Like most of the things I find on LinkedIn, they were mostly a little annoying, with a few good points. For example, Why You Should Decisively Reject Using Wix gives a lot of good reasons not to use Wix, which is a free website builder and host that lets you throw together a website in half an hour by simply picking a template and dragging and dropping things into it. What's not to like, right? Well,...

  1. You don't own it. It's on their site. It has their ads on it. Say what you like about ad-supported websites, it isn't your website they're supporting.. It's free, so you're the product, not the customer.
  2. But wait! You can pay them to take the ads off! But it's not cheap: plans go from $4-$24 per month. For that you can get a plan from, say, Hawkhost.com, that will give you full control over your site and its content, and a choice of hundreds of different content management systems that you can switch between any time you want.
  3. You don't have many choices in how your site looks. Sure they have 500 site templates. But once you pick one, you're stuck with it. And they have millions of users. Your site is going to look like at least a couple of thousand others.

The site that post is on, CMS2CMS, is in the business of helping you migrate a website from one Content Management System -- CMS -- to another. They'll help you get off of Wix, for example, and onto Wordpress or Joomla or... Interesting thing is, they won't just give you plain old HTML and build your site from scratch. They'll happily get you off of a plain HTML site and onto a CMS. They have this to say about HTML:

To create a static website may not cost you a thing but to maintain such site can be very expensive. You will have to hire programmers each time you want to perform some changes to your web project.

It is possible to develop and add any kind of functionality to your website. It is a well-known fact that you have stricter control over the file structure, design, and SEO. Although it is possible to customise your web project to fit your needs, there is the necessity to have deep coding knowledge. But even then there is the risk to make a mistake and to damage the code.

A static site is lighter than a website built on CMS and this makes it faster. Various plugins or extensions are not available for a static HTML site. In case you want some, then you will have to code every piece of functionality.

If the website is not very big, it is easier to make some changes, modifications and to customise it according to your needs. It is possible to design each page of HTML site in a different way with the available templates. But it will be your job to code in and around the template for each page.

Rubbish.

Let's look at their main points:

You will have to hire programmers each time you want to perform some changes to your web project. Huh? With HTML your content is just text. Nobody programs a web server from the ground up these days. (I've done it -- it's fun.) On a shared-hosting site like HawkHost, it's already there. All you have to do is tell them your site's name.

Your site is just text. HTML and CSS stand for HyperText Markup Language and Cascading Style Sheets, respectively. They are not programming languages, they're markup. HTML tags say what parts of a page mean -- a headline, a paragraph, a link, an emphasized word, and so on. You can print the basic cheat-sheet on a bookmark. There are some more specialized tags, like the ones for images, tables, and audio players. But they're all simple.

[I]t will be your job to code in and around the template for each page. No, if you're writing in HTML, the "code" is already there. CSS is a description of what each part is supposed to look like: a headline in bold sans-serif, a paragraph in Times Roman, a link red when before you click on it and blue afterwards, emphasized text in italics or boldface. You can print that cheat-sheet on the other side of the bookmark.

Yes, there's more advanced CSS, too, and you can do strange and wonderful things with it. (Take a look at the CSS Zen Garden, for example.) You can get one of thousands of the available CSS stylesheets, tweak it with your favorite fonts and layouts, and add it to your site. Complicated multi-column layouts that change to look great on everything from a phone to a wide screen? Easy -- go to Pure CSS, add one line to your basic page template and a few words to some of your tags, and you've got it.

You don't even have to write HTML or CSS if you don't want to -- you can write plain text in any of a variety of markup languages -- Markdown is the most popular at the moment -- and have it translated automatically to HTML. There are also dozens of static site generators that do it for you.

Various plugins or extensions are not available for a static HTML site. In case you want some, then you will have to code every piece of functionality. As a matter of fact, people have already done that coding, and it's available for free in nearly infinite variety on sites like GitHub. And see "static site generators" above. They all have plugins and themes, and templates. Change one template, re-build your site with one command, and deploy it.

You may be wondering where Javascript fits in. That is a programming language, but it runs on the reader's browser. There are thousands of available libraries and pre-built Javascript applications -- plugins, effectively -- that you can add to your site to liven it up with animation and other special effects. About the only thing that you can't do with a completely static site is add interactive features like comments and user logins, and there are ways around that.

But the best thing about static sites is the way you work on them, because you do that on your own computer. Almost every CMS keeps your site content in a database on the server, and I have another whole rant about that. A static site lives on your laptop; you can work on it without having to have an internet connection, and deploy it only when you have one and you're happy with the way it looks.

Not only can you use your favorite text editor (and there are some awesome ones out there -- take a look at Atom for example), but because you have a complete copy of your site on your computer and on your web host, they effectively back each other up. And because you can use git for version control, you not only have backups but a complete history of every change you make to your site.

The next few posts in this series (did I mention that this is a series?) will go into how to write HTML in more detail, including the tiny bit of CSS magic that lets you embed poetry in any page including a DW post, and teach you the basics of git.