Сейчас поисковики не обращают внимание на метатеги keywords и description. Смысла ставить на страницу их вообще нет. Заголовок делать именно заголовком, без каких либо примисей.
А по реализации почему бы не сделать так?..
//...
public function beforeSave($event){
Yii::app()->controller->setMetaData('title', 'title...');
Yii::app()->controller->setMetaData('keywords', 'keywords...');
}
//...
class Controller extends CController
{
private $_metaData = array();
public function setMetaData($name, $value)
{
$this->_metaData[$name] = $value;
}
public function beforeRender()
{
if(isset($this->_metaData['title']))
{
$this->pageTitle = $this->_metaData['title'];
unset($this->_metaData['title']);
}
foreach($this->_metaData as $name => $value)
Yii::app()->clientScript->registerMetaTag($name, $value);
}
}