EC-CUBEのSEO対策/METAタグカスタマイズ

EC-CUBEのSEO対策で、METAタグのカスタマイズを考える場合、data/Smarty/templates/default/site_frame.tplのファイルが該当するファイルになります。

site_frame.tplではheadタグの他のカスタマイズも可能ですが、今回はmetaタグ属性descriptionとkeywordsのデフォルトの仕組みとカスタマイズを調べてみました。

EC-CUBEのページ毎のキーワードや詳細の設定は、管理画面の[基本情報管理]⇒[SEO管理]で各テンプレートごとに設定が可能です。

ここの各ページの項目が空の場合は、web上の実際のページでは空の状態となるので、できるだけ入力することが推奨されるでしょう。

■site_frame.tplのヘッダ部分、キーワードと詳細の記述

<meta name=”description” content=”<!–{$arrPageLayout.description|escape}–>” />
<meta name=”keywords” content=”<!–{$arrPageLayout.keyword|escape}–>” />

上記変数は管理画面のSEO管理で入力された値がページ毎に出力されるようになっています。

ただし、デフォルトではTOPページ、商品一覧ページ、商品詳細ページ、MYページの四種類のみです。

SEO管理のページを増やすという方法も一見考えられますが、これでは商品ごとにkeywordsやdescriptionが設定できないので、SEO対策的にはかなり不自由になります。

ですので、site_frame.tplをカスタマイズして、読み込まれるテンプレートごとにキーワードや詳細を指定する方法がよいと判断しました。
titleタグはページ名や商品名を取得しているので、方法としては、tplごとで条件を分岐させて、下記のtitleタグの記述を流用してみました。

【タイトルタグ部分の記述】
<title><!–{$arrSiteInfo.shop_name|escape}–>/<!–{$tpl_title|escape}–></title>

■EC-CUBEのSEO対策を考慮したheadタグ内のメタタグカスタマイズ手順

1.ページ階層を変数に代入して、デフォルトのdescriptionとkeywordsをif文で条件分岐させる
ページの数だけ指定して、商品一覧ページや商品詳細ページはそれぞれのページ情報を取得します

<!–{assign var=index value=”`$smarty.const.URL_DIR`index.php”}–>
<!–{assign var=list value=”`$smarty.const.URL_DIR`products/list.php”}–>
<!–{assign var=detail value=”`$smarty.const.URL_DIR`products/detail.php”}–>
<!–{assign var=mypage value=”`$smarty.const.URL_DIR`mypage/index.php”}–>

<!–{if $smarty.server.PHP_SELF==$index}–>
<meta name=”description” content=”<!–{$arrPageLayout.description|escape}–>” />
<meta name=”keywords” content=”<!–{$arrPageLayout.keyword|escape}–>” />

<!–{elseif $smarty.server.PHP_SELF==$list}–>
<meta name=”description” content=”<!–{$tpl_title|escape}–>の& lt;!–{$arrSearch.name|escape}–>の詳 細<!–{$arrSearch.category|escape}–>” />
<meta name=”keywords” content=”キーワード,<!–{$arrSearch.category|escape}–>,<!–{$arrSearch.name|escape}–>” />

<!–{elseif $smarty.server.PHP_SELF==$detail}–>
<meta name=”description” content=”<!–{$tpl_title|escape}–>の詳細” />
<meta name=”keywords” content=”キーワード,<!–{$arrProduct.name|escape}–>,<!–{$arrProduct.category|escape}–>” />

<!–{if $smarty.server.PHP_SELF==$mypage}–>
<meta name=”description” content=”<!–{$arrPageLayout.description|escape}–>” />
<meta name=”keywords” content=”<!–{$arrPageLayout.keyword|escape}–>” />

<!–{/if}–>

上記のようにTOPページとマイページはSEO管理からの内容を参照して、商品一覧ページは検索結果をもとに、商品詳細ページは商品名をもとにそれぞれMETAタグの内容を変更して出力することができました。

他にも個別のページが複数存在したので、それぞれ同じように分岐させて、それぞれの内容を記述しました。

なんとか各ページ毎でMETAタグの内容を変更することが確認できました。

 

コメントを残す