hexo 검색엔진 최적화

HEXO - 검색 엔진 최적화(SEO)

내 블로그가 다양한 검색사이트에거 검색이 되게 하려면??

블로그를 생성한 후에 자신의 블로그가 검색엔진에 노출되게 하려면 최적화 작업을 진행해줘야 합니다.

검색엔진 최적화(SEO)에 필요한 플러그인 설치
  • hexo-auto-canonical
  • hexo-generator-robotstxt
  • hexo-autonofollow
  • hexo-generator-feed
  • hexo-generator-seo-friendly-sitemap
1. hexo-auto-canonical

대표 URL(표준 링크)을 자동으로 생성해주는 플러그인입니다.

1
npm install --save hexo-auto-canonical

위와 같이 git을 통하여 모듈을 설치합니다.
설치 후 블로그의 경로(메인 디렉토리 기준)에서 themes > hueman > layout > common > head.ejs 파일 내에 <%- meta(page) %> 아래에 아래의 코드를 넣어줍니다.

1
2
3
4
5
//.ejs
<%- autoCanonical(config, page) %>

//.jade
| !{ autoCanonical(config, page) }

삽입하게 되면 아래와 같은 코드가 됩니다.

1
2
<%- meta(page) %>
<%- autoCanonical(config, page) %>
2. hexo-generator-robotstxt

자동으로 robot.txt 파일을 생성해주는 플러그인 입니다.

1
npm install hexo-generator-robotstxt --save

위와 같이 git을 통하여 모듈을 설치합니다.
설치 후 블로그 디렉토리의 _config.yml(테마 _config.yml 아닙니다.) 파일을 열어 아래와 같이 입력해줍니다.

1
2
3
4
5
robotstxt:
useragent: "*"
allow:
- /
sitemap: https://username.github.io/sitemap.xml
3. hexo-autonofollow

외부 링크에 rel="external nofollow"속성을 자동으로 추가해주는 기능을 하는 플러그인입니다.

1
npm install hexo-autonofollow --save

위와 같이 git을 통하여 모듈을 설치합니다.
설치 후 블로그 디렉토리의 _config.yml(테마 _config.yml 아닙니다.) 파일을 열어 아래와 같이 입력해줍니다.

1
2
3
4
5
nofollow:
enable: true //플러그인 활성화 여부
exclude: //제외시킬 host
- guest1.com
- guest2.com
4. hexo-generator-feed

자동으로 RSS feed를 생성해주는 플러그인 입니다.

1
npm install hexo-generator-feed --save

위와 같이 git을 통하여 모듈을 설치합니다.
설치 후 블로그 디렉토리의 _config.yml(테마 _config.yml 아닙니다.) 파일을 열어 아래와 같이 입력해줍니다.

1
2
3
4
feed:
type: rss2 //feed의 종류(atom/rss2) *네이버는 atom를 지원하지 않기 때문에 rss2 추천
path: rss2.xml //feed가 생성될 경로
limit: 20 //최신 포스트 갯수 설정(0 또는 false는 전체 포스트)
5. hexo-generator-seo-friendly-sitemap

크롤러가 블로그를 더욱 효율적으로 크롤링 할 수 있도록 사이트맵 xml 파일을 자동으로 생성해 줍니다.

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

위와 같이 git을 통하여 모듈을 설치합니다.
설치 후 블로그 디렉토리의 _config.yml(테마 _config.yml 아닙니다.) 파일을 열어 아래와 같이 입력해줍니다.

1
2
3
4
sitemap:
path: sitemap.xml //sitemap이 생성될 경로
tag: false //sitemap에 tag 포함 여부
category: false //sitemap에 category 포함 여부

모두 추가하게 되면 _config.yml는 아래와 같이 작성되게 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
...
# URL
## If your site is put in a subdirectory, set url as 'http://example.com/child' and root as '/child/'
url: https://username.github.io
//url : https://github.com/username/username.github.io
=> 이렇게(블로그 주소가 아니라 repository 주소) 입력하게 되면 rss2.xml에서 파일 경로를 제대로 읽어오지 못하기 때문에 주의!
...
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repo: https://github.com/username/username.github.io # 깃허브 페이지가 저장된 리포지토리 주소
branch: main
nofollow:
enable: true
feed:
type: rss2
path: rss2.xml
limit: 20
#sitemap auto generator
sitemap:
path: sitemap.xml
tag: false
category: false
robotstxt:
useragent: "*"
allow:
- /
sitemap: https://username.github.io/sitemap.xml
Share