This is a guest blog post from Cyrus Patten.
Joomla can create powerful, robust and stunning templates. In addition to the flexibility of the templates, many of them dynamically change to fit your content and extensions. This is a great feature of Joomla! However these features can lead to some very bloated, complex and non-search engine optimized templates. The following is a list of template principles to look for when purchasing or designing your next template.
1) Few Images
Yes Joomla! templates can look amazing, but usually at the cost of bandwith-sucking images. In addition to decreasing load time, smaller or fewer images decreases load on the server, allowing it to serve more requests. When you do use an image, make extra sure it is being called correctly. Calling an image that is not there is a huge bandwidth hog. One tip for reducing images is first to know how many you have. Using the Web Developer Toolbar for Firefox, select “View Image Information”. You’ll get a new window with a count and list of all images being called on your site.
2) Optimized Images
Making images smaller or (even better) less frequent in the template helps. But when they are necessary, be sure they are optimized. This means compressed as much as possible while maintaining the visual quality. In addition to compression, optimizing images means using the right format for the job. Read about choosing the right image format here. Then use a standard image editor like GIMP or Photoshop to convert images to the correct format.
3) Keep Javascript Out
Joomla! relies on a large and slow javascript file to run some template features. A template should either leave this out altogether, or include its own functions. If a template uses a script library, make sure it is a recognized, mature and supported library that has been optimized to run fast. When looking at templates, view the features list. some will describe the template’s reliance on a script engine. Rockettheme, as an example, has been using the Mootools Library recently.
4) Nothing Hidden
Check the code for hidden links or coding. Any PHP you don’t recognize or that is not calling content from the Joomla! core might be malicious. An unrelated link to a bad site or link farm unknowingly inserted in your template is search engine suicide. There are three ways to check this. First, once the page is loaded with the suspected template, rick click on the site and choose “View Source”. Scan the code for a link you were not suspecting, or search for “href” to find links quickly. Second, look at the raw php. You can pick out the Joomla! code because it will be identified with it’s purpose or it will be short, one-liners. Some tricks that have been used include using css styling, often looking something like this: style=”display: none;”. Third, there are web tools available like Google’s Webmaster Tools that allow you to list all outgoing links.
5) Keep It Simple
Ok, Joomla! is powerful. Joomla! has more features and customizations than you can shake a stick at. But that doesn’t mean you have to utilize every feature in the template. Each new feature creates at least one new server request and increases load time. I say it all the time, it takes just as much skill to create a nice simple template as it does to create a complex one. In order to filter out the over-complicated templates, look at the number of module positions and the length of the feature list. Do you really need 35 module positions?
6) Tableless Design
Tables can be helpful, but in terms of SEO – using CSS is a much better option. There are lots of reasons, but the one I’ll use here is “priority”. Joomla! outputs a lot of XHTML. When a search engine looks at your site, it is believed the earlier an XHTML element shows up, the more important it is. This may push your main content to the 2nd or 3rd place in the eyes of a search engine. Using CSS to place elements lets you put the content first. It is easy to check if a template is using tables or CSS. Look at the source code, you should see a lot of div’s and span’s, not tr’s and td’s.
7) Play Nice with Extensions
Extensions are a part of every Joomla! site. Make sure when you’re using an extension, it has been coded to work with your version of Joomla! and, in terms of templates, it does not conflict with any template functions. As the commercial Joomla! template industry evolves, many of the designers are inserting extension override styling. Just be sure your template and extensions aren’t conflicting with eachother, this may output code that does not look good to a search engine. JoomlaPerformance.com suggests using their page caching component to determine which extensions are conflicting with the template.
8) Use the ALT tag
All template images should be using the “alt” tag to identify themselves. This isn’t just good SEO, this is good for when a user is unable to view the image due to dialup or security reasons. Just look at the source code again and make sure all images have an applicable “alt” tag. Especially the ones that are vital to the template like the logo and any heading images.
About the Author: Cyrus Patten is the editor of TheBestofJoomla.com, a daily blog of great Joomla! extensions, templates, tools and Joomla!-powered sites.