[Jekyll] 깃허브 지킬 블로그 구글 검색에 나타나게 하기 - 사이트맵 추가하기
Updated:
🗺 안녕하세요, 오늘은 사이트가 서치에 걸리게 하기 위해선 필수! 인 사이트맵 추가 방법을 다뤄보겠습니다. 추가로 구글 서치 콘솔에 사이트맵 등록하는 법과 몇가지 주의점을 추가해 봤어요.
Table of Contents
사이트맵이란?
구글 혹은 네이버 서치콘솔에 사이트를 등록하셨다면, 서치 로봇들이 사이트를 더 똑똑하게 크롤하게 도와주는 사이트맵 (sitemap)이 필요합니다.
이 파일은 페이지들에 대한 정보를 제공하고, 페이지들 사이의 관계를 정의합니다. 페이지에 대한 부가적인 정보들, 예를 들어, 페이지의:
- 마지막 수정 시간
- 수정 주기 (change frequency)
- 다른 언어 버전
등등을 정의합니다. 말 그대로 사이트의 지도 역할을 하죠. 이 사이트의 사이트맵은 여기서 확인하실 수 있습니다. 🙂
지킬블로그에는 크게 세가지의 사이트맵 생성법이 있어요.
- 플러그인을 사용한 사이트맵 생성
- 수동 사이트맵 생성
- 사이트맵 제너레이터 사용 - 이 방법은 사용해보았지만, 새로운 포스트가 추가되면 수동으로 업데이트를 해야하고, 시간도 오래걸리기때문에 추천드리지 않습니다.
플러그인을 사용한 사이트맵 생성
- 프로젝트 루트폴더의 Gemfile 에서, 사진과 같이 사이트맵 플러그인을 추가합니다.
gem "jekyll-sitemap"
-
그 후,
bundle install
을 실행하여 플러그인을 설치해 줍니다. -
프로젝트 루트의 _config.yml 파일에 플러그인
jekyll-sitemap
을 추가해줍니다.
해당 사이트에 /sitemap.xml 을 추가하여 접속하시면 완성! 지킬 플러그인이 자동으로 사이트맵을 생성하였습니다.
수동 사이트맵 생성
루트 프로젝트 폴더에 sitemap.xml 파일을 생성합니다. 이 파일은 리퀴드 (liquid) 태그를 사용하여, 사이트의 모든 포스트를 방문하며 필요한 정보들을 추출해, 사이트맵을 생성해 나갑니다.
---
layout:null
---
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
{% for post in site.posts %}
<url>
<loc>{{site.url}}{{ post.url | remove: 'index.html' }}</loc>
</url>
{% endfor %}
{% for page in site.pages %}
{% if page.layout != nil %}
{% if page.layout != 'feed' %}
<url>
<loc>{{site.url}}{{ page.url | remove: 'index.html' }}</loc>
</url>
{% endif %}
{% endif %}
{% endfor %}
</urlset>
이 코드는 change frequency, last updated 등의 정보를 수집하지는 않아요.
구글 서치 콘솔에 사이트맵 등록하기
사이트맵을 생성했다면, 서치 사이트에 등록을 해야겠죠?! 구글 서치 콘솔 에 접속하셔서, 등록한 사이트의 Sitemaps 섹션에 /sitemap.xml을 추가하시기 바랍니다.
성공적으로 추가되었다면, 이런 페이지가 뜹니다!
잠깐!
💡 구글 서치 콘솔에 사이트맵 등록 전, 해당 사이트의 사이트맵에 접속하셔서, 생성된 링크가 valid 한지 확인 하시기 바랍니다! 잘못된 사이트맵 업로드 후, 서치 로봇이 새로운 사이트맵을 수집하기 까지 4일정도 걸렸습니다.
💡 _config.yml 에 등록하신 사이트 url 이 맞는지 꼭 확인하세요!
링크 뒤에 백슬래쉬(/)를 넣지 마세요. 전 github.io/ 이렇게 추가했다가 사이트맵의 모든 링크가
https://chaerim-kim.github.io//distributed-systems/
이런식으로 처리되어서 문제를 찾는데 좀 헤맸어요 🙃
감사합니다.
Leave a comment