I have had an idea for a website and I would like to pursue it, if nothing else as practice for any future projects. I have read around the process of what I need to do, but I still have some questions that I haven't found satisfactory answers for. I was hoping somebody could give me a quick run down of everything I need to consider, or else point me in the direction of a good resource. For example, if I want to write my own html and so on do I have to keep security in mind, or is that the job of my web host? Is it feasible for me to build a serious website myself, or am I going to need expert help? What kinds of hidden costs might I encounter? My budget is (very) tight and so I am looking to go quite cheap at first, maybe up to about $20 a month.
It depends on the level of your website. Are you creating a traditional hand-edited website, a website with 'extras' such as the ability to manage news and pages via a CMS, or some kind of totally bespoke application?
For the first, security is not a concern for you. For the second, making sure the CMS you choose to use (in most cases WordPress) is up to date is important but apart from that you don't have much to worry about. In the third case, the security is pretty much completely on you — if you develop the next Facebook, you need to make sure it's watertight.
In all three cases, unless your traffic booms you should be fine with virtually any hosting plan. If you pay a bit more (i.e. $20 rather than $5) you can probably expect better performance if you choose your host wisely, which is what I personally prioritise over big numbers for disk space and bandwidth.
This all depends on whether you are a programmer or have programming experience.
Now whether you are a programmer or not I would recommend wordpress as a starting point. It has a huge community and lots of free extensions, its fast to get running - no experience lets say a day to get a basic site up.
But to answer your question more fully.
The average website has in this day and age four main pieces.
1) the html and css that you can see on the front end
3) the bit you don't see - the backend that constructs the pages and serves the data to the user - normally php.
4) the database - usually mysql.
The basic process - at least for me is to work out what data I am going to serve and build a database - usually mysql.
Then I write the first half of the php to access this data and make it available in a form I can put into some html.
After I have some data to serve I write the other half of the php that will wrap up this data in html. You can sort of think of php as a programming language that merges html with data from a database and sends it to a client.
At this point I have a page that is pretty boring. Just headings and blocks of text, lists and tables - no colour - no style - no interaction, just an absolute minimum page.
Finally after I have a site with the data doing what I want - but still with no style I turn to the css and start adding color, fonts, layout and design.
If programming was furniture making, this last phase would be the upholstery and paint.
Needless to say this is a lot of work.
If you use wordpress then all the database, php and most of the style is done for you and its pretty easy to customize the rest to give it a unique look and feel. Easy being a relative term here.
Domain name $15 per year
Basic site - Wordpress = free.
Custom wordpess templates perhaps $50 (they look better than the free ones)
Web hosting - shared - budget $10 to $20 pm will get you good hosting - your first year may be cheaper but always look at the renewal cost.
SSL and Dedicated IP if you need secure credit card transactions could add another $100 per year.
thats a bit of both - the hosting company secures things as best it can, but you need to ensure that your application is secure. Easy way of looking at it is that if you installed it - and that includes one click installs from the hosting company it is your responsibility. The hosting company will secure the server, operating system and network.
Website security is a whole ball game on its own - Google is your friend here. "How to secure a web site"
Last edited by Cryptonomicon; 01-11-2014 at 12:06 PM.
Reason: added more detail
Thanks so much for all the feedback, these have really helped.
I have a fair amount of experience programming. Though not so much in the languages I will need, I'm confident I could pick them up quite quickly and use them - unless there are lots of subtleties to making the code secure and so on.
One final question about wordpress: I have read some articles which recommended against it - I can't remember why but it was something to do with having limited ownership of your own site. Perhaps I am misremembering?
Once again, thanks for all of the responses, I wasn't expecting such good help!