CMS Terminology

Occasionally, you are going to come across a term or two that everyone just seems to automatically assume you know.  Here are the some common CMS terms and definitions you should be familiar with:

LAMP stack
WebDAV and FTP
MySQL
WYSIWYG editors
Permissions
Metadata
Taxonomy
Version control
Themes and templates
SEO
Analytics

What is a LAMP stack?

When you’re learning more about content management systems, you’re bound to hear the term LAMP, especially when dealing with open-source CMSs, and you’re usually never really given a definition for what exactly a LAMP CMS is. LAMP is actually an acronym that represents a stack of open-source software that when used in conjunction with one another create application servers. LAMP stands for Linux, Apache, MySQL, and PHP, although the scripting languages Pearl and Python often replace PHP in a LAMP stack.

So let’s take a look at what each of these do within the stack and then discuss how this relates to content management systems. Linux is an open-source operating system that is commonly used to run servers. Due to the fact that it’s free, open source, and really powerful, hosting companies frequently use it as their platform of choice. Linux isn’t the only offering system used in conjunction with Apache, MySQL, and PHP however. When used with the Mac OS, the stack is referred to as MAMP. And when used with Windows, the stack is referred to as WAMP– logically enough, of course.

Now the Apache HTTP server makes up the next part of the LAMP stack and is a free, open-source web server that has revolutionized the web since its release in 1995. It is by far the most popular web server in use today, and it’s used to serve over 60 % of all web sites. MySQL, the next part of the LAMP stack, is often referred to as a type of database. That’s not technically correct as MySQL is actually a relational database management system, and as the name implies, helps to create and manage relational databases as part of the LAMP stack.

Now whether the P in LAMP stands for PHP, Pearl, or Python, it represents a server-side scripting language that can be used to create web applications or dynamic web sites. Many open-source CMSs, including Drupal, Joomla! and WordPress, were built in PHP and are designed to work using the LAMP stack. For the most part, you won’t need to understand exactly what the LAMP stack is in order to take advantage of it. Most of time, it’s totally transparent to the end user. However, if you’ll be configuring or setting up your own installations, it’s helpful to understand how all the components fit together.

In many cases, you can download and install bundled servers for the LAMP, MAMP, and WAMP stacks based on the operating system that you’re using. For more information on LAMP, check out www.lamphowto.com. If you’re interested in installing the stack on other operating systems, check out wampserver.com and mamp.info for Windows and Mac respectively.

What are WebDAV and FTP?

If you start comparing content management systems, eventually you’re going to come across the phrase ‘support for WebDAV and FTP’. While you’re more likely to be familiar with FTP, both of these terms can be confusing to new users, so let’s take a closer look at them, how they’re related, and why they matter. WebDAV and FTP are both used to upload files to your sites, and usually at least one of these methods, if not both, are integrated directly into your CMS. FTP stands for file transfer protocol and is the most widely used protocol for sending and receiving files over the web.

It’s incredibly common, and it’s very easy to find FTP clients to transfer your files if your CMS doesn’t come with one built in. WebDAV stands for web-based distributed authoring and versioning. It’s a bit of a different animal then FTP. First, it’s an extension of the HTTP protocol that allows both the reading and writing of documents on a web server. In practical terms, WebDAV provides you with a way to manage files on your web server that’s very similar to using a local network drive. Most operating systems have WebDAV built into them, and even allow you to mount web servers just like any other disk.

Depending upon the client you’re using, using WebDAV is as simple as dragging files from one folder to another. Of course, it’s not always as simple as that, and not all CMSs handle file management the same. Most of the time, you’ll simply set up your server information and username and password combination, and the CMS will use whichever protocol it supports or that you’ve set as a preference. In other instances, WebDAV is integrated directly into the CMS interface to handle versioning and file management. It’s also not uncommon for a CMS to have a WebDAV extension or plug-in that will allow you to add this functionality to the system.

If no FTP or WebDAV integration is present, or if the CMS places a limit on the number or size of files that you need to upload, you may have to find and configure an FTP or WebDAV client yourself. Even though if you already have a means of transferring files, you might want to consider this option if available, as you can greatly simply managing files in your CMS. If you’re looking at stand-alone transfer clients, some, like FileZilla, are pure FTP clients, while others, like Cyberduck, allow you to use either protocol. You could also use the clients built into most web authoring tools, like Dreamweaver or Aptana Studio.

There are literally hundreds of file management clients available, and most are free or low cost, so you’re bound to find something that works for you. Either way, it’s best to spend some time checking out the file management and transfer options for any CMS before making a decision as it’s such an important part of the content management process.

What is MySQL?

Earlier when we discussed the LAMP stack, I mentioned MySQL as an important part of the open-source software stack used to power most open-source content management systems. At the time, I mentioned how MySQL helps us create and manage relational databases. Let’s take a closer look at databases and their role in content management systems and then discuss why MySQL is such a popular means of managing those databases. A database is little more than a collection of data and can usually be represented as a table.

Relational databases, like those created by MySQL, store data in multiple tables that have the ability to relate to each other in some way, usually by sharing data keys or properties. In the case of content management systems, using relational databases allows them to easily store and organize content in an efficient way while linking that content together. This makes it simple to find all the articles written by a particular author or all articles written about a specific subject. This type of functionality can be used to power searches, display comments, or to construct pages that need a particular type of content.

This of course is where MySQL comes in. MySQL is an open-source SQL database management system that was released publicly in 1998 by the company MySQL AB. Although MySQL AB was acquired by Sun in 2008, MySQL remains available as a free and open-source solution under the GNU General Public License, although enterprise-level licenses are available. Since it’s release, MySQL has emerged as the most widely used SQL database on the web. As the name suggests, MySQL uses SQL or structured query language to create, manage, and retrieve information from databases.

Although SQL is a fairly simple language to learn, for the most part you won’t need to know it to use MySQL with your CMS. Most content management systems handle the creation and upkeep of their databases automatically, requiring very little input from you. However, there are times that you may need to tweak your database manually or create a new one, especially if you plan on doing your installs. For that you’ll either need to learn the basics of SQL or use one of the popular graphical interfaces for MySQL, such as phpMyAdmin, as MySQL does not come with a user interface.

To learn more about MySQL, check out Oracle’s MySQL site at dev.mysql.com.

WYSIWYG editors

One of the most consistent features among all types of CMSs is a WYSIWYG editor. In most cases, the WYSIWYG editor forms the core of almost all CMS content-editing interfaces. This ubiquity tends to make people overlook these editors when researching a CMS, and that’s a shame because they are such an important part of how teams and clients work with a CMS, they should be examined closely as part of the selection process. A WYSIWYG, or What You See is What You Get, editor allows users to add, edit, and format content without having to code HTML or CSS.

Most of the time, they look and feel very similar to a word processor, making it simple for anyone with basic word processing skills to add or edit content on a CMS. Here, for example, is the WYSIWYG editor for WordPress. Notice that it has a toolbar, and it allows me to do things like bolding my text and maybe italicizing it. I can format links. I could change the color of the text. All sorts of things. Really, all I have to do is type in my text, format it the way I want it using the toolbar, and simply publish it.

This simplicity leads people to believe that all WYSIWYG editors are the same, or at least produce the same results. That of course is simply not true. Perhaps the most obvious difference them is simply the amount of things they allow you to do. Some, like this one, are very minimal and only give you basic formatting options. Others offer a huge range of formatting options as well as advanced functionality like allowing users to print content, create tables, insert images, video, and other media directly into your content.

Looking for an editor that gives users the formatting options they need is a very important consideration when choosing a CMS. Keep in mind that you’ll need to train your clients or your team members to use the editor. If you have too many options up there or a WYSIWYG toolbar populated with features that you don’t need, that can prove difficult for non-technical users to grasp, or worse, result in pages that aren’t formatted to your site’s standards. Too few options could result in frustrated users who simply can’t format content to match the rest of the site.

There’s another capability that you need to examine when looking at a CMS’s WYSIWYG Editor, and it’s one that’s really actually pretty easy to miss. Although they look and act like a word processor, they are in fact still generating code and then inserting that code into your site. Because of this, it’s very important that you examine the code created by the WYSIWYG editor to make sure it generates clean code and meets the level of standards compliancy that you need for your site. Many of the editors give you the ability to switch from formatting text to writing code, and this allows you to see the code that’s being generated and then tweak it if necessary.

If you are demoing or trying one of these editors out, format some text and then switch over and take a look at the code. Depending upon the editor, some of the formatting options will result in structuring the text with HTML, while others might result in the creation of inline styles. If your site has strict rules about the use of inline styles or strict guides on when and how structural tags should be used, you need to understand how the WYSIWYG editor formats your text and then train your clients or staff to use it in a way that generates clean code with the formatting that you need.

In many cases, CMSs use the same WYSIWYG editor. If you want to take a closer look at some of the more popular editors and their capabilities, go check out TinyMCE, CKEditor, Open WYSIWYG, and InnovaStudio WYSIWYG editor. These sites will give you insight into the features and functionality behind the WYSIWYG editors found in some of the more popular content management systems, and hey, if you are a developer, give you some great options for integrating a WYSIWYG editor into your own projects.

Understanding users, groups, and permissions

One of the most important aspects of the management part of content management is controlling how that content is accessed and changed. Users, groups, and permissions allow you to do just that. In a typical CMS, there are dozens of tasks that can be performed by users. This could be anything from posting or editing a blog post, uploading images, adding metadata, adding dates to upcoming events, or even moderating user comments. If your site is a one-person operation, then controlling access to all those tasks isn’t that important.

You are just going to be doing them all yourself. However, in a team-based environment or in a situation where you want to separate the administration of a site from working with the content, groups and permissions allow you to do just that. The basic premise behind using groups and permissions is pretty simple. Typically, an administrator will create groups that include various permissions. An authors group, for example, might contain permissions that allow members to write and edit specific ranges of content. Another group might have a broader set of permissions to allow members to publish articles, add metadata, and decide which marketing campaigns to run in the sidebar each month.

After groups have been created, users of the site are then added to these groups which then control what the user can do within the system. As is the case with all functions within a CMS, the levels of control you have with users groups and permissions vary depending upon the CMS itself. Some have very broad and rather limited ranges of permissions, while others offer an incredibly granular amount of control over what users are allowed to control or do within your site. Within these systems, you can restrict access to whether users can modify the site’s CSS, assign templates to pages, communicate with other team members, start email campaigns, or I mean a host of other features.

Other content management systems take that control even further, by introducing the concept of what we call workflows. Now, workflows are groups and permissions that are kind of bundled together to control how content is created, managed, and published within a system. By assigning workflows, you can set these permission levels across multiple groups at once. In addition to managing team members, permissions give you the ability to control how visitors of your site can view and interact with it as well. If your CMS allows you to manage site memberships, you could create multiple user experiences based on member permissions.

Here, for example, we see a guest of a site that can only see two pages. Well, you could, if you wanted to, restrict some pages or content to registered members only. I’ll restrict who can respond to a post through comments. You can even use permissions to decide which content to show a member based on what type of member they are. The amount of control you have over groups and permissions does vary widely among different CMSs, so before you begin looking for a CMS, you need to carefully consider what types of users, groups, and permissions you or your clients are likely to need.

Getting a CMS that allows fine granular control over permissions when you really only need one or two user types is pretty much overkill, and it’s going to result in inefficient administration of the site. Likewise, a CMS that has very simple user and permission capabilities will likely be too restrictive to a team that needs various user roles and capabilities. Be sure to map out the needs of your team to decide what level of control that you’re going to need from your CMS. If you’re researching a CMS and find that it doesn’t contain the necessary permissions and groups, don’t assume that it won’t work for you.

First, carefully examine how users and groups are created. Often, you can create exactly the system you need through a little extra work. Second, take a look at the available modules and extensions. Many open-source CMSs have custom user group and permission extensions that add more granular level of control to the core functionality. If you’re going to be creating multiple sites for various types of clients, you’ll want to find a CMS with really flexible groups and permissions that you can modify depending upon the needs of your client. Regardless, pay close attention to how users, groups, and permissions are handled by the CMS that you choose.

Working efficiently within the CMS requires you to control how content is managed in a way that’s suitable for your team or the clients that are going to be using it.

What is metadata?

Have you ever tried to find a needle in a haystack? If you try to do it manually by sifting through the entire haystack by hand, unless you’re incredibly lucky, you’re bound to get frustrated, tired, and quite frankly, sick of the haystack by the time that you’ve done. But what if you had a giant magnet, one that could hover over the haystack and based on it’s metallic properties instantly retrieve the needle? Aha! Much better user experience, right? Well, in the case of your CMS, metadata gives you the ability to allow users to retrieve the exact content they’re looking for, even from hundreds or thousands of other pieces of content– the real-life equivalent, if you will, of finding a needle in a haystack.

Metadata is simply data that helps to define or describe other data. It’s data about data, if you prefer. In terms of the CMS, it’s used to classify the content, so that it can be identified, categorized, retrieved, and related to other content. Now the term ‘metadata’ certainly is not new. It was first coined in 1968 and is loosely used to describe many different means of categorizing and identifying information, usually on the web. Its typical structure includes the object being described, the attribute the data is describing, and the value of the attribute itself.

If that’s a little confusing, consider this example. Here, a blog post is being described. The author’s name, or in this case the creator, is attribute, and Simon Allardice is the value. Now this post could be categorized, retrieved, and displayed based on this value. By adding additional metadata, you allow the CMS to know quite a bit about the content and then use that information to determine where it should be used, who can see it, answer requests for it, and a host of other functions. Since so much of the management of content within a CMS is dependent upon this type of data, the ability to define and add metadata is a critical function of any CMS.

Adding metadata is often referred to as tagging and is done in a number of different ways depending upon the CMS that you’re using. In some cases, the CMS will add metadata for you automatically. This could include things like the time an article was published, the author’s name, the title of the article or content segment, or the content’s data type. For the most part, a CMS will automatically add the metadata it needs to perform its core functionality. So if the system has the ability to sort or display content based on date, you can be sure that the publishing date and time are going to be added for you automatically.

Now if on the other hand you want additional ways to describe your content, you’ll need to add metadata manually. This is typically done as the content is being added to the CMS and is usually the responsibility of either the author, editor, or in some cases a system librarian. One of most common metadata workflows involves creating a series of tags, sometimes referred to as keywords, in the CMS’s administration panel. Users can then select the tags, often by simply selecting a check box, to associate that keyword with the content.

For tags that need more information, a custom text field is typically used to allow the user to add data. This would allow a blog post to add a short description or summary as metadata, for example. Now the majority of CMSs have simple tools like this that allow you to add metadata to your content. In most cases, the supplied metadata tools or all you will need to properly add metadata to your sites, but in some cases–such as retrieving metadata from ingested media–you may need additional metadata tools. Fortunately, there are a large number of plug-ins and modules available for most systems they will extend your power to add metadata to your content.

Be sure to explore these features in addition to a CMS’s core metadata capabilities when you’re researching now. Although most people see metadata as a way to assist the CMS in searching for, retrieving, displaying, filtering, and generally managing the site’s content, there are other uses for metadata as well. Properly structured metadata can be used to help search engines find and rank content, and assistive technologies can often use metadata to help users access greater information about your site’s content. Because of the importance of metadata to your CMS, it’s critical that every project has a clear and organized metadata strategy.

If one author created a keyword of ‘cars’ and other another created a keyword ‘automobile’, you would have two different authors creating similar content that the CMS might or might not associate with one another. Poorly planned metadata can result in you finding yourself once again looking for the needle in the haystack, just as fast as not using metadata at all. The goal for any metadata structure should be to describe the content as thoroughly and as efficiently as possible. When creating metadata for your site, you should first assess and inventory your site’s content.

Try to anticipate what terms your users are likely to use when searching for content and list any related terms that can help categorize it. It’s very easy to let this process get out of hand and result in hundreds of keywords that simply add unnecessary complexity to your site instead of the desired organization. Because of this, the process of identifying terms and defining metadata is often best done when planning taxonomies.

Understanding taxonomy

Taxonomy is another tool for organizing content and assisting CMS functionality. Essentially, taxonomy is a way to classify information in a specific, hierarchical structure. This is a little bit easier to understand when it’s visualized. Let’s say that you’re creating a blog about healthy eating. The content on the blog is likely to reflect that focus. Making it easier to categorize the site’s content, you might come up with terms like ‘lunch’, and ‘chicken’, ‘vegetables’, ‘recipes’, ‘dinner’, ‘meat’, ‘eggplant’, and all the rest of these words we’ve got here.

Now while these are descriptive, they’re not really doing much for you in terms of organization. However, what if you rearranged these terms? At the top you could put Recipes, and under that add categories for Dinner and Lunch. Each of those could have subcategories, such as Meat and Vegetables. Inside those, you could go even deeper with individual meat and vegetable ingredients. In addition to the defined structure, you could have an optional descriptive terminology, like low-calorie. This organizational structure is often referred to as a taxonomy, and it’s the backbone of how a CMS organizes and structures sites. In most cases, when building a site a CMS will allow you to create at a minimum sections and categories.

The sections are often used to create or describe pages or sections within the site, and categories are often used to identify the content within a page or section. Although it’s tempting to confuse metadata and taxonomies, think of it like this: metadata allows you to assign descriptive data to content, while taxonomies give you the controlled vocabulary to do so. For smaller sites or sites with a limited focus, it probably won’t be too difficult to create a taxonomy. However, for larger sites or sites with multiple areas of focus, you’re going to need to put in some time to create the necessary taxonomy, or in some cases taxonomies, to help properly organize the site.

For large organizations, it’s actually quite common to have an individual or a whole team that’s responsible for the creation and maintenance of site taxonomies. It is much easier to create taxonomies now than it has been in the past. Most larger content management systems now come with taxonomy-building tools or plug-ins that allow you to access the content management system’s default taxonomy, then help you create your own. There are also many outside vendors and tools that you can use to help automate the process of generating vocabularies, or reviewing them to ensure that your taxonomies are structured in a way that assists your site’s mission.

Most of the automated services rely on data mining, and that’s the process of indexing your site’s content to then create associated vocabularies. If you want to research some of these outside tools, check out the list of tools and services at the Taxonomy Community of practice site. These will give you a good idea of some of the tools and services available. The Dublin Core Initiative also has a list of open-source taxonomy and metadata tools, and you can find that at dublincore.org/tools. These are open-source tools that you can use or integrate into your CMS to help build taxonomies and create metadata.

Finally, I want to mention that often the hard work of categorizing an industry or vertical market has already been done for you. There is lot of common vocabularies already on the web that you can use as a logical starting point for your own projects. A great site to learn more about some of these is taxonomywarehouse.com.

What is version control?

The larger and more complex a site is, the harder it is to properly keep track of its content. At some point, tracking revisions, maintaining previous versions, and restoring files becomes impossible to do manually. This is where version control comes in. Version control, sometimes referred to as revision control or versioning, is the process of managing changes to content across various systems and workflows. In terms of working with content management systems, this often means tracking changes to content, assisting with collaborative workflows, and storing older versions of articles and files.

Not all systems have version control built in, and truthfully not all workflows or CMSs need version control. To help you to decide if version control is something you need for your projects, let’s examine some of the ways the version control can be used in a CMS. One of the first and most obvious uses of version control is to store older versions of content. Version control tracks content as it’s added to a CMS. If the content is changed or edited in any way, an older version of the content is saved and stored within the database.

This can then be accessed, restored, or reused as necessary. Version control also helps to add complexity to many author/editor workflows. Check-in/check-out workflows are great example of this. Imagine that you have multiple authors and editors working on the same article. If one of the collaborating authors added new content, at the same time that one of the editors was making changes, they would both run the risk of overriding the other one’s work.

By using version control, the editor could check out the article, which would then inform the author that the article was currently being edited. The author would have to wait for the editor to check the content back in before she can proceed to add her changes to it. In addition to check-in and check-out many versioning systems allow administrators to track the editing process, issue communications based on changes, and review content by enabling side-by-side comparisons with older content.

If you’ve ever used the Track Changes option for a word processor document, you’re familiar with how this type of workflow might work. Several version control systems also allow branching, which enables you to create a separate version of content once changes have been made. This allows you to easily create multiple versions of content that share a common starting point. These branched files then can be either merged, repurposed, or deleted once a final decision on the content version has been made. As I mentioned earlier, not all content management systems feature version control, and those that do often vary widely in their capabilities and integration levels.

Most open-source CMSs will offer multiple version control extensions or plug-ins that will give you options on what type of version-control features you want or that you need to use. There are also many stand-alone version control clients that’s you can integrate with your CMS as well, so you’re certainly not without options if you decide to add version control to a system at a later date. Now the two most common version control systems are Subversion and CVS. CVS, or Concurrent Version Systems, has been around the longest and is still used in many CMS integrations.

Subversion is an open-source Apache product aimed at extending and replacing CVS. It boasts the widest adoption of all version-control systems and offers a lot of flexibility when setting up version control for a project. Before we move on, I think it’s also important to mention that while version control can be an important part of any workflow, careful thought and preparation needs to go into making the decision as to whether to use it not. As I discussed previously, version control isn’t necessary for every project, and you should be aware of the layer of complexity that it’s often adding to your workflows.

Also, while great in theory, version control can limit workflow flexibility and can be subverted if all participants don’t follow their roles rigorously. As with most CMS features, I recommend trying it out before making huge changes to the way that you work to assure that it gives you the capabilities you need without negatively affecting your production.

What are themes and templates?

One of the most attractive things about using a CMS is not having to build every single page in your site by hand. Basically, the CMS can automatically generate pages based on your site organization and content. This is primarily done through the use of themes and templates. So what are templates and themes? Well, I have to admit, the terminology used to describe page generation in content management systems can be a bit confusing. The terms ‘templates’ and ‘themes’ are used frequently across multiple content management systems, but they don’t always mean the same thing.

In a general sense, a template refers to a single file that contains generic content. Themes, on the other hand, are usually a collection of templates, or presentation rules, that control how sections or even entire sites are displayed. To help add some clarity to these terms, I want to talk about some of the basic methods that various CMSs use to generate pages and site structure and then how templates and themes come into play within those systems. In some cases, templates, which can either be the system’s default templates or templates that you’ve created, are tagged with dynamic regions indicating where content should go and what type of content to use.

These templates are often labeled in the CMS as a page type. When a user generates a new page, they simply choose a template they want and a new page is created using the template’s layout. In some cases, these templates operate independently of each other, while in others the templates can be grouped or controlled through use of themes. In those cases, themes can control not only which templates are being used, but options like color schemes and typography as well. Drupal is a really good example of a CMS that works this way.

Another common means of building pages is to assemble pages from a collection of page regions. This modular approach allows users to have multiple headers, footers, content regions, and sidebars to choose from. In these situations, the page regions themselves are often referred to as templates. You might have four sidebar templates and two footer temples to choose from, for example. In this system, themes often describe the dynamic files and the complex logic they contain that’s used to create pages from the various template modules.

WordPress is a really good example of a CMS that builds pages this way. From just those two examples, it’s easy to see that the terms ‘template’ and ‘theme’ are not interchangeable from one CMS to another. In some cases, you’ll be able to access and modify the template or theme code directly, while in others you’ll need to understand how the themes are assembling pages to accurately modify the template files. Regardless, it’s important to understand how templating and theme-based architecture works in whatever CMS you decide to use.

You’ll also want to make sure when you’re selecting a CMS you carefully explore how it uses templates and themes. You should research how easy it is to customize templates, change or apply themes, or modify the logic of default themes. It’s easy to get frustrated with a CMS if it doesn’t give you the amount of control over the layout and presentation of your site that you require. What’s more, designers, developers, and non-technical users are likely to have dramatically different goals regarding how they’re going work with templates and themes.

Explore this carefully so you can make sure that you have a CMS that uses templates and themes in a way that makes it easy to achieve your own goals.

What is SEO?

Another term that you’re likely to encounter again and again when working with content management systems is SEO. SEO stands for search engine optimization, and it is a method of structuring sites and site content in a way that improves a web site’s relevance and visibility to search engines. Now theoretically this allows your site be listed higher in a search engine’s result list, which is the goal of almost every site owner. In reality, SEO is one of the most abused terms on the web, with so many different marketing firms and vendors selling tools and strategies that the term has almost been diluted to little more than appear marketing cliche.

Looking at the term practically, however, in order to optimize a site for search engines, you need to understand how those search engines work. Although most search engines guard their methodology quite closely, there are some almost universally accepted techniques that will assist in helping your site become more search engine friendly. First, your site should contain clean, well-structured HTML code that doesn’t present any barriers to search engines indexing the site. Site content, including pages, should be tagged with metadata that extends the meaning of the content and explains the page’s relevance.

Sites can also increase the amount of inbound and outbound links to make sure the links themselves use terms relevant to the subject matter. Finally, the site should focus on creating consistent, clear content that is relevant to the focus of the site. Now, oddly enough, you would think that that last point would take care of itself, but it’s usually one of the techniques that organizations fail to stress when discussing search engine optimization. In the early days of content management systems, the SEO of CMS-managed sites was not really that great.

Links were automatically generated with numeric identifiers instead of relevant text. Page code was messy, non-standards compliant, or needlessly complex, and tagging structures didn’t accurately reflect the focus of the site’s content. While some systems still produce non- search engine friendly sites, for the most part these glaring errors are a thing of the past. There are, however, some things that you want closely monitor when choosing a CMS to make sure that the sites generated with it produce the best SEO results possible.

First, examine the HTML code the CMS generates as it creates pages. Make sure it uses clean, standards-compliant code that’s not weighed down with extraneous markup. Also, make sure you can customize tags and categories to reflect your site’s content and focus. Good taxonomies and consistent content tagging will go a long way to describing to search engines what your site’s focus is. Second, check to see what level of URL customization you’re allowed to perform. In some CMSs, when pages are dynamically generated, the page URL is created with numeric identifiers that does not describe the page content at all.

Being able to customize URLs so that a link contains descriptive text is very important to SEO. This is also true for CMS-generated internal links. Another thing to check out is how a CMS generates descriptive text for site media, like alt text for images. By making sure that you can control these, you not only create more accessible sites, but one that provides more information to search engines as well. Perhaps the biggest SEO problem regarding content management systems is the idea of duplicate content.

If a search engine finds more than one copy of content on your site, it generally decides which one is the most important one, indexes it, and then throws away the references to the other copies. In a CMS-driven site, blog posts, marketing campaigns, and related content frequently result in duplicate content. Now often, you can modify pages and links with attribute values, such as no follow or no index, to prevent this problem, but understanding how and when to use these requires a good bit of research into how search engines actually operate.

Due to these specialized nature of SEO site requirements, many content management systems have SEO tools either built in to the core of the CMS or available as plug-ins or extensions. When researching a CMS, check out what types of tools it offers and the type of control they give you over how your site is indexed and optimized. If SEO is critically important to you, you might want to consider bringing in an outside contractor to assist you. Just be really careful about the claims that some vendors make when promoting SEO.

Look for a reputable vendor who stresses site optimization over the page rankings. Regardless of whether you’re using a CMS or not, this is a great document to read to make sure that all of your sites are structured properly for search engine optimization.

What are web analytics?

Many content management systems, especially hosted solutions, will mention offering web analytic tools in addition to their basic CMS capabilities. So what are web analytics? Basically, these are tools that collect data about your web site, site visitors, and how your visitors use your site. This data can then be analyzed to make sure your site is organized correctly, gauge the effectiveness of content or marketing campaigns, and whether or not people are interacting with your site in the way that you envision. As with most features, the web analytic features of each CMS vary widely.

Some offer no analytic tools at all, while others offer robust sets of tools integrated directly into the CMS. When examining a CMS it’s a good idea to see what type of tools are available, especially if you have very specific requirements, such as monitoring the return on investment of specific product specials. I would add that to me these features aren’t as much of a deal breaker as other CMS features. There are so many third-party analytic tools available that the presence or absence of these features shouldn’t be a deciding factor, unless you have some very specific needs that are tied directly to the CMS.

So what are some of the web analytic features that you should look for? Well, first examine what type of visitor data is being tracked. Some tools simply report back the number of visitors to your site, which pages they visited, and which links they clicked. Other tools contain an amazing degree of data, such as how long visitors stayed on a certain page, which actions they took, where the visitors came from, whether there were any referring links, so which browser they were using, and more. Some tools even let you monitor this data in real time.

Collecting the raw data is one thing and analyzing it is another. Many web analytic tools allow you to create rules or goals based on how your site should be used. Using the data, these tools can then gauge the effectiveness of your site and in some cases even offer suggestions on where to improve the site organization to help you meet your goals. For those of you with e-commerce requirements, many tools allow you to track items such as marketing campaigns, conversion rates, and product views.

Some of the more complete solutions also allow you to evaluate your product effectiveness through setting goals and comparing them to the available stats. So if you decide that web analytics are necessary for your CMS-driven site, I want to suggest a few options for you. First, explore the available analytic tools for the CMS that you choose. If the core CMS doesn’t contain the tools you’re looking for, there will often be an extension or plug-in available that will do what you need. Hosted solutions are usually especially powerful in this regard.

You might also want to check with your hosting company, as many of those offer basic web analysis tools as part of the hosting plan. There’s also an abundance of third- party analytic tools available online. A quick search will give you dozens of options to choose from. If you’re looking for an open-source or free option, I recommend looking at Open Web Analytics, SlimStat, TRACE WATCH, Piwik, or one that you’ve probably heard of, Google Analytics. Each of these options feature powerful analytic tools and are simple to set up and deploy for your sites.

Next: CMS Evolution

Scroll to Top