[EC-CUBE覚書]ノンプログラマー用Titleタグの変更方法

2011年8月22日

デフォルトのタイトルタグの仕様がかなり使えない感じなので、
SEO的にカスタマイズする人が多いようです。
プログラムの書き方によって、色々方法があるようなのですが、
今回、なるべく簡単にできそうなのを参考にしました。

Ver2の場合

EC CUBE タイトルタグをもっとわかりやすくする – Mess with the Best Die like the Rest

Titleタグのショップ名の前に
カテゴリーページには、カテゴリー名を、
商品詳細ページには、商品名を付ける設定です。

site_frame.tplの修正

修正ファイルはコレ↓↓

/data/Smarty/templates/default(orカスタマイズファイル名)/site_frame.tpl

修正前

<!--{$arrSiteInfo.shop_name|escape}-->/<!--{$tpl_title|escape}-->

修正後


<!--{if $tpl_title != "TOPページ"}-->
<!--{if $tpl_title == "商品一覧ページ"}-->
<!--{$tpl_subtitle|escape}-->
<!--{else}-->
<!--{$tpl_title|escape}-->
<!--{/if}-->
 | 
<!--{/if}-->
<!--{$arrSiteInfo.shop_name|escape}-->

LC_Page_Products_Detail.phpの修正(「商品詳細」の文字を消す設定)

修正ファイルはコレ↓↓

/data/class/pages/product/LC_Page_Products_Detail.php

修正前

$this->tpl_title = "商品詳細 ". $this->arrProduct["name"];

修正後

$this->tpl_title = $this->arrProduct["name"];

2箇所修正のこと。

ver1の場合

1と2だとファイル構成がだいぶ違っていますね。こちらを参考にしました。

★商品詳細ページのtitleタグ変更方法: EC-CUBE構築TIPS http://eccube.seesaa.net/article/79469666.html

site_frame.tplの修正

修正ファイルはコレ↓↓

/data/Smarty/templates/site_frame.tpl

2と一緒といきたいところなんですが、
それでやると、商品詳細ページは2系と同様になるのですが、
商品一覧ページのタイトル表示は変わりません。

たぶん「tpl_subtitle」というのが、2系ではカテゴリーだけど
1系では違うんじゃないかと思います。

LC_Page_Products_Detail.phpの修正(「商品詳細」の文字を消す設定)

2系と同じで、修正ファイルの位置だけ違います。
修正ファイルはコレ↓↓

/data/class/pages/product/LC_Page_Products_Detail.php

修正前

$this->tpl_title = "商品詳細 ". $this->arrProduct["name"];

修正後

$this->tpl_title = $this->arrProduct["name"];

2箇所修正のこと。

ヒントになりそうなの。

2系で、2階層以下のカテゴリーが表示されないというトピックです。

EC-CUBE 商品一覧のタイトルバーに階層分のカテゴリ名を表示さ�トピックを表示

これに関連して、ロックオンの中の人がこんな解決策をあげてます。
Re: タイトル<title>に、2階層以下のカテゴリ名を表示したい

tpl_subtitleに親カテゴリー+子カテゴリーを表示する場合ですが、

[修正ファイル EC-CUBE2系]

data/class/pages/products/LC_Page_Products_List.php

[修正前]

$arrFirstCat = $objDb->sfGetFirstCat($arrCategory_id[0]);
$tpl_subtitle = $arrFirstCat['name'];

[修正後]

→$tpl_subtitle = $objDb->sfGetCatCombName($arrCategory_id[0]);

とすることで、親カテゴリー+子カテゴリーも表示する事が出来ます。