メタ情報を個別に追加する方法(picoの場合)

picoで、任意に個別のメタ情報を付加する方法

2012
1/25

XOOPSでは、標準状態として、メタ情報はどのページでも同じものが出るような設計となっています。

これが、SEO的に良くないとか・・・色々言われているところですが、こちらのサイト にとても参考となる記事がありましたので、備忘録としてここに掲載させていただくことにしました。

・・・と以前に非公開で書いていたのですが、既にそのサイトは消滅してしまい・・・ここで公開するのもいいかと思い、公開設定としました。(2014.3.21)

 

以下、引用

タイトル,キーワード,説明文の書き方,表示法:picoの場合

ページタイトル,キーワード,コンテンツの説明文は,コンテンツごとにその内容に沿ったものにしなければなりませんが,xoopsの場合,どのページを見ても同じメタ情報が表示されている場合が多いです。
SEOの観点からというだけでなく,自分のサイトを利用してくださるユーザーの方々の利便性を考えれば,ページごとに適切なメタ情報を表示することが望ましいと思います。
picoの場合を例に,コンテンツページの場合,モジュールトップページの場合,カテゴリーページの場合に分けて,詳しく説明します。

コンテンツページの場合(pico)

メタ情報の書き方

コンテンツ入力欄の先頭に

<div>[pt][/pt][kw][/kw][desc][/desc]</div>

の形式で入力する。入力内容はそれぞれ下記のようになります。

  • [pt]タイトル[/pt]
  • [kw]キーワードをカンマ区切りで[/kw]
  • [desc]説明文(160字ぐらいが目安)[/desc]

テンプレート

_main_viewcontent.html
下記コードをこのテンプレートの先頭に記述する。

表示用コード

<{assign var="myinfo" value=$content.body|strip_tags|strip}>
<{assign var="mybody" value=$myinfo|regex_replace:"/\[pt\].*?\[\/pt\]/":""|regex_replace:"/\[kw\].*?\[\/kw\]/":""|regex_replace:"/\[desc\].*?\[\/desc\]/":""}>
<{if $myinfo|strstr:"[pt]"}>
<{assign var="mytitle" value=$myinfo|regex_replace:"/.*?\[pt\](.*?)\[\/pt\].*$/":"\\1"}>
<{/if}>
<{if $myinfo|strstr:"[kw]"}>
<{assign var="mykw" value=$myinfo|regex_replace:"/.*?\[kw\](.*?)\[\/kw\].*$/":"\\1"}>
<{/if}>
<{if $myinfo|mb_strstr:"[desc]"}>
<{assign var="mydesc" value=$myinfo|regex_replace:"/.*?\[desc\](.*?)\[\/desc\].*$/":"\\1"}>
<{/if}>

<{if $mytitle}>
<{assign var=”xoops_pagetitle” value=”`$mytitle`:`$content.subject` – `$mymodname`”}>
<{/if}>
<{if $mykw}>
<{assign var=”xoops_meta_keywords” value=”`$mykw`,`$xoops_meta_keywords`”|replace:”,”:”,”}>
<{/if}>
<{if $mydesc}>
<{assign var=”xoops_meta_description” value=$mydesc}>
<{else}>
<{assign var=”xoops_meta_description” value=$mybody|mb_substr:”0″:”160″}>
<{/if}>

モジュールトップページの場合(pico)

書き方

一般設定の「モジュールトップのメッセージ」入力欄に
[pt][/pt][kw][/kw][desc][/desc]
の形式で,それぞれの情報を入力する。入力内容はそれぞれ下記のようになります。

  • [pt]タイトル[/pt]
  • [kw]キーワードをカンマ区切りで[/kw]
  • [desc]説明文(160字ぐらいが目安)[/desc]

テンプレート

_main_menu.html
下記コードをこのテンプレートの先頭に記述する。

表示用コード

<{assign var="mymsg" value=$mod_config.top_message|strip_tags|strip:""}>
<{if $mymsg|strstr:"[pt]"}>
<{assign var="mytitle" value=$mymsg|regex_replace:"/.*?\[pt\](.*?)\[\/pt\].*$/":"\\1"}>
<{/if}>
<{if $mymsg|strstr:"[kw]"}>
<{assign var="mykw" value=$mymsg|regex_replace:"/.*?\[kw\](.*?)\[\/kw\].*$/":"\\1"}>
<{/if}>
<{if $mymsg|mb_strstr:"[desc]"}>
<{assign var="mydesc" value=$mymsg|regex_replace:"/.*?\[desc\](.*?)\[\/desc\].*$/":"\\1"}>
<{/if}>

<{if $mytitle}>
<{assign var=”xoops_pagetitle” value=”`$mytitle`:`$content.subject` – `$mymodname`”}>
<{/if}>
<{if $mykw}>
<{assign var=”xoops_meta_keywords” value=”`$mykw`,`$xoops_meta_keywords`”|replace:”,”:”,”}>
<{/if}>
<{if $mydesc}>
<{assign var=”xoops_meta_description” value=$mydesc}>
<{/if}>

カテゴリーページの場合

メタ情報の書き方

カテゴリー説明文入力欄に
[pt][/pt][kw][/kw][desc][/desc]
形式で入力する。入力内容はそれぞれ下記のようになります。

  • [pt]タイトル[/pt]
  • [kw]キーワードをカンマ区切りで[/kw]
  • [desc]説明文(160字ぐらいが目安)[/desc]

テンプレート

_main_listcontents.html
下記コードをこのテンプレートの先頭に記述する。

表示用コード

<{assign var="catinfo" value=$category.desc|strip_tags|strip}>
<{if $catinfo|strstr:"[pt]"}>
<{assign var="mytitle" value=$catinfo|regex_replace:"/.*?\[pt\](.*?)\[\/pt\].*$/":"\\1"}>
<{/if}>
<{if $catinfo|strstr:"[kw]"}>
<{assign var="mykw" value=$catinfo|regex_replace:"/.*?\[kw\](.*?)\[\/kw\].*$/":"\\1"}>
<{/if}>
<{if $catinfo|mb_strstr:"[desc]"}>
<{assign var="mydesc" value=$catinfo|regex_replace:"/.*?\[desc\](.*?)\[\/desc\].*$/":"\\1"}>
<{/if}>

<{if $mytitle}>
<{assign var=”xoops_pagetitle” value=”`$mytitle`:`$category.title` – `$mymodname`”}>
<{else}>
<{assign var=”xoops_pagetitle” value=”`$category.title` – `$mymodname`”}>
<{/if}>
<{if $mykw}>
<{assign var=”xoops_meta_keywords” value=”`$mykw`,`$xoops_meta_keywords`”|replace:”,”:”,”}>
<{/if}>
<{if $mydesc}>
<{assign var=”xoops_meta_description” value=$mydesc}>
<{/if}>

その他の作業など

スタイル定義

メタ情報が表示されないように,
style.cssあるいは,(pico)_main.css,pico.cssなどに下記を追記

.noview { display:none; }

HTMLヘッダ入力欄を利用する

picoの場合,「HTMLヘッダカスタマイズ部表示」をクリックすると,ヘッダコードを入力できます。ここに,下記のように入力しても,目的は実現できると思います。実際にやっていないのですが,多分大丈夫です。

<meta name="keywords" content="キーワードをカンマ区切りで" /> <meta name="description" content="説明文" /> <title>ページタイトル - <{$xoops_sitename}></title>

トラックバック・ピンバックはありません

ご自分のサイトからトラックバックを送ることができます。

新しくコメントをつける

題名
ゲスト名
投稿本文
より詳細なコメント入力フォームへ