XHTML Validation

Validating a Website's HTML

One of the first things that should be done after a site is constructed, and repeated at various steps as things are changed/updated, is the validation of the site's HTML. In the case of a Joomla powered site, HTML errors can come from 4 places:

  1. Templates
  2. Components
  3. Modules
  4. Articles

Why Validate?

It's simple really; HTML errors can present unwanted issues with your site, and is the leading cause of issues with template display that we see. These issues present themselves even more so when a 'pure CSS' template is in use, as CSS is unforgiving of left out closing brackets (>) and other often overlooked HTML errors that are introduced by extensions or other invalid code inserted in articles. While extension code is not the ONLY vehicle by which invalid code can make its way into a site, it has become one of the leading cause of issues that we have seen.

How to Validate?

The World Wide Web Consortium (W3C) has provided a handy tool to run your site's HTML output against the standards for validation which may be accessed at http://validator.w3.org

Testing your site's validation is as simple as putting your site's URL in the Address field and clicking 'Check':

W3C Validation Service

After the service runs you'll be presented with a 'results' page. If the site is free of HTML errors you will see a message of congratulations and some nice buttons you can proudly display on your site if you wish:

Successful Validation

If there are errors, you will be presented with a results page that outlines the errors:

Errors in HTML

Error Outlined

What to do With This Information

Seek and Destroy! Or better put, find and fix the errors.

The 'Validation Output' that is presented will show all of the errors that are found, although using the info with a Joomla powered site may not be as simple as if we were validating a static HTML site. This is because in Joomla there really are no 'pages' except for the one that is presented to the viewer at the time of viewing. The Joomla 'page' is a collection of output items from the database, presented and laid out within the confines of the template. The Validation Services runs the presented 'page' against the standards and outlines the errors on the presented 'page', but in our instance the items on our 'page' could come from any number of sources. For instance, if you have a website that has a calendar component, a commenting component and a component to manage your advertisements you not only have the default Joomla output in the form of articles on a 'page', you also have the output that is coming from three other sources -- any of which could present an error or multiple errors. The validation service does not point out which is the offending source of output, only the errors and on which line they appear.

Seeking out the reported errors can be a very time consuming process, however, there are some steps that you can do to help with your process.

The first thing I do when checking for the source of a site's errors is to 'rule out' possible sources. As I know in the case of a site with a Joomlashack template that the template is not the cause, I check that one off. I would next go to the code I inserted in articles and rule them out by unpublishing ALL articles and checking the validation. If the errors are gone, publish one article at a time until the offending code is found. If errors still persist after articles are ruled out, I next go to components as a possible source. One quick way to check components is to use a bit of code at the end of your site's URL that will remove the template and show the output of the site presented only as the output from the components in use. To do this, add the following at the end of your URL: /?tmpl=component So for example, if we wished to check the Joomlashack site's HTML with only the output of components in use we would put this in the Validation Service: http://www.joomlashack.com/?tmpl=component If that fails validation we know the offending code is coming from a component. If it's a simple site and does not have too many components in use or is a site still under development, I would recommend uninstalling ALL user installed component, reinstalling one at a time while checking the validation after each component is reinstalled. Doing this should help you pinpoint the offending code.

In the case of already developed sites or sites with large amounts of components installed the process above might not be possible, in which case it may be necessary to hire a professional to help you seek out the offending code. You may also wish to seek assistance in the Joomlashack Community Forum

New England Joomla Day Sold Out in Just 17 Days!

New England Joomla daySOLD OUT is the first New England Joomla Day at the incredible Marlboro Graduate School in Brattleboro (also the meeting place of the New England User Group).

We Vermont-based Shackers are pretty proud of our not-so-little local user group. Thanks to the leadership of Marlboro professor and Joomla developer Jen Kramer McKibben, the user group has really launched this past year. Its first-ever Joomla Day is totally filled up more than two months ahead of time. There must be some seriously pent-up demand for Joomla training and networking in our region!

On the agenda for Joomla Day New England:

Speakers include:

Joomlashack's Barrie North will be presenting (see above) and hanging out. If you wanted to attend but didn't register in time, let the user group know and maybe they'll put you on a list for last-minute cancellations. Hope to see you there!

Joomlashack's Latest 1.5 Template, Inspirion

Inspirion TemplateGot a medium-sized Web site in need of a good-looking template?

Our latest Joomla! template (Inspirion) is built on the popular 960 grid system. The 960 grid promotes balance, consistent white space, and usability.

Inspirion is XHTML Strict, CSS/Tableless, and makes use of semantic headings (h1-h3) Joomla! overrides for improved SEO.

Inspirion is medium-sized template integrated with IE transparency, CSS dropline menu system, excellent typography, and is available in multiple color styles (with PSD source).

Key features of Inspirion:

Read more: Joomlashack's Latest 1.5 Template, Inspirion

How to embed an RSS feed into an article in Joomla

In my most recent blog post about my 10 favorite Joomla! extensions, I embedded a news feed from Twitter to show the latest posts using the #t10jx tag on Twitter. Initially, I thought about finding a plugin that handled displaying an RSS feed in an article, since that would be the easiest way to accomplish what I wanted. Then I remembered the "Load Module" plugin and the "Feed Display" module that are part of a core Joomla! installation. I realized that I could embed the feed without installing any 3rd-party extensions. Read on to find out how to do it.

Read more: How to embed an RSS feed into an article in Joomla

2009 Joomla Training Survey

In 2008, our sister site, Compass Designs ran a series of successful single day training classes for Joomla across new England. One question we was asked again and again was "when will you be running classes in 2009?"

People had mentioned interest in different types of classes and perhaps different locations. So, we have created a survey for anyone interested in Joomla training to fill out, and from that we'll be determining the most popular combinations of location and class type.

If you are interested in expanding your Joomla knowledge in 2009 make sure you enter in your choices!

Read more: 2009 Joomla Training Survey

How to Change your favicon (Joomla! 1.5)

Another popular article on this site explains how to change your favicon in your Joomla! 1.0-powered site. Naturally, a lot of people want to know how to change your favicon in a Joomla! 1.5-powered site, so this article goes through the process of changing your favicon in a Joomla! 1.5 site.

Favicon example

Read more: How to Change your favicon (Joomla! 1.5)

How to Move Your Joomla! 1.5 Site to a New Server

Update July 15, 2010: I should have posted this a long time ago, but the BEST way to move your Joomla site to a new server is to use Akeeba Backup.

The most popular article on this site covers How to move your Joomla! site to a new server, but it does not cover all of the details for moving your Joomla! 1.5 site to a new server. This how-to discusses the process of moving your Joomla! 1.5 site to a new server. The information contained in this how-to also happens to be an excerpt from my upcoming book, Beginning Joomla!. (Due out in early April)

Read more: How to Move Your Joomla! 1.5 Site to a New Server

How to add a JomComment comment counter to your Joomla!-powered blog

Video on building a blog with Joomla

As promised, here is an article about one of the things I learned while upgrading How To Joomla to Joomla! 1.5. I have been using JomComment on How To Joomla for quite a while. You may have noticed that besides having the usual "Add Comment (2)" link at the end of each article introduction, I have also added a comment counter and link along with the "Written by...," date, section, and category, as shown in this image:

JomComment Counter

With the ability to override Joomla!'s core content output in a Joomla! 1.5 template, you can do virtually anything within your template. This tutorial demonstrates how to use template overrides to insert a JomComment comment counter anywhere you want to add it in your articles.

Read more: How to add a JomComment comment counter to your Joomla!-powered blog

How to Redirect 1.0 URL's to Joomla 1.5

You may have noticed that Joomlashack is now running on Joomla 1.5. We did a stealth migration yesterday.

We had one problem we needed to address, and it took a while to figure out, so we thought we would share the solution for others.

Our old site used Joomla 1.0, as I have mentioned before, we wanted to make sure we did a 301 redirect of the Joomla URL's so Google would quickly pick up the new ones and pass the pagerank to the new pages. The problem however was that our 1.0 site used the raw URL:

http://www.joomlashack.com/index.php?option=com_content&task=view&id=37

We rapidly discovered that mod-write unfortunately will basically ignore all the php parameters here. You can't get rewrite to pay any attention to them.

Read more: How to Redirect 1.0 URL's to Joomla 1.5

Life Group LA wins 2008 Charity Contest

Life Group LA


The Joomlashack community has spoken: The Life Group- LA is the winner of our 2008 Charity Contest!

LGLA narrowly edged out the very worth Global Conservation Assistance for first place. Joomlashack is proud to present a $1,000 USD contribution to the Life Group LA.

Read more: Life Group LA wins 2008 Charity Contest