在元信息中显示博客文章标题

时间:2014-02-17 15:18:43

标签: html seo jekyll

我正在为我的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元信息?

1 个答案:

答案 0 :(得分:0)

看看你的github回购。您只对索引和帖子使用一种基本布局。在你的_posts中,当你{% include post.html %}时,YAML Front Matters首次被处理(并且只有一次)。但是你将它传递给默认布局,你也不能通过帖子传递YAML变量。

您可以采用的一种典型模式是拆分默认布局并在_includes文件夹中创建部分html文件,即header.html和footer.html。然后,您可以使用它们来创建默认布局和布局布局。这样你就可以将帖子中相关的YAML Front Matter变量传递给标题。