我开始将我的博客从wordpress迁移到shopify。我正在尝试使用博客标签将帖子分成不同的类别。
问题是标签的元标题是自动生成的,元描述是从博客页元描述中自动复制的。对于高级别的类别/标签页面来说,这将是糟糕的搜索引擎优化。
我采访了支持者,他说没有办法编辑这些信息。有人可以建议一种编辑主题文件的方法,为每个标签添加唯一的标题和描述吗?只有大约10个,但在每个页面加载时使用条件似乎非常糟糕?我不是编码员......
我发现的最接近的会是这样的吗?
How to edit content on pages for Collection Tags in Shopify
...几个小时后在theme.liquid中我试过在标题中做了以下似乎有效。
{% if current_tags contains 'News' %} News page title {% elsif current_tags contains 'How To' %} how to page title {% 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 %}
我可以为元描述做类似的事情。只是想知道这是否是一种热门方式,它会花费很多页面加载时间吗?
答案 0 :(得分:0)
您的解决方案不是很有活力。
有几种方法可以解决这个问题并使其完全动态化,因此您无需为每个其他标记编写任何代码。
以下是一个例子:
使用网址链接创建导航。标题将是标签名称,URL将是标题/描述。
所以这样:
Linklist菜单:
title.................../ URL...............
This is the meta title / #meta_title_tag1
This is the meta desc / #meta_desc_tag1
在头部分,你将有类似的代码:
{% assign tag_size = current_tags | size %}
{% assign meta_title = current_tags | prepend: 'meta_title_' %}
{% assign meta_desc = current_tags | prepend: 'meta_desc_' %}
{% if tag_size == 1 %}
{% for link in linklists[settings.meta_nav].links %}
{% assign url = link.url | split: "#" %}
{% if url[1] == meta_title %}
{{ link.title }}
{% endif %}
{% if url[1] == meta_desc %}
{{ link.title }}
{% endif %}
{% endfor %}
{% endif %}
{% assign tag_size = current_tags | size %}
我们创建tag_size
变量,以便我们可以检查我们是否在标签页上,如果只有一个标签,因为用户可以添加第二个标签,然后我们的逻辑将无法工作。 (但如果你愿意,你可以获得第一个标签并仅为他应用元标题和描述)
{% assign meta_title = current_tags | prepend: 'meta_title_' %}
{% assign meta_desc = current_tags | prepend: 'meta_desc_' %}
我们在当前代码前加前缀,以检查标题和说明。
{% if tag_size == 1 %}
....
{% endif %}
这是检查标签是否仅为1的if
。
{% for link in linklists[settings.meta_nav].links %}
...
{% endfor %}
这里我们循环我们创建的导航菜单中的所有链接。其中settings.meta_nav
是主题的“设置架构”中的link_list
字段。如果您愿意,可以对导航手柄进行硬编码,这是您的选择。
{% assign url = link.url | split: "#" %}
这里我们从我们添加的“#”中删除网址。
{% if url[1] == meta_title %}
{{ link.url }}
{% endif %}
{% if url[1] == meta_desc %}
{{ link.url }}
{% endif %}
这里我们检查当前link.title
是否等于我们创建的前缀标签,如果是,我们输出link.url
,这是我们正在寻找的标题/描述。< / p>
如果您正在寻找大型内容并且想要使用textarea而不是文本字段,那么所有这一切都可以通过全局部分完成。