FROM CACHE - jp_header
解決済

商品一覧ページ2ページ目以降の<title>の変更について

is_green
観光客
12 0 4

shopifyではコレクションページを作成した際、商品数が多いと2ページ目以降が自動生成されますが、
2ページ目以降のページタイトル(<title>)が1ページ目と同じ状態のため、robotに重複したページと認識されている可能性があります。


2ページ目以降の<title>は1ページと同じものが適用されますが、

これを任意のタイトルに変更する方法をご存知でしたら、コードと合わせてご教示いただけますと幸いです。

(※shopifyに問い合わせたところ、コード編集自体は「theme_liquid」から可能とのことです。)

 

 

例)

 

【現状】

1ページ目<title>:$コレクション名$

2ページ目以降の<title>:$コレクション名$

 

【理想】

1ページ目<title>:$コレクション名$

2ページ目<title>:$コレクション名$ (2ページ目)

3ページ目<title>:$コレクション名$ (3ページ目)

.....

 

 

1 件の受理された解決策
Qcoltd
Shopify Partner
1042 423 406

成功

ご利用のテーマは「Prestige」で合っていますでしょうか?

https://themes.shopify.com/themes/prestige/styles/couture?locale=ja

「Prestage」というテーマがテーマストアから見つけられなかったため、念のための確認です。

 

おそらく、Prestigeで合っていると思いますので、Prestigeでお話を進めますね。

 

開発ストアにPrestigeをインストールしてみました。

コレクションのページを確認すると、titleは下記のようになっていました。

 

1ページ目: <title>{{ コレクション名 }} – {{ ストア名 }}</title>

2ページ目: <title>{{ コレクション名 }} – 2ページ目 – {{ ストア名 }}</title>

 

Prestige自体にもバージョンがあると思いますので、

バージョンによる差があるかもしれないですが、

現在販売されているバージョンにおいては、

質問者様が期待する動作になっているようでした。

 

また、

質問者様にご提示いただいたコードですが、

{% if current_page != 1 %} &ndash; {{ 'general.meta.page' | t: page: current_page }}{% endif %}

 こちらの記述でページ番号が出力されるように思いました。

 

もし、ページ番号が出力されていないようでしたら、

質問者様によるカスタマイズの影響か、

導入されているアプリの影響か、

が原因である可能性が高いです。

 

そうなってくると、

私の方では確認のしようがないため、

申し訳ないのですが、

これ以上は分からないです。

 

なお、

質問者様が "–" 区切りでなく、 ページ名を括弧で括りたいということを意図されているようでしたら、上記の該当箇所を下記のようにされれば実現できます。

{% if current_page != 1 %} ({{ 'general.meta.page' | t: page: current_page }}){% endif %}

 

そうではなく、ページ番号が出力されないということだと思いますので、

 

もし、カスタマイズが原因であれば、一度テーマを元の状態に戻してみる、

もし、アプリが原因であれば、関係ありそうなアプリを一度止めてみる、

ということで原因が追求できるかもしれません。

 

 

最後に、参考までに、なのですが、

こちらのShopifyブログで紹介されている

https://www.shopify.com/jp/blog/success-story-tsuchiyakaban

こちらのサイトもPrestigeを使用されているそうです。

https://tsuchiya-kaban.jp/

 

コレクションページの<title>を拝見すると、

質問者様が期待する動作をしているようです。

https://tsuchiya-kaban.jp/collections/long_wallet

https://tsuchiya-kaban.jp/collections/long_wallet?page=2

 

もちろん、カスタマイズされている可能性は高いので、

あくまで参考までに。

 

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/

元の投稿で解決策を見る

5件の返信5

Qcoltd
Shopify Partner
1042 423 406

お使いのテーマによって状況は変わりますが、

Dawn 5.0では、

デフォルトで下記のようになります。

 

<title>商品 – xxxx.myshopify.com</title>

<title>商品 – Page 2 – xxxx.myshopify.com</title>

<title>商品 – Page 3 – xxxx.myshopify.com</title>

 

では、上記が、theme.liquid上でどのように記述されているかというと下記になります。

 

    <title>
      {{ page_title }}
      {%- if current_tags %} &ndash; tagged "{{ current_tags | join: ', ' }}"{% endif -%}
      {%- if current_page != 1 %} &ndash; Page {{ current_page }}{% endif -%}
      {%- unless page_title contains shop.name %} &ndash; {{ shop.name }}{% endunless -%}
    </title>

 

 

このうち、質問様が必要とされる記述は、

{%- if current_page != 1 %} &ndash; Page {{ current_page }}{% endif -%}

になります。

 

current_page にページ数が格納されていますので、current_page が 1ではない時にだけ、ページ数(current_page)を出力する、というコードです。

 

1ページ目<title>:$コレクション名$

2ページ目<title>:$コレクション名$ (2ページ目)

3ページ目<title>:$コレクション名$ (3ページ目)

 

このフォーマットを実現するのであれば、タグやストア名を無視する場合は下記のようになるかと思います。

 

    <title>
      {{ page_title }}{%- if current_page != 1 %} ({{ current_page }}ページ目){% endif -%}
    </title>

 

ご参考まで。

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
is_green
観光客
12 0 4

田辺さま

 

この度は早々にご返信いただき誠にありがとうございます。

 

参考にさせていただき色々試してみたのですが実装ができず、

大変恐縮ですが、弊社のコードに即してご教示いただくことは可能でしょうか。

 

サイトテーマ「Prestage」

該当コード:(theme.liquid内)

 

<title>{{ page_title }}{% if current_tags %}{% assign meta_tags = current_tags | join: ', ' %} &ndash; {{ 'general.meta.tags' | t: tags: meta_tags }}{% endif %}{% if current_page != 1 %} &ndash; {{ 'general.meta.page' | t: page: current_page }}{% endif %}{% unless page_title contains shop.name %} &ndash; {{ shop.name }}{% endunless %}</title>

 

何卒、宜しくお願いいたします。

Qcoltd
Shopify Partner
1042 423 406

成功

ご利用のテーマは「Prestige」で合っていますでしょうか?

https://themes.shopify.com/themes/prestige/styles/couture?locale=ja

「Prestage」というテーマがテーマストアから見つけられなかったため、念のための確認です。

 

おそらく、Prestigeで合っていると思いますので、Prestigeでお話を進めますね。

 

開発ストアにPrestigeをインストールしてみました。

コレクションのページを確認すると、titleは下記のようになっていました。

 

1ページ目: <title>{{ コレクション名 }} – {{ ストア名 }}</title>

2ページ目: <title>{{ コレクション名 }} – 2ページ目 – {{ ストア名 }}</title>

 

Prestige自体にもバージョンがあると思いますので、

バージョンによる差があるかもしれないですが、

現在販売されているバージョンにおいては、

質問者様が期待する動作になっているようでした。

 

また、

質問者様にご提示いただいたコードですが、

{% if current_page != 1 %} &ndash; {{ 'general.meta.page' | t: page: current_page }}{% endif %}

 こちらの記述でページ番号が出力されるように思いました。

 

もし、ページ番号が出力されていないようでしたら、

質問者様によるカスタマイズの影響か、

導入されているアプリの影響か、

が原因である可能性が高いです。

 

そうなってくると、

私の方では確認のしようがないため、

申し訳ないのですが、

これ以上は分からないです。

 

なお、

質問者様が "–" 区切りでなく、 ページ名を括弧で括りたいということを意図されているようでしたら、上記の該当箇所を下記のようにされれば実現できます。

{% if current_page != 1 %} ({{ 'general.meta.page' | t: page: current_page }}){% endif %}

 

そうではなく、ページ番号が出力されないということだと思いますので、

 

もし、カスタマイズが原因であれば、一度テーマを元の状態に戻してみる、

もし、アプリが原因であれば、関係ありそうなアプリを一度止めてみる、

ということで原因が追求できるかもしれません。

 

 

最後に、参考までに、なのですが、

こちらのShopifyブログで紹介されている

https://www.shopify.com/jp/blog/success-story-tsuchiyakaban

こちらのサイトもPrestigeを使用されているそうです。

https://tsuchiya-kaban.jp/

 

コレクションページの<title>を拝見すると、

質問者様が期待する動作をしているようです。

https://tsuchiya-kaban.jp/collections/long_wallet

https://tsuchiya-kaban.jp/collections/long_wallet?page=2

 

もちろん、カスタマイズされている可能性は高いので、

あくまで参考までに。

 

(キュー田辺)

株式会社Q (キュー)
グラフィックデザイン、アパレル事業、Web制作など色々やっている渋谷区代々木の会社です。ShopifyでのECサイトの運営・開発も行なっています。
私たちについて: https://web.q-co.jp/ テックブログ: https://techlab.q-co.jp/
is_green
観光客
12 0 4

お世話になっております。ご返信いただきありがとうございます。

わざわざ動作テストまでしていただいたとのことで、田辺さまのご尽力に心より感謝申し上げます。

 

本来であればページ名が表示されている記述と判明しただけでも大変参考になりました。

カスタマイズによる可能性は大いにありそうですので探って参ります。

 

 

改めましてこの度はご丁寧な回答をいただきありがとうございました。

また機会がございましたら何卒よろしくお願い申し上げます。

is_green
観光客
12 0 4

株式会社Q 田辺さま

 

お世話になっております。先日はご丁寧な回答をいただきありがとうございました。

 

過去のテーマも遡ってみたところ、ある時点で追加したアプリのコードが影響していることを特定しました。アプリ開発元に問い合わせたところ、ハードコーディングしていただくことで実装することが出来ました。

 

この度は解決の糸口を見つけていただきありがとうございました。

進捗のご報告も兼ねて、改めてお礼申し上げます。