| « Preventing server caching for .swf files | A Generative Starfield » |
I'm writing this for the benefit of a couple of friends that have asked me about websites lately (and who have also been given unnessesarily bloated quotes for simple site builds). While googling for a link for them that might explain things a little better for the uninitiated, I found lots of sales sites but little actual info. I'm publishing this in case it's useful for others.
This is really a very basic guide to getting a site up and running and not meant to be an in-depth technical guide. Most people, at the end of the day, just want their stuff up on the web, looking professional and nice and easy to use. In the article below, I've outlined the basics of what you need and what you should be asking of your developers. I hope you find it useful.
Follow up:
What you actually need
A domain name
A hosting server
Content
Site code
Optional applications
A domain name
This is the address of your website (www.mysite.com). You buy them from domain registrars. There are a lot of them about and they all pretty much cost the same. It's very unlikely that you'll need to have any contact with them, apart from when you're renewing the name (you basically lease the domain name for a fixed period - normally 2 years - from a central registry - all these companies just act as brokers). I do recommend a stable company though cause a lot of them have gone down in fallow periods and taken people's sites with them. It's often easiest, if you're starting from scratch, to buy your domain name from the same company that you're buying hosting through. A domain name should never cost you more than
about £20 for a .com and £10 for .co.uk for a 2-year period. This is often one of the "hidden charges" that unscrupulous agencies will levy.
Hosting servers
This is basically a computer, attached to the internet, that serves your files. There are a massive variety of configurations for these things with a lot of technical information and there's nothing worse than paying your money and then finding out that it won't do what you need it to. Most of the time, you'll be buying "virtual" hosting space - this is a partition of a bigger server that you share with lots of other people. Other hosting packages are aimed at small or large businesses that require particular technologies to drive their applications. Generally, all you'll be doing is serving up pages and assets. That said, it's worth having a bit of functional stuff on there, particularly PHP and at least one MySQL database, so that you can install open source applications (like, for instance, a blogging engine or forum software). If you need anything specific, most hosts will install it for you, but this may come at a price. If you have very particular requirements for your site or wish to run a specific bit of software, then it's important that your host meets the spec so make sure you ask!
A good guide spec would be:
LAMP based server (this stands for Linux, Apache, MySql, PHP which are the most commonly used opensource web technologies)
1Gb drive space (most websites will actually come in quite small, but it's good to know you've got the space if you need it, especially if you're hosting video, audio or large images)
at least 10Gb/month bandwidth - This is the amount of file transfer you get per month - it's worth asking the host what happens if you go over that limit (i.e. if you get a sudden spike in traffic) - make sure that they won't take your site offline - this is unforgivable. Most will simply charge you a little extra.
Support - find out what the support arrangements are, where they're based and what the turnaround time is.
Analytics - most hosts offer basic analytics based on server logs. I suggest, however, that you ask your web-builder to include Google Analytics code as it's free and really easy to use.
I use Web Mania for all of my sites. They're cheap (£25/year), fully featured and reliable. There are most hosting companies than you can shake a stick at - check out dotnet magazine for loads of adverts for them - but this shouldn't cost you the earth. Lots of web agencies will host files for you - they generally have their own reseller accounts with these same companies, and are simply marking up their product to you. Whilst this can have some advantages, it also ties you into a relationship with that agency, and, personally, I would recommend sourcing and ordering your hosting and domain name yourself - that way, if you ever want changes, you're not reliant on that company (and what they want to charge). I have been really shocked at some people that have been asked to pay huge fees for really simple text changes to their sites, and have no option to do so because the agency hold all the code, domain and server details! Believe me, this even happens in the corporate world. You should always make sure that, whoever builds your site, they deliver the source code and all login details to any services that you use. This is what you pay for, not just the website, and they can make life very difficult for you if you want to go elsewhere in the future.
Content
It's a really, really good idea to have a proper think about the content that you actually need on your site before you take it to the designer. Changes are hard, and sometimes expensive, to implement later on, and web developers can be difficult when unnecessary changes are asked for, especially far down the line of development. The better idea you have of what you want, the stronger your site will be, the quicker it will be to build and the happier everybody will be. The vast majority of sites that I have built could have been done in half the time, given a proper idea of what was being published. Avoid bells and whistles, at least initially. Websites are about communication, and anything that gets in the way of the message should be avoided. That said, good use of rich media (including flash) can massively enhance the message. Always think about what the user needs to gain from your site, not about what you want to show the user. I suggest doing some solid research on what else is out there in your area, and then writing a map of how you expect the site to look and be organised. The more compact the site, generally, the better. Your dev can advise you on how technologies can help in the organisation of your data.
Your site
Web technology has massively changed in the last few years. Sadly, many people calling themselves web designers have not stayed up with the changes. Whilst this may, or may not, be of concern to you, it's quite important that your site is built properly. Compliance with web coding standards, accessibility standards for disabled users and search engine optimisation should all be part of the basic infrastructure of your site build. These things are not added extras - they are a fundemental part of good practice. The core technologies of websites are XHTML and CSS. The former is basically tagging that describes what each bit of content is, and the latter is code that defines how it should be displayed. I won't go into a long description about the other technologies - but common things are PHP - code which enables dynamic functionality on the page (like populating a site from a database) and Flash - which is used for rich media, particularly audio and video. Any good dev should be able to tell you exactly what you need.
Maintaining your site
For many people this will be the biggy. Unless you're going to learn how to code (and you can actually maintain your own site with only a little bit of XHTML knowledge and common sense), or use a decent site build tool like Dreamweaver (which used to be crap but is actually very good now, if a little pricey), then you are going to need to find a way of maintaining your site.
The most common method is having a Service Level Agreement (SLA) in place with the dev/agency that has built your site. This commonly involves a retainer and an agreement to make changes on request, with a particular agreed turnaround time. If your site is being built without this in place (and especially if it's being done as a favour by a web-savvy mate), then be wary that they'll expect to just deliver a finished site, and not be making changes every week as you decide.
If you are going to need the site to change often, then you will need some form of content management system (CMS). These come in all shapes and sizes, from off the shelf, open source systems, to massive, expensive enterprise level systems. Many devs can also build bespoke systems just for your site, but this is not a trivial piece of work and will end being expensive.
One thing that I favour for many sites, is in using a blogging engine as a lite CMS. This site is being driven by one right now in fact. It's possible to skin up a blogging engine to not look "bloggy" and you get the benefits of all the CMS technology that drives it. This makes it easy for you to edit your pages, publish new pages and maintain the site yourself. Another quite cool thing to do is to use 3rd party sites with APIs to drive the content in your site (i.e. use Flickr to host all your photos for a portfolio site, and then get the devs to write a script that will populate the site with them). Youtube and Vimeo also provide APIs for videos - plus they get to take the bandwidth hit, and not your server!
Testing and the final launch
It's a good idea to test the site on lots of computers and browsers. Most web technologies are interpreted languages and will render differently on different machines. There are quirks to all browsers, even new ones, that the dev may have to code around. Just because it looks fine on their screen, doesn't mean it does everywhere. Generally speaking, most people still use IE on PCs, but that's no reason to forget about other devices and platforms - every user should be treated equally. When the site is ready to publish, then it will be transferred to the hosting server using File Transfer Protocol (FTP), when it will then be live on the internet!
This has really just been an overview of the majority of small scale web builds. There are many variables, lots of technical details and other ways of achieving a successful website launch. The important thing is to ask lots of questions of your developers or agency and make sure that you're not being taken for a ride. It's really, really not that difficult to make many websites :o)
Feedback awaiting moderation
This post has 1 feedback awaiting moderation...