Liquid、JavaScriptなどに関する質問
shopifyではコレクションページを作成した際、商品数が多いと2ページ目以降が自動生成されますが、
2ページ目以降のページタイトル(<title>)が1ページ目と同じ状態のため、robotに重複したページと認識されている可能性があります。
2ページ目以降の<title>は1ページと同じものが適用されますが、
これを任意のタイトルに変更する方法をご存知でしたら、コードと合わせてご教示いただけますと幸いです。
(※shopifyに問い合わせたところ、コード編集自体は「theme_liquid」から可能とのことです。)
例)
【現状】
1ページ目<title>:$コレクション名$
2ページ目以降の<title>:$コレクション名$
【理想】
1ページ目<title>:$コレクション名$
2ページ目<title>:$コレクション名$ (2ページ目)
3ページ目<title>:$コレクション名$ (3ページ目)
.....
解決済! ベストソリューションを見る。
成功
ご利用のテーマは「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 %} – {{ '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を使用されているそうです。
コレクションページの<title>を拝見すると、
質問者様が期待する動作をしているようです。
https://tsuchiya-kaban.jp/collections/long_wallet
https://tsuchiya-kaban.jp/collections/long_wallet?page=2
もちろん、カスタマイズされている可能性は高いので、
あくまで参考までに。
(キュー田辺)
お使いのテーマによって状況は変わりますが、
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 %} – tagged "{{ current_tags | join: ', ' }}"{% endif -%}
{%- if current_page != 1 %} – Page {{ current_page }}{% endif -%}
{%- unless page_title contains shop.name %} – {{ shop.name }}{% endunless -%}
</title>
このうち、質問様が必要とされる記述は、
{%- if current_page != 1 %} – 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>
ご参考まで。
(キュー田辺)
田辺さま
この度は早々にご返信いただき誠にありがとうございます。
参考にさせていただき色々試してみたのですが実装ができず、
大変恐縮ですが、弊社のコードに即してご教示いただくことは可能でしょうか。
サイトテーマ「Prestage」
該当コード:(theme.liquid内)
<title>{{ page_title }}{% if current_tags %}{% assign meta_tags = current_tags | join: ', ' %} – {{ 'general.meta.tags' | t: tags: meta_tags }}{% endif %}{% if current_page != 1 %} – {{ 'general.meta.page' | t: page: current_page }}{% endif %}{% unless page_title contains shop.name %} – {{ shop.name }}{% endunless %}</title>
何卒、宜しくお願いいたします。
成功
ご利用のテーマは「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 %} – {{ '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を使用されているそうです。
コレクションページの<title>を拝見すると、
質問者様が期待する動作をしているようです。
https://tsuchiya-kaban.jp/collections/long_wallet
https://tsuchiya-kaban.jp/collections/long_wallet?page=2
もちろん、カスタマイズされている可能性は高いので、
あくまで参考までに。
(キュー田辺)
お世話になっております。ご返信いただきありがとうございます。
わざわざ動作テストまでしていただいたとのことで、田辺さまのご尽力に心より感謝申し上げます。
本来であればページ名が表示されている記述と判明しただけでも大変参考になりました。
カスタマイズによる可能性は大いにありそうですので探って参ります。
改めましてこの度はご丁寧な回答をいただきありがとうございました。
また機会がございましたら何卒よろしくお願い申し上げます。
株式会社Q 田辺さま
お世話になっております。先日はご丁寧な回答をいただきありがとうございました。
過去のテーマも遡ってみたところ、ある時点で追加したアプリのコードが影響していることを特定しました。アプリ開発元に問い合わせたところ、ハードコーディングしていただくことで実装することが出来ました。
この度は解決の糸口を見つけていただきありがとうございました。
進捗のご報告も兼ねて、改めてお礼申し上げます。
リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024Shopifyは世界で最も革新的なブランドと起業家をサポートしています。個人起業家やあらゆる規模のビジネスの成長を後押しするために、Shopify アカデミーではShopif...
By SarahF_Shopify Mar 22, 2024オンラインストア運営はとてもやりがいのある活動です。新しい注文が入った時の喜びや世界中のお客様とやりとりできる可能性、商品に対して最高のレビューをもらった時の満足感は、毎日の...
By Mina Mar 13, 2024