이상을 꿈꾸는 몽상가.. 프로그래밍을 좋아함..


플러그인 없이 Jekyll Sitemap 만들기

sitemap을 google에 등록해두면 google에서 주기적으로 크롤링을 합니다.

Google에서 색인을 완료하면
관련 검색어로 구글링시 검색결과에서 해당 글을 찾아 볼 수 있습니다.

이 글에서는 sitemap.xml 만드는 법을 알려드립니다.

Google 검색엔진에 등록하는 방법은 홈페이지 검색 잘 되도록 만들기 에서 확인 하실 수 있습니다.

sitemap.xml 만들기

Github-Pages에서는 plug-in을 사용할 수가 없기 때문에 Jekyll plgin-in 을 사용하지 않고 sitemap.xml 을 만들어야합니다.

/sitemap.xml 파일을 만들고 아래 내용을 복사해 넣습니다.
편하게 가시려면 반드시 root 디렉토리 위치에 파일을 만드시길 바랍니다.

---
layout: null
---
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  {% for post in site.posts %}
    <url>
      <loc>{{ site.url }}{{ post.url }}</loc>
      {% if post.lastmod == null %}
        <lastmod>{{ post.date | date_to_xmlschema }}</lastmod>
      {% else %}
        <lastmod>{{ post.lastmod | date_to_xmlschema }}</lastmod>
      {% endif %}

      {% if post.sitemap.changefreq == null %}
        <changefreq>weekly</changefreq>
      {% else %}
        <changefreq>{{ post.sitemap.changefreq }}</changefreq>
      {% endif %}

      {% if post.sitemap.priority == null %}
          <priority>0.5</priority>
      {% else %}
        <priority>{{ post.sitemap.priority }}</priority>
      {% endif %}

    </url>
  {% endfor %}
</urlset>

jekyll로 서버를 구동시키고 localhost:4000/sitemap.xml 을 접속해서 아래와 같이 사이트맵이 출력되는 것을 확인합니다.
Github-Pages 로 commit & push 후 한 차례 더 확인합니다.

sitemap_sample

홈페이지의 모든 글의 정보를 담고 있는 sitemap이 출력되는 것을 볼 수 있습니다.
글을 Github-Pages로 추가하시면 jekyll가 빌드하면서 sitemap도 자동으로 갱신됩니다.

sitemap에서 특정 글의 변경주기, 우선순위 정보를 변경하고 싶으면,
해당 글을 작성할 때 아래와 같이 lastmod, sitemap.chagefreq, sitemap.priority 정보를 추가하면 됩니다.

---
layout: post
title:  "플러그인 없이 Jekyll Sitemap 만들기"
date:   2016-03-14 12:00:00 
categories: Homepage
tags: sitemap.xml Jekyll Github-Pages  
lastmod : 2016-03-15 12:00:00
sitemap :
  changefreq : daily
  priority : 1.0
---

모든 글의 changefreq 를 짧게 주면 수많은 클로러들의 빈번한 접속에
Github-Pages가 힘들어할 수 있으니 중요한 변동이 없는 글들은 넉넉하게 잡아주세요.

References


Associated Posts

관련된 주제를 살펴볼 수 있도록 동일한 Tag를 가진 글들을 모아뒀습니다. 제목을 눌러주세요.

  • 플러그인 없이 Jekyll RSS Feed 만들기


    이번 글에서는 RSS Feed 를 만들어 봅니다.

    RSS는 검색 가능성을 높이기 위해 Daum, Naver 검색엔진에 등록할 때도 사용됩니다.
    등록하는 과정은 홈페이지 검색 잘 되도록 만들기 에서 확인 하실 수 있습니다.


  • Bundler 를 이용한 Jekyll 3.0 업그레이드


    Bundler
    ( 이미지 출처 : http://ruby-korea.github.io/bundler-site/ )

    번들러는 필요한 정확한 gem과 버전을 추적하고 설치하여 루비 프로젝트를 위한 일관된 환경을 제공합니다. 번들러는 의존성 지옥에서 벗어나게 하고, 필요한 gem이 개발, 스테이징, 프로덕션에 있는지 확인해 줍니다. ( 출처 : http://ruby-korea.github.io/bundler-site/ )

    Bundler는 미리 입력되어있는 의존성에 따라 필요한 프로그램들을 자동으로 설치해줍니다.

    아래와 같은 간단한 의존성 기입만으로도 Github-Pages와 동일한 환경을 구성할 수 있습니다.

    $ source 'https://rubygems.org/'
    
    $ gem 'github-pages'
    

  • Github Pages의 Jekyll 3.0 업그레이드


    Github Pages 의 Jekyll3.0 업그레이드

    오늘 아침 Github 트위터 계정을 통해 Github Pages의 새로운 소식을 들었습니다.

    GitHub Pages now faster and simpler with Jekyll 3.0

    2016.02.02부로 Github Pages에서 사용하는 Jekyll 엔진을 버전 2.0에서 3.0 으로 교체했다고 하네요.

    속도가 빨라지고 단순해졌다.. 라면서 여러가지 좋은 점들을 적어놓은 것 같긴한데 별로 중요해 보이지 않습니다.

    중요해 보이는 것들은 변경사항들..

    오늘부터 syntax highlighter 는 Rouge 만으로 사용이 제한되며
    2016.05.01 부터는 Markdown는 Kramdown 만 사용가능하다고 합니다.

    그 외에도 변경사항들이 더 있습니다.

    Jekyll & Github Pages 구성이라면 평생토록 유지보수 없이 사용이 가능하다고 생각했었는데 아주 큰 착각이었네요 -_-ㅋ


  • DISQUS on Jekyll



  • Github-Pages 에 Jekyll 설치하기



i