2014-02-17 1 views
0

나는 지킬 사이트에 대한 검색 엔진 최적화 작업을하고 있으며 메타 정보를 설정할 수없는 문제가 있습니다.블로그 게시물 제목을 메타 정보로 표시

... 
<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를 할당하고있어,하지만 내 메타 정보에 표시되지입니다! 나는 또한 때문에 논리적으로, 내가 원하는 것이 아니다이 정말 분명, 지금 {{ page.seo_title }}{{ post.seo_title }}

{{ seo_title }}를 사용하여 아무 소용이 내 post.html 포스트 레이아웃의 내부 {{ assign seo_title = page.title }}를 추가하려고했습니다 <meta name="og:title" content="" />

난 그냥 얻을 -이 후 for 루프를 사용하면 마지막 게시물 제목이 무엇이든간에이를 설정하지만 표시되도록 설정할 수는 없습니다. 이상적으로 내가 원하는 것은 게시물에 표시되는 것입니다.

You can view the page here 내가 나타나기를 원하는 곳. 어디서 잘못 가고 있습니까? 내 게시물 정보를 사용하여 내 SEO 메타 정보를 채우려면 어떻게해야합니까?

답변

0

github repo를 살펴 보았습니다. 색인 및 게시물 모두에 대해 하나의 기본 레이아웃 만 사용하고 있습니다. _posts에서 {% include post.html %}을 수행하면 YAML Front Matters가 처음 처리됩니다 (한 번만 처리됨). 그런 다음 기본 레이아웃으로 전달하면 게시물의 YAML 변수도 전달할 수 없습니다.

채택 할 수있는 전형적인 패턴 중 하나는 기본 레이아웃을 분할하여 _includes 폴더 (예 : header.html 및 footer.html)에 부분 HTML 파일을 만드는 것입니다. 그런 다음이를 사용하여 기본 레이아웃과 게시 레이아웃을 만들 수 있습니다. 그렇게하면 헤더의 게시물에서 관련 YAML Front Matter 변수를 전달할 수 있습니다.

관련 문제