n8n을 이용한 구글 서치 콘솔 인덱싱 자동화
n8n을 이용한 첫 자동화로 뭘 하면 좋을까 고민하다가 내 블로그의 글들을 구글 서치 콘솔에서 색인 요청을 자동으로 하는것을 해보기로 했다. 이게 은근히 하나씩 색인 요청을 하는게 굉장히 귀찮다. 이 워크플로우를 어떻게 구성해야 할까 고민을 하다가 n8n search console index로 검색을 해보니 누가 만들어놓은 워크플로우가 있었다. 바로 내 내 워크플로우로 복사해왔다.

세상엔 능력자가 참 많다. 생각하는게 다 비슷하기도 하고
어떤식으로 동작하는지 하나씩 톺아본다.
워크플로우
사이트맵 수집

사이트맵에서 인덱싱할 페이지들을 수집한다.
내 블로그는 Rank Math SEO 플러그인이 사이트맵을 자동으로 생성해주고 있다.

이렇게 첫번째 노드에서 URL을 내 사이트 맵 주소로 수정해준다.
그리고 Execute step을 눌러 제대로 수행을 하는지 확인을 해준다.
사이트맵 xml은 루트의 sitemap_index.xml을 추가해주어야 함
sitemap_index를 열어보면 다시 post_sitemap.xml, page_sitemap.xml 로 사이트맵이 나뉘어져 있다.
처음에 post_sitemap.xml을 url에 넣었더니 이후 노드에서 에러가 발생했다.
이 워크플로우는 sitemap_index.xml기준으로 파싱을 진행하기 때문에 그냥 sitemap_index.xml을 넣어주니 잘 진행된다.

다음 노드는 읽어온 sitemap_index.xml의 내용을 xml포맷에서 json포맷으로 컨버팅해준다.
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="//cryun.pe.kr/main-sitemap.xsl"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap>
<loc>https://cryun.pe.kr/post-sitemap.xml</loc>
<lastmod>2025-06-15T15:22:18+00:00</lastmod>
</sitemap>
<sitemap><loc>https://cryun.pe.kr/page-sitemap.xml</loc>
<lastmod>2025-05-19T00:48:21+00:00</lastmod>
</sitemap>
</sitemapindex>
XML이런 xml을 다음 json으로 변경해주는 것이다.
[
{
"sitemapindex": {
"xmlns": "http://www.sitemaps.org/schemas/sitemap/0.9",
"sitemap": [
{
"loc": "https://cryun.pe.kr/post-sitemap.xml",
"lastmod": "2025-06-15T15:22:18+00:00"
},
{
"loc": "https://cryun.pe.kr/page-sitemap.xml",
"lastmod": "2025-05-19T00:48:21+00:00"
}
]
}
}
]
JSON
다음 노드는 컨버팅된 json에서 sitemap
부분을 추출하는 것이다.
이 노드가 실행되면 다음과 같은 결과가 나온다.
[
{
"loc": "https://cryun.pe.kr/post-sitemap.xml",
"lastmod": "2025-06-15T15:22:18+00:00"
},
{
"loc": "https://cryun.pe.kr/page-sitemap.xml",
"lastmod": "2025-05-19T00:48:21+00:00"
}
]
JSON인덱싱 페이지 가공

다음 단계는 이제 각 사이트맵에서 인덱싱할 페이지들을 가공하는 것이다.
- post-sitemap.xml, page-sitemap.xml에서 인덱싱할 페이지들 가져오기
- 가져온 페이지들 내용을 xml에서 json으로 컨버팅
- 인덱싱할 페이지( url )들을 배열로 만듬
- 필요한 데이터만 분리
- 정렬
위와 같은 과정을 거친다.

그리고 마지막으로 한번 더 필요한 데이터 포맷으로 재가공을 한번 더 해준다.
인덱싱 자동화 수행

모든 가공이 끝난 인덱싱 후보 url 리스트를 가지고 인덱싱을 진행해준다.
url하나씩 상태를 체크하고 인덱싱이 필요하면 인덱싱 요청을 하는것으로 끝이다.

여기서 구글 서치 콘솔의 API를 이용하고, 이 API를 이용하기 위해 인증이 필요하다.
인증은 Google OAuth2 API를 이용한다. 그래서 내 구글 계정에 인증 설정을 한 후 이 계정을 통해 인증을 하도록 해야한다.

OAuth2 API가 설정된 구글 계정을 연결해주어야 한다
Google OAuth2 API 사용 설정하기 ( 구글 서치 콘솔 )을 통해 인증 정보들을 생성하고 다음 칸들을 채워준다음 구글 계정 로그인을 통해 연결해준다.

여기서 스코프는
- https://www.googleapis.com/auth/webmasters
- https://www.googleapis.com/auth/indexing
2개를 넣어주었다.
댓글을 남겨주세요
Want to join the discussion?Feel free to contribute!