헥소(Hexo)에 사이트맵(Sitemap)추가

사이트맵

구글 또는 네이버 검색에 등록하기 위해서는 사이트맵이 필수 입니다

사이트맵을 구글과 네이버에 제공해야 검색엔진들이 내 사이트를 검색해줍니다

사이트맵 추가

설치

1
npm install hexo-generator-seo-friendly-sitemap --save

설정

헥소 _config.yml 에 사이트맵 설정을 추가합니다

_config.yml
1
2
3
4
sitemap:
path: sitemap.xml
tag: false #tag 는 사이트맵에서 제외
category: false #category 사이트맵에서 제외

특정 Post 사이트맵 제외

Post 를 개별로 사이트맵에서 제외 하려면
글상단에서 sitemap: false 를 추가하면 됩니다

결과

생성된 파일 확인

1
$ npm run clean && npm run build

빌드를 해보면 public 폴더 안에

  • sitemap.xml
  • page-sitemap.xml
  • post-sitemap.xml

3개의 파일을 확인할 수 있습니다

웹브라우저로 확인

깃허브 페이지로 배포 후에
사이트맵 파일이 제대로 웹브라우저로 읽어지는 지 확인합니다.
웹브라우저로 사이트맵 확인

검색엔진에 사이트맵 등록

  • 네이버 : 서치어드바이저
  • 구글 : 서치콘솔

네이버 등록

  1. 서치어드바이저에 로그인 하고 웹마스터도구로 들어갑니다
  2. 사이트를 등록합니다
    1. 서브도메인 등록도 가능합니다
    2. https://study.skyksit.com 를 등록했습니다
  3. 사이트 소유확인을 해줍니다
    1. 파일 업로드 방식
    2. head 에 HTML 태그 추가 방식

소유확인 - 파일 업로드 방식

Github Repository 까지는 파일이 올라가 있는데 깃허브 페이지스에서 접근이 안되는 것 같습니다
파일 업로드 방식으로 사이트 소유확인은 안되네요.

소유확인 - HTML 태그 방식

개인마다 랜덤한 값들이 보일 테고 그걸 html head 태그 안에 넣어줍니다

1
<meta name="naver-site-verification" content="0101a4807882121ad6256861bdb110fbd97eb119" />

book 테마의 경우 /themes/book/layout/_partials/head.ejs 에 태그를 추가했습니다

/themes/book/layout/_partials/head.ejs
1
2
3
4
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<meta name="naver-site-verification" content="0101a4807882121ad6256861bdb110fbd97eb119" />

배포

1
$ npm run deployall

meta tag 가 잘 들어가있는 걸 웹 devtool 로 확인

소유확인

소유 확인이 완료 되면 등록된 사이트 리스트를 볼 수 있고
사이트별 관리 페이지로 접근 할 수 있습니다.
네이버 사이트 소유확인 완료 안내메시지

구글 등록

  1. 구글서치콘솔에 로그인 합니다
  2. 속성을 등록해줍니다
    1. 서브도메인 등록이라 URL 접두어로 등록했습니다
    2. https://study.skyksit.com
  3. 소유권 인증을 합니다

구글 속성 등록하는 방식 2가지

소유확인

구글은 5가지 소유확인 방식을 제공합니다

  • 도메인 이름 공급업체
  • HTML 파일
  • HTML 태그
  • Google 애널리틱스
  • Google 태그 관리자

네이버에서 사용했던 HTML 태그 방식을 동일하게 사용하는게 편리해보입니다.

소유확인 - HTML 태그 방식

개인마다 랜덤한 값들이 보일 테고 그걸 html head 태그 안에 넣어줍니다

1
<meta name="google-site-verification" content="J1AY3YCq3EPgIWx1UNKwIRQUUucxDZdIY5tXeB9xKhY" />

book 테마의 경우 /themes/book/layout/_partials/head.ejs 에 태그를 추가했습니다

/themes/book/layout/_partials/head.ejs
1
2
3
4
5
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<meta name="naver-site-verification" content="0101a4807882121ad6256861bdb110fbd97eb119" />
<meta name="google-site-verification" content="J1AY3YCq3EPgIWx1UNKwIRQUUucxDZdIY5tXeB9xKhY" />

배포

1
$ npm run deployall

다음할일

연관포스트