如何为Shopify不同页面类型动态设置SEO标题与meta描述
你完全可以直接编辑Shopify主题的theme.liquid文件实现分页面类型配置SEO标题与Meta描述的需求,这也是自定义程度最高、不需要额外付费的实现方案。如果不想修改代码,也有对应的SEO类应用可以满足需求,以下是具体实现说明:
一、修改theme.liquid实现自定义规则
1. SEO标题配置
你可以通过Liquid的模板判断语法,给不同页面类型设置独立的标题规则,以下是适配你需求的修改后代码,产品页默认采用{产品标题 | 店铺名}的格式,你可以自行调整其他页面的规则:
<title> {% if template == 'product' %} {# 产品页规则:产品标题 | 店铺名 #} {{ product.title | escape }} | {{ shop.name | escape }} {% if current_page != 1 %} – 第{{ current_page }}页{% endif %} {% elsif template == 'collection' %} {# 集合页规则:集合名 | 店铺名 支持标签、分页后缀 #} {{ collection.title | escape }} | {{ shop.name | escape }} {% if current_tags %}{% assign meta_tags = current_tags | join: ', ' %} – 标签: {{ meta_tags }}{% endif %} {% if current_page != 1 %} – 第{{ current_page }}页{% endif %} {% elsif template == 'page' %} {# 普通页面规则:页面标题 | 店铺名 #} {{ page.title | escape }} | {{ shop.name | escape }} {% elsif template == 'article' %} {# 博客文章页规则:文章标题 | 博客名 | 店铺名 #} {{ article.title | escape }} | {{ blog.title | escape }} | {{ shop.name | escape }} {% else %} {# 其他页面沿用原有规则 #} {{ 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 %} {% endif %} </title>
如果需要保留之前手动设置的SEO标题优先级,只需要在对应页面的判断逻辑最前面增加手动设置内容的判断即可。
2. Meta描述配置
同理可以给不同页面设置独立的Meta描述规则,修改后的参考代码如下:
{%- if template == 'product' -%} {% assign seo_desc = product.description | strip_html | truncate: 160, '' %} <meta name="description" content="{{ seo_desc | escape }} | 更多优选商品尽在{{ shop.name | escape }}"> {%- elsif template == 'collection' -%} {% assign seo_desc = collection.description | strip_html | truncate: 160, '' %} <meta name="description" content="{{ seo_desc | escape }} | 全系列商品{{ shop.name | escape }}同步在售"> {%- elsif template == 'page' -%} {% assign seo_desc = page.content | strip_html | truncate: 160, '' %} <meta name="description" content="{{ seo_desc | escape }}"> {%- elsif template == 'article' -%} {% assign seo_desc = article.excerpt | strip_html | truncate: 160, '' %} <meta name="description" content="{{ seo_desc | escape }}"> {%- elsif page_description -%} <meta name="description" content="{{ page_description | escape }}"> {%- endif -%}
你可以根据自身需求调整各个页面描述的拼接规则、字数截断长度。
注意:修改主题文件前请先备份完整主题,避免操作失误导致店铺显示异常。
二、应用实现方案
如果不想接触代码,你可以在Shopify应用商店选择SEO批量管理类应用,这类应用支持可视化配置不同页面类型的SEO规则,无需修改代码即可批量覆盖全店产品的SEO信息,部分应用还附带SEO排名检测、死链排查等附加功能,适合无技术背景的运营人员使用。
内容的提问来源于stack exchange,提问作者Ebnul
相关产品推荐
相关产品推荐

