FROM CACHE - jp_header

DAWNで、メタフィールドを使ってShopifyのブログ内でcanonical設定をしたい

解決済

DAWNで、メタフィールドを使ってShopifyのブログ内でcanonical設定をしたい

ボクモワイン
遊覧客
13 2 4

用語集として利用しているブログの重複(例えば和名とカタカタ読み両方が存在する用語など)を防ぐために、メタフィールドを使ってcanonicalタグを設置したいと考えています。

 

テーマはDAWNです。

 

メタフィールドで

article.metafields.custom.canonical

をつくり、

<link rel="canonical" href="{{article.metafields.custom.canonical}}">

featured-blog.liquid

に設置して、無事に出力されていることを確認しました。

 

ただ、もともと設置されているcanonicalタグと重複してしまうので、これをどうにか解決したいと考えています。

 

最適な解決法をお教え頂けますと助かります。

1 件の受理された解決策

st_mh
探検家
40 13 11

成功

以下の条件で作成しました。

  1. メタフィールドの存在が確認できれば、専用の内容を出力させる
  2. それ以外の場合は通常
{% if article.metafields.custom.canonical %}
<link rel="canonical" href="{{ article.metafields.custom.canonical }}">
{% else %}
<link rel="canonical" href="{{ canonical_url }}">
{% endif %}

※シンプルに{% if article.metafields.custom.canonical %}で存在を確認し、出力を切り替えているだけです。

 

記述先はfeatured-blog.liquidではありません。

canonicalタグが元々設置されている場所に上書きします。

テーマを確認していないのですが、多分「Layout > theme.liquid」あたりかと思います。

 

設置し終わったら、条件を変えて確認も行って下さい。

  1. metafields設定済みのページ
  2. metafields未設定のページ
  3. 無関係な商品ページなど

元の投稿で解決策を見る

3件の返信3

st_mh
探検家
40 13 11

成功

以下の条件で作成しました。

  1. メタフィールドの存在が確認できれば、専用の内容を出力させる
  2. それ以外の場合は通常
{% if article.metafields.custom.canonical %}
<link rel="canonical" href="{{ article.metafields.custom.canonical }}">
{% else %}
<link rel="canonical" href="{{ canonical_url }}">
{% endif %}

※シンプルに{% if article.metafields.custom.canonical %}で存在を確認し、出力を切り替えているだけです。

 

記述先はfeatured-blog.liquidではありません。

canonicalタグが元々設置されている場所に上書きします。

テーマを確認していないのですが、多分「Layout > theme.liquid」あたりかと思います。

 

設置し終わったら、条件を変えて確認も行って下さい。

  1. metafields設定済みのページ
  2. metafields未設定のページ
  3. 無関係な商品ページなど
ボクモワイン
遊覧客
13 2 4

無事できました。ありがとうございます!

st_mh
探検家
40 13 11

良かったです