我正在为我的Jekyll网站开发搜索引擎优化,我遇到了一个我无法设置元信息的问题。
...
<meta name="og:title" content="{{ seo_title }}" />
...
<!-- now in my for post-loop: -->
{% for post in site.posts %}
<li class="post-link">
<a class="post-title" href="{{ post.url }}">
<span class="post-date">{{ post.date | date_to_string }}</span>
{{ assign seo_title = post.title }}
{{ post.title }}
</a>
</li>
{% endfor %}
我正在为帖子标题指定sel_title
,但它没有显示在我的元信息中!我得到<meta name="og:title" content="" />
我还尝试在{{ assign seo_title = page.title }}
帖子布局中添加post.html
,但无法使用{{ page.seo_title }}
{{ post.seo_title }}
和{{ seo_title }}
现在,显然这真的不是我想要的,因为逻辑上 - 在这个for循环之后,它会将它设置为最后一个帖子标题,但我甚至无法显示。理想情况下,我希望它能够出现在帖子中。
You can view the page here我希望它出现在哪里。 我哪里错了?如何使用我的帖子信息填写我的SEO元信息?
答案 0 :(得分:0)
看看你的github回购。您只对索引和帖子使用一种基本布局。在你的_posts中,当你{% include post.html %}
时,YAML Front Matters首次被处理(并且只有一次)。但是你将它传递给默认布局,你也不能通过帖子传递YAML变量。
您可以采用的一种典型模式是拆分默认布局并在_includes文件夹中创建部分html文件,即header.html和footer.html。然后,您可以使用它们来创建默认布局和布局布局。这样你就可以将帖子中相关的YAML Front Matter变量传递给标题。