Jun 9, 2009
Their previous web site was a Joomla 1.0 site based on the main built-in template
Howick came to SearchMasters to improve the SEO of their site, to improve sales of their roll forming machinery. They have distributors in number of countries and want to ensure that their pages are well optimised in each of those countries for their main search phrases.
The structure of the information on the site is straight forward.
- Home page - a set of pages for their main products, one per page, with a menu item pointing to each article page individually
- 4 categories of "Associated Machines". Each has a (sub)menu item pointing to a blog-style category listing of the products in that category. You can click on any item to get the full page on that item.
- Photo gallery
- Contact Us page
- Various static contact pages (Support/Software/Sales)
Choice of Joomla SEF URL strategyThis site was a prime candidate for using Joomla's built-in SEF URLs. There were effectively no 3rd-party components in use, and the majority of the pages were based on standard Joomla articles and categories. We could have opted for using sh404SEF or others, but wanted to see how far we could go without 3rd-party SEF.
Turning on Joomla's SEF is easy - rename the htaccess.txt file to .htaccess, and switch on "Search Engine Friendly URLs" and "Use Apache mod_rewrite" in Joomla's Global Configuration.
SEF URLs Using Joomla's built-in SEF do the following:
- Each content article has its own title (used as both the main heading on the page and the page title), and meta-description and meta-keywords which are found in the Metadata Information accordion-panel on the right hand side of the article edit screen. The page title can be overridden in various ways, so it's fine to treat it as simply the page Heading when editing the article.
- Any page accessed via a standard menu link (i.e. a link to a component, rather than to a URL) gets the SEF url /ALIAS, where ALIAS is the "alias" set beneath the "title" in the Menu Item Edit screen.
- If you have 2nd-level menus, then the SEF URL for these is /1ST-LEVEL-ALIAS/2ND-LEVEL-ALIAS.
- Any article link from a Category List or Blog page has a SEF URL of /1ST_LEVEL-ALIAS(/2ND-LEVEL-ALIAS)/ID-ARTICLEALIAS where ID is the article ID, and ARTICLEALIAS is the alias set below the title on the content article editing page.
- If a page does not have a menu link directly to it and it can't be accessed via an article category list, then it won't get a nice SEF URL. e.g. if an article can only be found via the search function it will get a URL of http://www.example.com/component/content/article/ID-CATEGORYNAME/ID-ARTICLEALIAS.
This is something to avoid by ensuring that:
- every article has either
a menu link to it OR can be accessed by one category or section list/blog page, and
- you turn off any search plugins that you don't need (e.g. Sections/Categories/Web Links etc).
- You can also set/override the page title (i.e. the title in the menu bar) for any page via the Menu Item Edit screen. i.e., it's theoretically possible to have two menu item links to the same content article, each with a different page title set in the Menu Item Edit screen. You can use the same system to override the main Heading on the page, though we had no need for this.
- Although all content articles can have meta-descriptions and meta-keywords, they are the only standard Joomla components which do so. There's no place, surprisingly, to set meta-description and meta-keywords for the Front Page component, Contacts component, etc. For those we had to go to a 3rd-party component, TagMeta.
- The search component POST form performs a quick redirect to the URL http://www.example.com/component/search/SEARCHPHRASE/%252F?ordering=&searchphrase=all.
Forcing H1 to be used for headingsJoomla 1.6 promises to be better than 1.5 in this respect, but unfortunately in Joomla 1.5 the main page headings are not done with H1 tags.
Mercifully these are easy to override with Joomla's template override functions:
- Make a folder inside your template called /templates/YOUR_TEMPLATE /html/com_content
- Find the folder /components/com_content/views/article/tmpl
and copy it as a folder to become /templates/YOUR_TEMPLATE/html/com_content/tmpl.
Then rename the copied folder so that the final path for it is /templates/YOUR_TEMPLATE/html/com_content/article
- Repeat step 2 for /components/com_content/views/frontpage/tmpl and /components/com_content/views/category/tmpl so that you end up with the folders
/templates/YOUR_TEMPLATE/html/com_content/(article|category|frontpage) which are copies of their respective "tmpl" folders.
- Do the same for any other components and their views whose HTML output you want to override
- You are now free to edit any of the HTML files in these copied folders.
in the new /templates/YOUR_TEMPLATE/html/com_content/frontpage/default_item.php file, I changed to the following from line 14:<td class="contentheadingFOO<?php echo $this->item->params->get( 'pageclass_sfx' ); ?>" width="100%">Notice the forced FOO
<?php if ($this->item->params->get('link_titles') && $this->item->readmore_link != '') : ?>
<a href="<?php echo $this->item->readmore_link; ?>" class="contentpagetitle<?php echo $this->item->params->get( 'pageclass_sfx' ); ?>">
<?php echo $this->item->title; ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
change to the contentheading class to remove the previous CSS styling from the table cell, and the new <H1> tags. I then re-styled the H1 tags using CSS to match the style previously provided by the "td .contentheading" CSS rule.
Very similar changes were made to html/com_content/article/default.php and html/com_content/category/default.php
Landing pages for country-specific optimisationWith distributors in a number of different countries, Howick Ltd wants to ensure that it ranks on different Google country searches - ie Google.com.au, Google.com etc.
Google's Webmaster Tools allow you to specify which pages on your site are destined for a particular country audience. This is possible with a .com domain (not possible with a country domain like .co.nz). Your "base" URL can be set to USA, for example, then various sub-folders of your site can each be set for the country you wish to target.
Therefore we set out to create country-specific landing pages for viewers from different countries in which Howick has distributors and/or wants to expand business. The advantage of doing so is that each page can be separately optimised for viewers from that country, and Google will treat each of the landing pages as being "local" to that country and lift it higher in the local rankings.
We are targeting the same search phrases in general for English Speaking Countries - ie Roll Forming Machine for Australia, and Roll Forming Machine for Malaysia. But for foreign language pages, the search phrases are in their language rola fac de maşini (Romanian), with the English phrase in brackets in the first mention of the foreign language phrase - so we can rank for the English phrase in that language as well.
For a Joomla site, internationalisation works well with the menu/submenu system of SEF URLs - we simply made a new menu for all the individual country landing pages.
- Each of the top-level menu items on that menu has a URL of /nz, /za, /my, /uk etc.
- Each article pointed to from these top-level items contains unique content, appropriate to the country that we are targeting.
- In Google Webmaster Tools we assign each of these to its corresponding country, and the base site to "USA".
- Each menu item apart from the USA Distributor page has a "child" sub-menu item with more information about the distributor. This extra page helps to ensure that each of these "sub-sites" has unique content and at least 2 pages (more would be better).
Meta-descriptions for Front Page and Category Blog PagesAs mentioned earlier, the Joomla Front Page component and Category Blog/List pages don't allow meta-description and meta-keywords to be set. To enter these we used the Joomla Tag Meta component. It allowed us to use regular expressions to match particular pages, then set the meta-descriptions for each one individually.
The other key point was to delete the Global Site Meta Description and Global Site Meta Keywords settings from the Global Configuration, as these would be injected onto every page of the site.
Intro paragraphs for the Category Blog PagesThe main Category Blog pages are found in the "Associated Machines" menu (Decoilers, Purlin & Joists, TopHat Machines and Roofing Machines). In order to put a properly SEO'ed introductory paragraph at the top of each of these pages, we entered the paragraph using the Category Manager in the Joomla Administrator.
Site MapFor the Site Map we chose XMap v1.2.1. The page layout is not too pretty but it covers all the main bases: HTML and XML sitemaps, and creating URLs for items held in categories. We just had to make one tweak to ensure that it didn't report its own url as www.example.com/sitemap?sitemap=1 instead of www.example.com/sitemap.
Front Page Title IssuesAccording to Google, the front page title for www.howickltd.com was "Howick Ltd. - Home" if you searched for "Howick Ltd", and "Howick Framing Machine" if you searched for a phrase like "Howick Framing Machine". Huh? The first title was the old Joomla one, but where did "Howick Framing Machine" come from?
The answer lay in DMOZ, the Open Directory Project. DMOZ contains an entry for "Howick Framing Machine" that pointed to the URL http://www.howick.co.nz, another domain name that pointed to the same web hosting (official domain name www.howickltd.com). Google was clever enough to know that the two domain names pointed to exactly the same content (duplicate content alert!), and used the title of the DMOZ entry instead of the website's own front page title, when it thought it was appropriate!
Now that we have a much more appropriate front page title ("Roll Forming Machine,
Rollforming, Steel Framing Machines - Howick Ltd"), we don't want any chance of Google substituting the DMOZ title. So using Tag Meta we were able to set the robots tag "noodp" for the front page.
Redirecting "Old" URLs to "New" URLsWith the introduction of a new system of URLs, it's important to be able to redirect incoming URLs that were destined for the old pages, to the new pages.
Joomla seemed to be able to find the correct page when some of the URLs were called, but was not performing a 301 redirect. This behaviour causes duplicate content issues (more than one URL bringing up the same content), so we had to track down all the old URLs and make sure that we could point them to appropriate pages on the new site.
To do this:
- we took copies of the last 3 months of Apache access logs, and grepped out the URIs that were being requested
- sorted and de-duped these
- determined which of them were worth redirecting to new pages, and made .htaccess mod_redirect rules to redirect them
- redirected all the others to "/".
LinksHowick was ranking well worldwide for several Framing Machines phrases, but no-where for the roll forming phrases. Therefore with additional incoming links, it should rank top 5 worldwide for framing phrases, and additional incoming links for the rollforming phrases should get the climb happening for them.
Given that there is little competition worldwide for the phrases, the site should do very well as it will also have the internationalisation done.
Given the already good rankings for the website, we expect top 5 worldwide for all the targeted phrases possibly even with the next caching, but certainly within say 3 months. It should be that much easier to get it ranking than for a new website in a competitive search phrase area.
We look forward to seeing more targeted traffic through the Howick Framing Machines website, and more sales of their big ticket machinery.