Question: “I am interested in having a website built or doing it myself possibly (I have some experience with Dreamweaver), and would like to be able to make changes to it myself. I have been told that I need a CMS website (WordPress and Joomla were mentioned), but I am not quite clear on what this is, or the options. Do you create CMS websites, and can you tell me more about this?”
Answer: CMS (Content Management System) websites are created on the PHP platform traditionally. A dynamic scripting language is necessary for any templating system wherein a database is used to store/retrieve information. PHP is most common since it is used with Linux/Unix servers; the other likely option is ASP or ASPX (used on Microsoft servers), though you can find Java, Ruby, and ColdFusion CMS applications as well. The important thing to note that any database, templated website is not 100% secure. Databases can be compromised by what is known as “mySQl injection”; so anyone who does use a CMS needs to be sure to back up their database anytime major changes have been made. All CMS websites use a template/theme to render the pages dynamically, which means they are not stand-alone (static) pages but instead are created by assembling the template/theme parts and the database content to form the pages. Since the CMS pages are PHP or ASP, etc, they will need to have their names changed from a php (asp, etc) version to an html version. Joomla and WordPress both have an option for rewrite conversion, though in Joomla there are better commercial ones (sh404SEF). And another concern is version changes. With each upgrade (Joomla or WordPress) previous add-ons, and even templates, may not work properly since backwards compatibility is not always provided for.
Note that all CMS applications allow direct editing of the templated pages, which will consist of the header, footer, body section, and css files and some special page versions (such as contact or gallery). This editing is only for the template files though, not the content on the pages. In theory, if you can work with dreamweaver in code view you should be able to edit any page/section of Joomla or WordPress (just note that the code will contain both PHP amd html/xhtml). The way Joomla works is that a template will link to a database to allow for dynamic content inclusions. All “content” is stored in this database, but the layout template defines the structure of the pages, which is the header at top (navigation, logo, banner ads, etc), the body section (one or more columns), and the footer (copyright, additional links/navigation, etc). These are common layout elements so are used on every page. In this way a new page can be created quickly and easily.
In the administrative/authoring environment, with any CMS there will be a wyswyg editor (similar to what dreamweaver has in design view) and a code editor (where html versions of page content can be added/edited directly); note that while all CMS applictions provide a code editor, content edited in code view will not always render exactly as it should, and any content added will still be governed by the CSS stylesheets the template call to, though you can always edit and existing style or create your own styles and link to them by way of a class or ID.
As for the specific platforms:
Joomla CMS:
Joomla is one of the best CMS options since it is very flexible, has lots of templates, and a large development community so lots of testing and addons. Joomla is a bit confusing to use at first since an article is linked to a category, which in turn is linked to a section which requires a bit of thought since you need the content to be organized and easy to find (not so easy with large websites); though with the recent version of Joomla they have done away with sections, so it is a little simpler. The challenging part with Joomla is that to extend the functionality, and generally make the most of it, you need to add components, modules, and plugins. Modules are container objects, wherein you can add text or images to a column. In Joomla you would assign which pages the modular content would be displayed. Plugins are addons such as JCE EDitor (an advanced page editor), and components are those elements such as event calendars, directories, polls, media galleries, etc. As I touched upon, Joomla is an industry level CMS, and has an extensive development community, and as such there are more ready-made options, both free and commercial, for it than any other CMS option out there.
WordPress CMS:
Wordpress by nature is a Blog. This means that by default the homepage is the blog page, but it doesn’t have to be. WordPress allows you to create as many pages as you want, and you can link your home page to a “static” page, and then have the blog be a link, or not even visible if you don’t wish to provide blog posts. WordPress works similar to Joomla, though for most people it is easier to work with. To get started you would install the template that you’ve chosen (like Joomla it comes with a default template but there are better commerical options of course), and then you need to configure the settings. These include your page title, whether or not to allow comments on pages and posts, and more. Next you will need to define your category names for the pages, posts, and links. By default the category name is “untitled”, which won’t look good. And to extend the functionality (much like Joomla’s use of components, plugins, and modules) wordpress uses widgets. Widgets can be used to add a newsletter to a sidebar, or an event calendar, or a paypal buttons, etc. The important thing with wordpress is to note that the layout of the template will define what can or cannot be added; in most cases a wordpress template will allow you to place whichever widgets you want on the column, but these can only be set as visible or hidden for a given page, you can’t typically have unique widgets between pages. But…the new, better wordpress CMS templates do allow this. I note “CMS” here since these will provide custom templates for the home page, gallery pages, etc, instead of simply the default page or post option. In both Joomla and CMS, content is uploaded to a media manager. This is where you would upload images, pdf docs, word docs, etc. Once in editing view on a give page or post, you can link to a respective image or document by attaching it from the media manager. This is basically it, but you will want to ensure that certain plugins are also installed (SEO plugin for one to ensure that your pages can have unique page titles, descriptions, and keywords). Joomla by default allows for this so no plugin is needed.
Static XHTML Website:
The advantage of a Xhtml/CSS compliant website is the complete freedom with the layout. Both Joomla and WordPress use a template, which of course is necessary for a dynamic website. This means that you can’t easily change the visual look between pages. In most cases this is fine since you do want a consistent look/feel across pages, but you may, for example, want a column on the left on one page, and on the right on another…in Joomla and WordPress this would be very difficult to if the template does’t already provide for this (few do), the only way would be to create a seperate template page and then manually link to it. Just not effective. When considering which options is best, Static Xhtml, Joomla, or WordPress it really comes down to what’s most important….layout control (static xhtml), dynamic extendability (Joomla), dynamic and easy to use (WordPress). Note that both Joomla and WordPress allow for member levels, … the administrator has full control, but you can assign lesser user levels such as an editor, or a member. Membership is effective if you ever intend to provide “member only” content, and while WordPress does allow for this, Joomla is really better suited for providing member only access to a portion of a website.
As for the site itself, you need to research your competition. A lot of what I do for my clients is data mining, wherein I look at their top ranked competition and make notes about what they are doing right, … the visual look, navigation/pages, SEO tags, the types of services they are offering, and at times I will rewrite some of their content itself. The important things with any new business is to achieve a look that says “we’re established”. As a designer I provide not only the visual framework, but I also assist with the copy-writing, and image inclusions.
On my site, I provide a lot of information on my website with regard to what is needed to effectively build a new website. If you look at my “portfolio showcase” you will see good examples of Joomla, WordPress, and custom xhtml websites. I would also look over my “development” content, especially “layout content assessment” and “seo and submission”.
Finally, I know that starting a new site can be very challenging, but know that this is what I do, and I am very good at it. I would be pleased to assist you, and to be completely forthcoming, I don’t think that starting on your own is a viable option if you want to succeed. Most of my clients reach the first page of google in a couple of months which is absolutely necessary if you intend to make this new venture a success. And if needed, I can also provide you hosting, and domain name registration assistance.