Webmaster 101

So let's say you have finished creating your new website are ready to put it online. What else should you know?

Backup
Backups are not only important for your PC. You need them:
 * in case you somehow destroyed your website because of an update, or simply by clicking on the wrong button
 * in case your server stops working at some point
 * in case your website gets hacked

Thus, for websites, backups additionally have the following requirements:
 * it should be automatic. Depending on how often you change your site, make weekly or daily backups of your database (that's where all your texts are stored) and monthly of all your files (including template, images etc.)
 * it should be stored outside of the server the website is running on. Send it via email to a dedicated email-adress, upload it to a dropbox, whatever ... But be aware that the data contains the user passwords, so don't leave it publicly available.

There are many backup solutions available. I have had good experience with Akeeba but it also depends on which CMS you are using etc. (If you buy Akeeba Solo, you can use it with any CMS.)

And then of course:
 * Test it. A backup that cannot be restored because something is missing or because you cannot remember which configuration is missing is - useless.
 * Check once in a while if the backups are still done. Sometimes something changes and then the backups silently fail, but as the process is automatic nobody realizes it until the backups would have been needed.

Updates
If you decided to use a CMS, you definitly need to install updates once in a while. Sometimes they are so urgent that if you do not install them within days, you can be almost certain that someone hacked your site. To avoid this, subscribe the security announcement newsletter/blog of the software you used OR find a techie who keeps himself updated anyway.

Really, doing updates can be crucial. See Why Updates are So Important: About Cars And Bombs.

Hosting
Every website needs a computer on which it can live. Preferably, this computer should connected to the internet :-) That's why they are called servers, they serve us even when we are asleep.

Shared Hosting
The cheapest option is to go to big hosting companies and book a "shared hosting" account, you will normally need PHP&MySQL and maybe Email Accounts. This is cheap because you are sharing a PC with up to 100 other websites/clients. For small websites, this works well. If you have many visitors (> 1000 a day) then start looking into the more expensive shared hosting packages, because the PCs will be more powerful and you will share your habitat with less clients simultaneously.

Dedicated Server
For those of you that are System Admins you will say: we can set up a server ourselves?! Yes you can, and yes, you will have more control and flexibility, but also a lot more responsibility. Security updates and hacks are moving fast. And a tiny misconfiguration can make a lot of your security measures useless.

Also, you have to calculate the costs. Energy consumption, spare hardware and a decent Internet bandwidth cost. So you should evaluate renting a server or "VPS" (virtual private server - basically several "servers" in VMs so that they run on one physical machine). And woo to you if your Internet connection goes down! Who will catch the emails that are sent to you during the downtime? (Of course, zero downtime is impossible for hosting companies also, but they are much better in this, redundancy and all.)

Website Analytics
Integrate Piwik or Google Analytics to get statistics about how much and what your users actually use.

Why should I use it?
Your goal is to get to know your audience. Now be careful, these tools will give you a lot of numbers and maybe not as much real information - because you have to figure out: what do these figures mean? why this, why that? what can I learn and improve?

Questions you should ask when reading the statistics:
 * What is my audience interested in? Particularly revealing for this is are search queries. Top 10 sites may also tell you, but it's not only about how often they are viewed, but also how long they were read/open etc.
 * Do the user find what they are looking for? You can pick out some user histories and try to find their story. You'll learn more, though, when you can actually look over their shoulder while they use your site ...

Questions you should NOT ask when reading the statistics:
 * Are we successful? This is a difficult question. Jesus didn't count the number of people he impacted, on the contrary, the number decreased at the end of his ministry when he focused on the twelve disciples. Of course the success of a marketing campaign is measured in reactions, and good promotion will probably also increase your figures. BUT: This is not who you "are", your identity. Also see Measuring Job Performance.

Google Analytics or Piwik?

 * Use Google Analytics if ...
 * you don't want to install&update Piwik on your server
 * you use (or plan to use) Google Adwords to generate more traffic for your site
 * Use Piwik if ...
 * you don't want to send your statistics to an american enterprise, but keep the data on your server
 * visiting your website might be sensitive information itself (i.e. what happens if somebody is coming from a closed country?)
 * In both cases, you should enable anonymizing the IP address, so that the data cannot be attribute to any one person.

Google Webmaster Toolkit
Confirm your ownership at Google Webmaster Toolkit: Here you can send your website to the Google index immediately, have an overview of dead links that Google discovered, and get an email alert in case Google (and probably anybody else as well) can't access your website. You can also see which keywords you're highly ranked on etc.

SEO Basics

 * Avoid duplicate content. Do not repeat yourself excessively on different pages of the website.
 * Define good, unique titles. This will help the user decide if the webpage is likely to be of interest to him.
 * (to be continued...)

Monitoring
You can use uptimerobot.com or similar service to get notified immediately if your site goes down. Tipp: Instead of only doing a ping check, look for a keyword that you definitely know will be in the source code. In that way, you will also be notified if a website is shown, but a wrong one (e.g. an error page or so).

Coding
It's great if you can adapt and change your site yourself. Here are some resources that can help you learning:


 * Version Control Systems (VCS) are keeping all versions of the files (-> Time Machine on Mac). The most popular are SVN and Git. You can use them on your desktop pc, or on a server to collaborate with others.
 * Git game


 * Web Security - Whenever you write JS or PHP, you might introduce security wholes. Don't be discouraged that you never will know everything, most web attacks are not very sophisticated. In order to understand how they work, here are some game environments where you can try to hack yourself:
 * Google Gruyere – A tutorial and test server for hacking Web Applications
 * Untrusted – Javascript Coding Game.
 * xss challenges – Inject JS in HTML.