There is no perfect website, no one-way to design a web site.
Back in school we were asked to write a story, but 1st we had to build an outline of
our story so we had a road map to follow while we wrote our story. Home builders do the
same, with their architectural plans. Web site creation requires somewhat the same approach.
Plan, Design, Build, Publish
Planning can be nothing more than a pencil and 8½" x 11" scratch pad in portrait or landscape orientation. Just sketch out in pencil what goes where (picture here, words there, contact info etc). Perhaps as simple as a picture of your business or product at the top and several hundred words describing your business or product below the picture and your name, address, phone and email address at the bottom of the page. One simple catch all one page, what is called a brochure, web site. Or it can be as elaborate as you like with a colored background and more.
HTML: (Hyper Text Markup Language) 1st approach to web design used this technology. All text, easily written in any text editor. Used special words as tags and elements to tell the web browser where and how to display everything on the rendered page. ( ie picture here, this size, etc, text here, this font, that color, a size, etc., Put lines and/or boxes here or there, color the screen such and so, etc. Click on this word and show a different page, that looks like this or that (repeating your efforts on the second page with different pictures and text and such). )
You have a general plan, you then build the site in a text editor, following the rules of HTML with its words and syntax. When you think you're done, save/paste/publish the site to a place on your computer or the Internet where you can then point at it with your favorite browser and see what your work produced.
DHTML: (Dynamic Hyper Text Markup Language) above but with dynamic attributes.. hover over a link and something happens, etc.
CSS: (Cascading Style Sheets). This was an attempt by Microsoft to give the web designer tools to augment HTML with far better styling bells and whistles. One of the short comings of HTML is that everything you do is pretty much on one of two plans (the background and the foreground. CSS fixed that shortcoming with the ability to build web pages with an infinite number of layers with virtually no concern for two elements getting in each other's way. On those layers, each element could be placed exactly (to the pixel) where you wanted it to appear on the page. There are an almost infinite number of other design capabilities with CSS. Since CSS stresses the capability to design precisely what you want the page to look like, the visual end product, building the page in a text editor was no longer feasible. To do justice to using CSS one really needs a visual web design tool,
enter WYSIWYG = (pronounced - "woosiwig") =What you see is what you get!
There are a large number of commercial web design software products available out there to perform this task. These design products vary a great deal, from stand-alone software to virtual Internet design tools. Keeping in mind that a good, appealing web site these days has attractive graphics, visually stunning effects, attractive fonts, good content flow and more. So try to find a web site design product that is strong in all those areas. Notice that I did not use the word "intuitive". The job of building a really good web site can be complicated and thus requires some very sophisticated tools. They all come with a learning curve on how to use them. Since this site uses no CSS, this whole site was built using nothing more than a text editor and a stand-alone graphics software package.
PHP: Now, suppose you wanted to ask your web site user to register with you so you could enter their name in a drawing. Now you are getting in to are area where you need more sophisticate programming, with a web form, and a backend database to capture their information when they click the submit button. There are dozens of dynamic scripting languages available. PHP is just one of them that has evolved to come out on top as one of the most used, open source (means it is free to use) languages. It comes with a steep learning curve, but will allow you to do ANYTHING you want that requires programming. PHP and similar products solve the webmasters need to do calculations, parse text strings, manipulate dates, and an almost infinite number of other operations. This code is always embedded inside the web page. When a user requests a web page with PHP code in it, the server will send the page out after executing the embedded code. (Example: the users requested a page with a list of people living on "Elm Street". The web server loads the page, executes the search script, grabs all the appropriate records from a database, constructs the page according to the script and sends the page to the user (frequently in less than 3 milliseconds .. I give you just about any Google search.
MySQL: The afore mentioned backend database might be MySQL. Again there are many databases that you can use to capture and hold the users information, but MySQL has evolved to come out on top as one of the most used, open source (yeah, its also free) databases. One of MySQL's neat features, is that it can be configured to allow anyone in the world to build in to their web site, real time access over the Internet to your database.
Publishing your web site ..
Virtually all web site design software comes with a built in means to take the web site that you have built and save or publish it somewhere. The world uses just one technology to publish it to servers around the Internet.. FTP. FTP or File Transport Protocol, is a little software code, universally accepted as the standard for connecting 2 computers together and copying and deleting files remotely. There are dozens and dozens of stand-alone FTP software products and lots of other products where the FTP code in embedded for use.
What you need to know to make an FTP connection.
There are 30-50 FTP settings that may come into play, but in the over whelming number of instances, most of the settings are defaulted to a customarily standard leaving just 4-5 settings that are critical. So, here is the basic information your webmaster or someone would need to give you so that you can establish your connection to the remote computer.
- Site Address/URL: this the address of the remote FTP site (this could be an IP address such as 184.108.40.206 or it could be a web URL such as ftp.mydomainname.com
- Server Type: Typically this is FTP
- Anonymous/Publin Login (Yes or No)
- Username/Password: (if not anonymous)
- Passive Mode (PASV): (Yes or No)
Once your FTP connection is made to the remote computer, you can copy files to/from, delete files, and just about anything
you would do to files on another hard drive or folder on your own computer.
When you are done, you will most like want to "disconnect" from the remote computer.
Now.. all that having been said, there are a growing number of sites on the Internet that are in the business of hosting websites. As a marketing tool to get more people to host their websites with them, they provide free website development tools.. tools with lots of bells and whistles. You might be interested in just going that route instead of buying software and FTPing the site to a host someplace. Your choice.