Thursday, July 16, 2009
By Tyme
Let's face it, web developers, web content management systems (CMS) are here to stay. Not to worry, there remains room for designers and coders in the world of CMS.
For the sake of brevity, this article will focus on the free (i.e., open source, GPL, GNU licenses) software -- Drupal, Joomla, Wordpress are three of the more popular of the bunch. After all, the open source are the most fun and challenging for developers, as you can show off your mad programming skills by contributing your own, or contributing to, custom plugins referred to by the various applications as modules, components, extensions, plugins.
As with any Web project, it is important to first identify the intent of the Web site and the client's needs. If your non-techy client is interested in generating and publishing their own content, you are on the right track with a CMS. So, onward.
Are they interested in creating a simple blog, a factory of client-managed multimedia content, or a community site (social networking)? Don't forget the oft overlooked use, intranet. CMS makes a great intranet!
What is a CMS?
Wikipedia describes it thusly: "A 'web content management' (WCM) system is a CMS designed to simplify the publication of Web content to Web sites, in particular allowing content creators to submit content without requiring technical knowledge of HTML or the uploading of files."
From a developer's standpoint, a CMS is digital Lego's. A foundation ("core" code) and predefined building elements that you can manipulate to your heart's desire without even getting your coding hands dirty...unless of course you want to. Because it is "modular", you can easily expand the scope and functionality of a site through plugins (a/k/a "modules", "components", "extensions", "plugins").
Why Use a CMS?
Well, let's just say, not because of coder laziness, although there is that. As a site builder, you need nothing more than great CSS chops, and a solid understanding of best practices. No need to script from scratch; but, if you are a PHP coder, the CMS world is your oyster. (Sorry ASP programmers, there's not much to see here, except DotNetNuke.)
Key reasons to use a CMS include:
On this note, there certainly are developers profiting from these contributor modules. Some sell their module code directly, while others are sponsored by a company to build a custom module, which then often is made available to the community. The same is true for CMS templates or themes. So, you need not think of developing for CMS a waste of time.
NOTE: In the CMS world, the term developer tends to mean module programmer, whereas a site builder is referred to as a designer or themer.
How to Choose From Among Content Management Systems
The decision of which CMS to use will be dictated, in large part, by the intent of the Web site. While there are many free content management systems (see Wikipedia's quick glance table: http://en.wikipedia.org/ wiki/List_of_content_management_systems), the following is meant to serve as example of the kinds of features and differences among a few--things to consider when researching a CMS.
Drupal
Drupal, for example, has been widely used for community or social networking sites where visitor interactivity is encouraged; it lends itself well to this format through a flexible commenting feature. It also is a great, flexible tool for Internet or intranet portals. Another standout feature of core Drupal is its finite permissions control for each user role, and for each module. You can create your own roles, as well.
With an active developer community and a plethora of free contributor modules, you should find plenty of tools from which to choose. And, if you don't find a module to do precisely what you need, two modules--Content Construction Kit (CCK) and Views--make Drupal highly customizable, allowing you to push/pull and manipulate data in a myriad of ways. All without having to access any programming code.
The Whitehouse recently rolled out a Drupal site, http://www.recovery.gov/, and the French Government also said oui oui to Drupal with their http://www.gouvernement .fr/. To prove that a CMS site does not have to be boring and templatey-looking, check out a few top-notch sites featured here: http://sixrevisions.com/web_design/31-drupal-content- management-system-cms/.
Among other uses, the author uses Drupal as a (private) client job ticket center, through the delightful JobTrack contributed module.

Joomla
Joomla claims to have the largest availability of plugins (referred to as components, extensions, mambots, themes), many of which are fee based. Some modules are obtained by fee per plugin, others through subscription to all the developer's offerings. You will likely have no trouble finding what you need.
While flexible access control is not part of the core architecture of Joomla (as it is with Drupal), several standard user roles are available: Register, Author, Publisher, Administrator, Super-Administrator. If you want to establish more user rights control, you will need to purchase a module to do so.
When it comes to creating content, Joomla offers several customization options for each content item. Assign your roles carefully--you could easily overwhelm your non-techy client users with the many choices.
WordPress
WordPress has often been the go-to tool for bloggers, as is hinted by its name. However, WordPress is constantly evolving to offer more and more flexibility and extensibility, in order to compete with other CMS forerunners.
WordPress is often available for installation through Web hosting control panels, and novices find it easy to install and use.
The Vancouver Convention Centre site (http://www .vancouverconventioncentre.com/) is a beautiful example of a WordPress built site.
Which is Best?
Asking Web designers/developers which CMS is best is a bit like starting the Mac vs. PC debate. Sure, each has advantages and disadvantages, but it tends to come down purely to preference.
CMS Site Building Tips
0
comments
Let's face it, web developers, web content management systems (CMS) are here to stay. Not to worry, there remains room for designers and coders in the world of CMS.
For the sake of brevity, this article will focus on the free (i.e., open source, GPL, GNU licenses) software -- Drupal, Joomla, Wordpress are three of the more popular of the bunch. After all, the open source are the most fun and challenging for developers, as you can show off your mad programming skills by contributing your own, or contributing to, custom plugins referred to by the various applications as modules, components, extensions, plugins.
As with any Web project, it is important to first identify the intent of the Web site and the client's needs. If your non-techy client is interested in generating and publishing their own content, you are on the right track with a CMS. So, onward.
Are they interested in creating a simple blog, a factory of client-managed multimedia content, or a community site (social networking)? Don't forget the oft overlooked use, intranet. CMS makes a great intranet!
What is a CMS?
Wikipedia describes it thusly: "A 'web content management' (WCM) system is a CMS designed to simplify the publication of Web content to Web sites, in particular allowing content creators to submit content without requiring technical knowledge of HTML or the uploading of files."
From a developer's standpoint, a CMS is digital Lego's. A foundation ("core" code) and predefined building elements that you can manipulate to your heart's desire without even getting your coding hands dirty...unless of course you want to. Because it is "modular", you can easily expand the scope and functionality of a site through plugins (a/k/a "modules", "components", "extensions", "plugins").
Why Use a CMS?
Well, let's just say, not because of coder laziness, although there is that. As a site builder, you need nothing more than great CSS chops, and a solid understanding of best practices. No need to script from scratch; but, if you are a PHP coder, the CMS world is your oyster. (Sorry ASP programmers, there's not much to see here, except DotNetNuke.)
Key reasons to use a CMS include:
- Client wants control over content creation and publishing, including uploading of images and files, and a WYSIWYG interface.
- Client wants public and private (registered user) sections of a Web site.
- Client wants visitors to be able to interact with the content.
- Client wants rotating, blog style content display - for example, front page article summaries with 'read more' links.
- You, or client manager, want integrated Web administration control of site.
On this note, there certainly are developers profiting from these contributor modules. Some sell their module code directly, while others are sponsored by a company to build a custom module, which then often is made available to the community. The same is true for CMS templates or themes. So, you need not think of developing for CMS a waste of time.
NOTE: In the CMS world, the term developer tends to mean module programmer, whereas a site builder is referred to as a designer or themer.
How to Choose From Among Content Management Systems
The decision of which CMS to use will be dictated, in large part, by the intent of the Web site. While there are many free content management systems (see Wikipedia's quick glance table: http://en.wikipedia.org/ wiki/List_of_content_management_systems), the following is meant to serve as example of the kinds of features and differences among a few--things to consider when researching a CMS.
Drupal
Drupal, for example, has been widely used for community or social networking sites where visitor interactivity is encouraged; it lends itself well to this format through a flexible commenting feature. It also is a great, flexible tool for Internet or intranet portals. Another standout feature of core Drupal is its finite permissions control for each user role, and for each module. You can create your own roles, as well.
With an active developer community and a plethora of free contributor modules, you should find plenty of tools from which to choose. And, if you don't find a module to do precisely what you need, two modules--Content Construction Kit (CCK) and Views--make Drupal highly customizable, allowing you to push/pull and manipulate data in a myriad of ways. All without having to access any programming code.
The Whitehouse recently rolled out a Drupal site, http://www.recovery.gov/, and the French Government also said oui oui to Drupal with their http://www.gouvernement .fr/. To prove that a CMS site does not have to be boring and templatey-looking, check out a few top-notch sites featured here: http://sixrevisions.com/web_design/31-drupal-content- management-system-cms/.
Among other uses, the author uses Drupal as a (private) client job ticket center, through the delightful JobTrack contributed module.

Joomla
Joomla claims to have the largest availability of plugins (referred to as components, extensions, mambots, themes), many of which are fee based. Some modules are obtained by fee per plugin, others through subscription to all the developer's offerings. You will likely have no trouble finding what you need.
While flexible access control is not part of the core architecture of Joomla (as it is with Drupal), several standard user roles are available: Register, Author, Publisher, Administrator, Super-Administrator. If you want to establish more user rights control, you will need to purchase a module to do so.
When it comes to creating content, Joomla offers several customization options for each content item. Assign your roles carefully--you could easily overwhelm your non-techy client users with the many choices.
WordPress
WordPress has often been the go-to tool for bloggers, as is hinted by its name. However, WordPress is constantly evolving to offer more and more flexibility and extensibility, in order to compete with other CMS forerunners.
WordPress is often available for installation through Web hosting control panels, and novices find it easy to install and use.
The Vancouver Convention Centre site (http://www .vancouverconventioncentre.com/) is a beautiful example of a WordPress built site.
Which is Best?
Asking Web designers/developers which CMS is best is a bit like starting the Mac vs. PC debate. Sure, each has advantages and disadvantages, but it tends to come down purely to preference.
CMS Site Building Tips
- Always create and maintain a development site! You don't want to install new plugins, upgrade core or contributed modules, or experiment on the live site first.
- Do not hack core code, if at all possible. Content management systems are designed to be customized without having to access the programming code. If you modify the core code, or contributed module code, you will need to redo those modifications each time you upgrade to the software with the many builds that will follow.
- If you are an experienced Web designer/developer intending to create a custom site, consider starting with a no-frills theme. These tend to be created by developers who value compliant code over pretty graphics (which you will apply yourself). Select the theme based on the basic layout (2-column, 3-column, tableless, XHTML compliant). A nice feature with CMS is that you can add multiple themes and simply turn them on or off to try out another theme.
- Establish user roles thoughtfully. Give users only as much access control (/permissions) as is necessary. Not only is this prudent for site integrity, but you do not want to overwhelm your content creators with more options than they need.
- Remember, WYSIWYGs are evil (but clients require them). Good luck with that.
- Have Firebug locked and loaded before you begin. The content management systems use many layers of CSS files. (For more on Firebug, see "Firefox and Firebug: A Developer's Swiss Army Knife": http://www.htmlgoodies.com/beyond/ webmaster/toolbox/article.php/3801831.)
- Many content management systems, although typically written in PHP, will run on an equipped Windows server, but some functionality (e.g., search engine friendly URLs) will be lost.
- Use of a CMS requires some extra search engine optimization (SEO) care. Use search engine friendly URLs, and be sure to use a well-defined robots.txt file and sitemap.
- With a CMS, all content and operational instructions are written to a database, and your style mods will be contained in your custom CSS theme files. So, perform regular SQL dumps and backups of those CSS files. If you haven't hacked any programming files, backups (and restores) will be quick and painless.
- Don't leave your clients hanging! Even though a CMS is designed to make them more independent, clients typically need guidance and implementation for expanded functionality, as their needs evolve.
Labels: CMS, Content Management System
Wednesday, July 15, 2009
By Daryl Quenet
One of the three major pillars of Search Engine Optimization is a website's content, and onsite content optimization. All of the major search engine ranking algorithms have components that relate to the content that is contained on the website. Typically these components relate to Keyword Densities, number of words, content location, and sometimes age of content. In regards to the code that the content is contained in that falls under the topic of structure and not content, and will not be discussed in this article.
Asynchronous JavaScript and XML (AJAX) is an advanced web development method which can be used to create more responsive and interactive dynamic websites. AJAX accomplishes this by making object request calls back to the web server without having to refresh your browser, these object calls are then processed and are typically used to update the content of the page on your website that is currently being viewed. For the sake of this Article I'm going to ignore the XML component of AJAX as the search engines never view any of the XML data. Websites that use Javascript to manipulate content without using AJAX will also suffer from the issues described.
When a search engine sends out a robot / spider to visit your website with the goal of indexing your content it is only looking at what is being presented in the Markup Language. Generally a search engine does not behave like a user when indexing your website, it doesn't click buttons or links it simply makes note of URLs associated with each page then individually then visits these pages to index them. This largely goes against the goal of AJAX which is to have as few pages as possible by interacting with the web server in a smarter method as the users interact with the website.
To put the last paragraph simply any content that is changed via AJAX or Javascript on a webpage that is not hardcoded in a page won’t be cached by the search engines. This essentially means that if you have great content that the search engines may love but y
ou’re using AJAX you may be missing out on traffic. There are two approaches to rectifying these which may even give you an advantage over sites that don't utilize Javascript / AJAX.
The first approach is to make sure that your website degrades to normal flat markup language for non javascript capable browsers and search engines. Essentially every time you would have used an AJAX call make sure you have a page with the same content. Unfortunately for a lot of people this could mean a lot of work, for those individual using a database with PHP or ASP it is not too hard to build a site that builds itself with some effective web programming.
The second approach is to use AJAX in a more minimalist fashion. The goal here is to present the search engines with your optimized content while making sure that any AJAX calls a user would do has no bearing on what you want the search engines to see. In fact this can be used to remove content from your website which may negatively affect your rankings such as testimonials. I've seen very few testimonials that actually do good things for a sites keyword density, I’ve even been known to optimize testimonials on client’s websites. With Javascript / AJAX you could insert a random testimonial into a page and therefore not affecting that pages keyword density. The only downside to this approach is that some offsite keyword density tools actually use Web Browser rendering engines so they may get false results as it takes the Javascript into account.
Now you may think that I'm anti AJAX from everything that I've said, but there are times and places for AJAX, provided it doesn't affect how the search engines see your beautiful relevant content your trying to rank. AJAX is great to use for Member sections of your website, interactive forms, slideshows, and a lot more it just needs to be leveraged correctly to avoid missing out on search engine visitors. The final thing to keep in mind is that most search engines like to see more than a single page website which many AJAX website appear to be, always strive for at least 5 or more indexable pages as internal links and anchor text can have a lot of value.
[isedb]
One of the three major pillars of Search Engine Optimization is a website's content, and onsite content optimization. All of the major search engine ranking algorithms have components that relate to the content that is contained on the website. Typically these components relate to Keyword Densities, number of words, content location, and sometimes age of content. In regards to the code that the content is contained in that falls under the topic of structure and not content, and will not be discussed in this article.
Asynchronous JavaScript and XML (AJAX) is an advanced web development method which can be used to create more responsive and interactive dynamic websites. AJAX accomplishes this by making object request calls back to the web server without having to refresh your browser, these object calls are then processed and are typically used to update the content of the page on your website that is currently being viewed. For the sake of this Article I'm going to ignore the XML component of AJAX as the search engines never view any of the XML data. Websites that use Javascript to manipulate content without using AJAX will also suffer from the issues described.
When a search engine sends out a robot / spider to visit your website with the goal of indexing your content it is only looking at what is being presented in the Markup Language. Generally a search engine does not behave like a user when indexing your website, it doesn't click buttons or links it simply makes note of URLs associated with each page then individually then visits these pages to index them. This largely goes against the goal of AJAX which is to have as few pages as possible by interacting with the web server in a smarter method as the users interact with the website.
To put the last paragraph simply any content that is changed via AJAX or Javascript on a webpage that is not hardcoded in a page won’t be cached by the search engines. This essentially means that if you have great content that the search engines may love but y
ou’re using AJAX you may be missing out on traffic. There are two approaches to rectifying these which may even give you an advantage over sites that don't utilize Javascript / AJAX.
The first approach is to make sure that your website degrades to normal flat markup language for non javascript capable browsers and search engines. Essentially every time you would have used an AJAX call make sure you have a page with the same content. Unfortunately for a lot of people this could mean a lot of work, for those individual using a database with PHP or ASP it is not too hard to build a site that builds itself with some effective web programming.
The second approach is to use AJAX in a more minimalist fashion. The goal here is to present the search engines with your optimized content while making sure that any AJAX calls a user would do has no bearing on what you want the search engines to see. In fact this can be used to remove content from your website which may negatively affect your rankings such as testimonials. I've seen very few testimonials that actually do good things for a sites keyword density, I’ve even been known to optimize testimonials on client’s websites. With Javascript / AJAX you could insert a random testimonial into a page and therefore not affecting that pages keyword density. The only downside to this approach is that some offsite keyword density tools actually use Web Browser rendering engines so they may get false results as it takes the Javascript into account.
Now you may think that I'm anti AJAX from everything that I've said, but there are times and places for AJAX, provided it doesn't affect how the search engines see your beautiful relevant content your trying to rank. AJAX is great to use for Member sections of your website, interactive forms, slideshows, and a lot more it just needs to be leveraged correctly to avoid missing out on search engine visitors. The final thing to keep in mind is that most search engines like to see more than a single page website which many AJAX website appear to be, always strive for at least 5 or more indexable pages as internal links and anchor text can have a lot of value.
[isedb]
Post a Comment