Wednesday, 7 July 2010

Joomla SEO : 改 page title

幫朋友做完了website, backend 是Joomla v1.5。 現在要優化它, 第一步要做就是Search Engine Optimization,SEO, 這 topic 一直很hit。

我要每一page title 都加上公司名稱, (即在browser最頂那一行) ,這功能對於 SEO 是重要的。但不知可解, 在Joomla就是沒有項功能。

通常有二種方法解決Joomla 問題 :
1. 安裝 extension (component/plugins)
2. 改 Joomla code

1. 安裝 extension 是最快捷方法, 功能多, 而且一定成功。在 Joomla Extension -> Site Management->SEO &Metadata, 有很多好用的extension :
http://extensions.joomla.org/extensions/site-management/seo-a-metadata

如只想改page title , 可以選擇 :
Title Manager Plugin
http://extensions.joomla.org/extensions/site-management/seo-a-metadata/3521

Website Name PluginLanguage
http://extensions.joomla.org/extensions/site-management/seo-a-metadata/3352

從安裝到完成, 不須五分鐘。


2. 改 Joomla code是很麻煩的, 又不一定成功。

這是英文教學 :
http://www.howtojoomla.net/2008060586/how-tos/templates/how-to-display-your-page-title-in-your-template-joomla-15

這是中文教學 :
http://www.hksilicon.com/kb/articles/648/1/Joomla-15----lttitlegt/Page1.html

但他們方法都有一個小問題, 是發生在 home page上, 如果你的公司名稱是"美好公司" , 而在front page又設定顯示"美好公司", home page title 會顯示 :

美好公司 - 美好公司


解決方法很簡單, 這是我的 code :


<?php

$mydoc =& JFactory::getDocument();
$mytitle = $mydoc->getTitle();

$conf =& JFactory::getConfig();
$sitename = $conf->getValue('config.sitename'); // get site name

if ($mytitle == $sitename) // check same title and sitename
$mydoc->setTitle($sitename);
else
$mydoc->setTitle($mytitle.' - '.$sitename);

?>

No comments:

Post a Comment