ECキューブ3系(現3.0.13)で、タイトルタグが「店名 / ページ名」の形式になっているのを「ページ名(商品名)/ 店名」になるようにカスタマイズする方法について書いています。
SEOの観点からも、また商品名で検索するユーザーへの分かりやすさという意味でも、店名が先に来るのはあまりよくありません。大抵のオンラインショップ(に限らず基本的なSEOを抑えているブログ・サイトも)なら「ページ名(商品名)/ 店名」の順にタイトルタグが設定されているはずです。
ECキューブだと何でいまだに店名が先になっているのだろう…と思いますが、それはともかく、3系のデフォルトテンプレートを使用している場合を例に、変更するファイルの場所、変更箇所を以下にまとめてみました。
修正すべきファイル
/app/template/default/
のディレクトリにあるdefault_frame.twigファイルを編集します。
もし上記のディレクトリに該当するファイルがない場合は、
/src/Resource/template/default/
から複製してください。
/src/…のところにあるのは、元のテンプレートファイルです。カスタマイズしたいときには、元のファイルを直接いじるのではなく、/app/…のほうに複製してから使う方が安全です。
参考)EC-CUBE3.0初心者の簡単なテンプレートカスタマイズ方法
タイトルタグを編集する
default_frame.twigを開き、以下のタイトルタグがある場所を見つけます。
<title>{{ BaseInfo.shop_name }}{% if subtitle is defined and subtitle is not empty %} / {{ subtitle }}{% elseif title is defined and title is not empty %} / {{ title }}{% endif %}</title>
ここを以下のように変更します。
<title>{% if subtitle is defined and subtitle is not empty %}{{ subtitle }} / {% elseif title is defined and title is not empty %}{{ title }} / {% endif %}{{ BaseInfo.shop_name }}</title>
参考)簡単解決!EC-CUBE3系のSEO問題
変更が終わったらファイルをサーバーにアップロードして確認します。(変更が反映されない場合はECキューブの管理画面からキャッシュを削除します)
これでひとまずOKです。ただし、一つだけ難がありました。
トップページのタイトルを店名のみに
上記のように変更すると、トップページのタイトルは
「TOPページ / 店名」
というふうになってしまいます。
このままだとちょっと美しくない。トップページは「店名」のみのほうがよいので以下のように条件分岐します。
<title>
{% if PageLayout.url == "homepage" %}
{{ BaseInfo.shop_name }}
{% else %}
{% if subtitle is defined and subtitle is not empty %}{{ subtitle }} / {% elseif title is defined and title is not empty %}{{ title }} / {% endif %}{{ BaseInfo.shop_name }}
{% endif %}
</title>
参考)EC-CUBE 3.X:デフォルトのtitleを任意のものに変更する方法
これでタイトルタグがきれいに設定できました。
コメント