XOOPSではページ(コンテンツ)ごとにkeyword,Descriptionの設定が出来ない。
このため、下記のような方法で代用する。

■Smarty truncateのマルチバイト化
Smartyのtruncateはマルチバイト対応していないためこのままでは日本語タイトルのときに利用できない。
そのため次に下記のようなファイルを作成する。
文字コードはそれぞれのサーバに合わせる。ファイル名を「modifier.mb_truncate.php」として、class/smarty/plugins に保存する。ファイルの先頭と最後に
<? ?>
を付け忘れないように!
<br />
<?<br />
function smarty_modifier_mb_truncate($string, $length = 80, $etc = '…')<br />
{<br />
  if ($length == 0)<br />
    return '';<br />
  if (mb_strlen($string,"EUC-JP") > $length) {<br />
    $string = mb_substr($string, 0, $length,"EUC-JP");<br />
    return $string.$etc;<br />
  } else {<br />
    return $string;<br />
  }<br />
}<br />
?><br />
 

これでmb_truncateが利用できるようになる。

■使用しているtheme.htmlの変更

 使用しているtheme.htmlファイルを開く。
<br />
<meta name="keywords" content="<{$xoops_meta_keywords}>" /><br />
<meta name="description" content="<{$xoops_meta_description}>" /><br />
 

上記の行を探して下記に置き換える。
<br />
<{if $xoops_pagetitle|mb_truncate:4:""=="会社概要" }><br />
<meta name="description" content="This is the meta description will appear if you are in the NewBB module." /><br />
<meta name="keywords" content="meta, keywords, for, newbb, forum" /><br />
<{elseif $xoops_pagetitle|mb_truncate:4:""=="ニュース" }><br />
<meta name="description" content="Here we are in the news section." /><br />
<meta name="keywords" content="we, love, news" /><br />
<{else}><br />
<meta name="keywords" content="<{$xoops_meta_keywords}>" /><br />
<meta name="description" content="<{$xoops_meta_description}>" /><br />
<{/if}><br />
 

上記の例では「ページタイトル」が「会社概要」「ニュース」で始まる場合にそれぞれキーワード、説明を設定している。