My Profile Photo

Zzi`s personal blog


공부, 이론, 실습 그리고 생각


[Github Page] Google 검색에 블로그 노출 시키기

개인 자료 보관용으로 만든 블로그지만 실제로 검색을 했을 때 내 블로그 글이 검색이 되는지 궁금해졌다. 아무래도 공개된 웹 상에 올리는 글이다 보니 포스트를 작성할 때 잘못된 정보가 없는지 신경이 쓰이는 것이 사실이고, 실제로 기술적인 내용이 들어간 글은 90%이상 만들어놓고 해당 포스트의 정보가 정확한지 확인하지 못해 포스트로 올리지 못하는 경우도 있다. 그러다보니 블로그가 점점 개인 일기장화 되고 있다는 느낌이 있지만…

Google Search Console

이전 글([Github Page] Google Analytics로 블로그 방문자 관리하기)에서 Google Analytics를 통해 블로그의 방문자 추이를 확인할 수 있게 되었다. 해당 블로그는 Github page로 만들어졌기 때문에 자동으로 구글 검색에 조회될 것이라 생각했다. 그런데 테스트를 해보니 검색이 되지 않는다. 구글 검색에 추가하는것도 몇가지 과정이 필요했고, 이 과정에서 겪은 문제들은 공유하고자 한다.

속성 추가, 소유권 확인

Google search console에 본인의 github 주소를 추가하면, 아래와 같이 소유권 확인을 위한 창이 뜬다. 여기 나온 html을 다운받은 후 본인 github repository의 루트에 해당 파일을 커밋, 푸쉬를 하면 자동으로 소유권이 확인된다.

Untitled 0

Untitled 1

Untitled 2

색인 생성

색인 생성을 위해 URL 검사를 해보면 아마 처음에는 URL이 Google에 등록되어 있지 않음 이라는 메시지가 뜰 것이다. 여기서 색인 생성 요청 을 하게되면 자동으로 URL 테스트를 하고, 색인 생성 요청 상태가 되는데 아래와 같이 크롤링 대기열에 추가되기 때문에 바로 적용되지는 않는다. 해당 블로그의 경우 1~2일 정도 소요되었다. 색인 생성이 완료되면 아래와 같이 URL이 Google에 등록되어 있음 으로 메시지가 바뀐다.

Untitled 3 Untitled 4 Untitled 5

Sitemap 추가

Sitemap을 추가해준다. Jekyll theme 을 쓰는 경우 종류에 따라 조금씩 다른데 기본적으로 jekyll은 sitemap을 추가해주는 plugin을 제공한다. 해당 페이지의 기본 테마인 Jekyll-Uno의 데모페이지는 sitemap plugin을 사용하지 않고, sitemap 파일을 직접 제공하고 있는데 해당 포스트에서는 어떤 theme를 쓰던 적용할 수 있도록 plugin을 사용하는 방법을 소개한다. 해당 플러그인에 대한 설명은 Github에 잘 설명이 되어있다.(링크)

  1. **Gemfilegem 'jekyll-sitemap' 추가.**
    • 해당 gem은 가장 뒤에 추가한다. sitemap plugin의 github 페이지를 보면 아래와 같이 설명되어 있다.

be sure to require jekyll-sitemap either after those other gems if you want  the sitemap to include the generated content, or before those other gems if you don’t want the sitemap to include the generated content from the gems. (Programming is hard.)

source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins

gem "webrick", "~> 1.7"
gem 'jekyll-sitemap'
  1. **_config.yml 파일 url에 본인의 블로그 주소를 등록하고 jekyll-plug인 추가**
url: "https://jsy1110.github.io" # the base hostname & protocol for your site
plugins:
  - jekyll-sitemap

Untitled 6

  1. robots.txt 파일 작성

repository 루트에 robots.txt 를 추가하여 아래와 같이 sitemap을 추가하여 작성한다.

User-agent: *
Allow: /

Sitemap: [https://jsy1110.github.io/sitemap.xml](https://jsy1110.github.io/sitemap.xml)
  1. Build 후 파일 생성 확인

bundle exec jekyll serve 명령어를 통해 로컬 폴더에 sitemap.xml이 생성된것을 확인한다. 빌드시 해당 폴더 의 _site 폴더에 빌드된 파일이 생성된다. 생성된 파일은 http://localhost:4000/sitemap.xml 에 접속해보면 확인할 수 있다.

Untitled 7 Untitled 8

  1. 변경사항 배포(Commit&Push), XML 파일 업로드

여기까지 완료가 되었다면 변경사항을 다시 한번 배포 한 후 Google Search Console 에서 Sitemap을 추가해준다. sitemap에 추가되는 html 페이지들의 태그에 noindex가 있는 경우 검색에서 제외한다는 의미이다. 오류가 발생할 경우 해당 부분도 체크해본다.

---
layout: default
robots: noindex
---

현재는 해당 사이트 또한 아래와 같이 오류가 발생한 상태이다. 구글링 결과 색인 생성 후 sitemap을 다시 등록하고 기다리면 해결되는 경우가 있다고 한다. (실제로 구문오류가 있는 sitemap.xml과 정상 sitemap.xml 파일을 바꿔가면서 올려봤는데 오류 내용은 바뀌지 않았다. (해당 부분은 추후 업데이트 예정)

Untitled 9 Untitled 10

comments powered by Disqus