내 깃블로그는 hexo가 아니지만 소학회가 NexT를 쓴다(NexT는 꽤나 유명한? 테마) SEO 최적화가 어려운 건 아니지만, 삽질을 억울하게 많이 해서 기록해보려 한다.
plugin 설치
표준 링크, robots.txt 등 크롤링을 위한 플러그인을 몇개 설치해야 한다.
npm install hexo-generator-robotstxt --save
npm install hexo-generator-feed --save
npm install hexo-generator-seo-friendly-sitemap --save
블로그 루트 디렉토리의 config.yml
sitemap:
path: sitemap.xml
tag: false
category: false
feed:
type: rss2
path: rss2.xml
limit: 20
robotstxt:
useragent: "*"
allow:
- /
sitemap:
블로그 홈 디렉토리에 있는 config.yml에 위 내용을 추가해준다. 여기서 맨 상단에 url이 커스텀 도메인이 맞는지 꼭!! 확인해줘야 한다. 삽질 원인 중 하나는 이 Url이 커스텀 도메인이 아니라 깃페이지 링크였다.
theme 디렉토리의 config.yml
일단 다른 블로그에서는 해당 config.yml에 SEO 세팅이 좀 달랐던 거 같은데 NexT는 찾아보면..
# ---------------------------------------------------------------
# SEO Settings
# See: https://theme-next.js.org/docs/theme-settings/seo
# ---------------------------------------------------------------
...
# Google Webmaster tools verification.
# See: https://developers.google.com/search
google_site_verification:
이런 부분이 존재한다. 일단 킵해두고..
구글 서치 콘솔에 들어가서 도메인을 입력하자.
위 화면의 3번 아래에 어떠한 레코드가 나올 것이다. 포맷은 google-site-verification=key
여기의 Key를 아까 yaml에 있는 google_site_verification에 복사하여 넣고 배포 -> 확인을 누른다. 이렇게 하면 다른 테마보다 오히려 SEO 설정이 쉬워진다.
이제 콘솔창 좌측 사이드바에서 Sitemaps를 누르면 사이트맵을 추가할 수 있는 창이 뜬다. 여기에 rss2.xml과 sitemap.xml을 추가해준다.
사실 어려운 내용은 아니었으나 커스텀 도메인을 config.yml url로 두지 않아서 생긴 게 크다.