낙서장

블로그스팟의 구글 서치콘솔 등록과 API 방식의 색인 요청 스크립트를 사용해본다.

K66Google 2023. 9. 24. 14:32

 


* 알림

API 방식의 색인 요청 스크립트 (Indexing API)는 구인 정보나 동영상 페이지를 크롤링하는 도구일 뿐, 일반적인 블로그 게시물은 전혀 취급하지 않습니다. (링크)
따라서 대부분의 내용을 폐기하고, 마지막 단락에 관련 정보를 추가하였습니다. - 2023.11.27


 

블로그스팟의 애드센스를 신청한 지도 3일이 지났다. 그러나 아직까지도 합격 / 불합격 통보가 오지 않고 있다. 내가 처음 애드고시에 합격했던 2020년 10월 말과 달리 지금은 애드센스 심사 기한을 길게 잡는 모양이다.

원래 내 계획은 통보를 받고 나서 검색엔진에 색인을 요청하는 것이었는데, 언제까지 기다리고 있을 수만은 없었다. 따라서 먼저 구글 서치콘솔에 내 블로그스팟을 등록하기로 하였다.

그런데 등록하기 전에, API를 통해 서치콘솔에 게시물 색인 요청을 할 수 있는 스크립트를 찾아냈기 때문에 이것도 겸사겸사 한 번 시도해보기로 한다. (링크)

 

 

1. 프로그램 설치 (이젠 필요 없음)

해당 스크립트를 사용하려면 Visual Studio Code(링크)와 Node.JS(링크) 라는 프로그램이 설치되어 있어야 한다.

대충 안정적(Stable)이라고 하는 버전을 받아서 설치해주었다.

 

 

그런 다음 Visual Studio Code를 실행하니... 다 영어라서 혼란스럽기만 하다.

다행히도 인터넷에서 언어를 한국어로 바꾸는 방법을 찾아냈다. (링크)

Ctrl + Shift + P 누른 뒤, 뜨는 검색창에 'configure display language' 라고 친 뒤, 해당 항목을 클릭했다.

그리고 '한국어' 를 선택했다.

 

 

이렇게 하니 프로그램이 한국어 언어팩을 다운로드 받고, 재시작하겠냐고 물어본다.

Restart를 클릭하니 프로그램이 재실행되면서 한국어로 출력되었다.

 

 

이제 Github에서 서치콘솔 색인 요청 스크립트를 다운로드 받는다. (링크)

그리고 임의의 폴더에 압축을 풀어놓았다.

 

 

다시 열려있는 Visual Studio Code로 돌아간 뒤, '폴더 열기' 를 클릭한다.

그리고 전에 압축을 푼 폴더를 선택하였다.

 

 

체크박스에 체크하고, '작성자를 신뢰합니다' 를 클릭하였다.

 

 

이제 화면 왼쪽 아래의 'X표와 !표' 있는 곳을 클릭하고, '터미널' 탭을 선택한 뒤 명령줄에 'npm i' 라고 입력하고 엔터 키를 친다.

 

 

그러면 스크립트 폴더 안에 node_modules 폴더가 생성된다. 이렇게 하면 스크립트를 실행하기 위한 초기 설정이 완료된 것이다.

 

 

2. 구글 서치콘솔에 블로그스팟 등록

다음으로는 구글 서치콘솔(링크)에 가서 내 블로그스팟을 등록하기로 한다. 도메인 주소를 입력하고 '계속' 을 클릭한다.

나는 www를 붙여서 입력했는데, 등록되고 나선 빠져있었다. 왜 그런지는 불명.

 

 

미리 블로그스팟 환경설정에서 도메인 설정을 해놓아서 그런지, 자동으로 확인되었다.

 

 

등록을 마치니까 왼쪽 속성에 내 블로그 주소가 들어가있다. 클릭한다.

 

 

그리고 Sitemaps 탭에서 사이트맵과 RSS를 등록해준다.

2차 도메인 주소가 적용된 블로그스팟의 사이트맵과 RSS 주소는...

 

사이트맵 : https://www.2차도메인.com/sitemap.xml
RSS : https://www.2차도메인.com/feeds/posts/default?alt=rss

 

대충 이런 식인 것 같다. 나는 등록할 때 www를 붙여서 넣어주었다.

 

 

3. 구글 클라우드 플랫폼에서 Indexing API 설정 (이젠 필요 없음)

이제 구글 클라우드 플랫폼(링크)에 접속한 뒤, 오른쪽 위의 '콘솔' 을 클릭한다.

 

 

처음 클라우드에 들어온 지메일 계정이라면 이런 창이 뜨는데, 체크박스 2개에 체크하고 '동의 및 계속하기' 눌러준다.

 

 

그런 다음 화면 왼쪽 위의 '프로젝트 선택' 을 누른 뒤, '새 프로젝트' 를 클릭한다.

프로젝트 이름은... 그냥 기본값으로 두고 '만들기' 클릭한다.

 

 

이러면 몇 초 후에 프로젝트 만들기 성공 알림이 뜰 것이다.

 

 

이제 화면 왼쪽 상단의 三 - 'API 및 서비스' - '라이브러리' 에 들어간 뒤, 검색창에 'Indexing api' 라고 입력하고 엔터 키 친다.

검색결과에 나온 Indexing API에 들어간 뒤, 아까 생성한 프로젝트를 선택해준다.

 

 

그리고 '사용' 을 클릭한다.

 

 

그러면 잠시 후에 이런 화면이 뜨는데, '사용자 인증 정보' 탭으로 간다.

 

 

해당 탭에서 '사용자 인증 정보 만들기' - 'API 키' 를 클릭한다. 생성이 완료됐다고 뜨면 '닫기' 누른다.

 

 

같은 식으로 이번에는 '서비스 계정' 을 클릭한다. 서비스 계정 이름은 그냥 아무렇게나 정하고, 'ID 생성' 버튼을 누른 뒤 '만들고 계속하기' 를 클릭한다.

 

 

그리고 '역할 선택' 은 '현재 사용 중' - '소유자' 로 지정해주고 '완료' 눌러준다.

 

 

이제 서비스 계정 목록에 이메일 주소가 하나 생성되었을 텐데, 주소를 메모장에다 복사한다.

복사한 뒤 해당 주소를 클릭한다.

 

 

그리고 '' 탭으로 가서 '키 추가' - '새 키 만들기' 를 선택한다. 유형은 JSON으로 지정하고 '만들기' 버튼을 클릭하면...

 

 

이렇게 JSON 파일이 컴퓨터의 다운로드 폴더에 저장될 것이다. 메모장을 하나 더 켜고 해당 JSON 파일을 불러온다.

 

 

그리고 다음과 같은 절차를 수행한다.

1. 또 하나의 메모장을 더 켜고 색인 요청 스크립트 폴더의 'service_account.json' 파일을 불러온 뒤, 안의 내용을 전부 삭제한다.

2. 방금 다운로드 받은 json 파일의 내용을 전부 복사해서 'service_account.json' 파일에 붙여넣는다.

3. 'service_account.json' 파일을 저장한다.

 

 


완료했으면 다시 서치 콘솔로 돌아가서 '설정' - '사용자 및 권한' - '사용자 추가' 로 들어간다.

이메일 주소에는 아까 메모장에 복사해두었던 '서비스 계정의 이메일 주소' 를 입력한다. 그리고 권한'소유자'로 지정한 뒤, '추가' 를 누른다.

여기까지 하면 사용자 목록에 서비스 계정이 등록된 걸 확인할 수 있을 것이다.

현재 메모장이 총 3개 열려있을텐데, 이제 필요없으니 모두 닫아도 된다.

 

 

4. 색인 요청할 URL 지정 및 소스코드 수정 (이젠 필요 없음)

그리고 다시 메모장을 켜고 스크립트 폴더의 urls.txt 파일을 불러온다.

미리 들어간 내용은 싹 다 지우고, 본인이 색인을 요청할 블로그 게시물 주소를 나열한다.

API로 색인을 요청하는 건 하루 최대 200개까지인데, 요청 1회에 최대 100개까지만 묶어서 할 수 있다. 따라서 100개 이하로 주소를 지정하는 게 좋다. 또한 맨 마지막에 공백 줄은 없어야 한다. 나열한 뒤 저장하고 닫는다.

(나중에 색인 요청할 게시물 주소를 바꾸고 싶으면 urls.txt 파일을 수정하면 된다.)

 

 

그리고 또 다시 메모장을 켜고 (나도 이젠 지겹다) 스크립트 폴더의 index.js 파일을 불러온다.

그런 다음 소스 코드 중에 '.split' 라고 적힌 곳으로 간다.

원래 코드에는 .split('\n'); 이라고만 적혀있을텐데, \n\r\n으로 고친다. 그 후 저장하고 닫는다.

 

 

소스 코드를 고쳐야 하는 이유는, 안 고치고 색인 요청을 했을 때 URL 주소 뒤에 '\r' 이 끼어들어가는 문제가 있기 때문이다. 이러면 틀린 주소에 색인 요청을 하게 된다. 그래서 고쳐야 하는 것이다.

 

 

5. 색인 요청하기 (이젠 필요 없음)

참으로 오랜 시간이 걸렸다... 이제 정말로 마지막이다.

Visual Studio Code로 돌아와서 '폴더 열기' 로 스크립트 폴더를 불러온다. (이미 되어있으면 생략)

그리고 왼쪽 아래 'X표 !표' 클릭하고, 터미널 탭 클릭하고, 명령줄에 node index.js 입력하고 엔터 키 친다.

그렇게 하면...

 

 

마침내 API 기능을 통하여 구글 서치콘솔에 색인 요청을 하게 된다.

물론 이건 어디까지나 요청일 뿐이다. 실제로 색인이 이루어지고, 검색 결과에 노출되는 건... 머나먼 길이다.

이렇게 설치 및 초기설정을 다 해두었으니, 앞으로는 'urls.txt' 에 색인 요청할 게시물 주소를 넣는 것과 'node index.js' 라는 명령어만 잘 기억하고 있으면 된다.

그럼 이만...

 

 

6. 불편한 진실 : API나 자동으로 구글에 검색 색인을 요청할 방법은 없다.

 

이 글을 처음 올린지도 두 달 가까이 지났다.

내 블로그스팟은 11월 1일 이후 전혀 구글에게 크롤링도, 색인도 되지 않는다. (10월에 작성된 게시물만 색인 및 노출되고 있음.)

크롤링까지는 어떻게 수동으로 한다고 쳐도, 색인은 전혀 안 된다. 마치 보이지 않는 장벽이 있는 것처럼...

API를 통해 아무리 URL을 제출해도 '발견됨 - 현재 색인이 생성되지 않음', 'Google에는 아직 알려지지 않은 URL입니다.' 같은 소리만 뜨는 걸 보면서, 나는 API 색인 요청 스크립트가 사실상 무용지물이나 다름없는 것 아닌가라는 생각이 들었다.

 

 

결국 나는 API 색인 요청 스크립트가 정상 작동하는 게 맞는 건지, 인터넷을 조사하기 시작했다. 그러다가 아무 쓸모도 없을 줄 알았던 구글 서치 콘솔 고객센터에서 어느 답변을 발견했다. (링크)

 

Indexing API구인 정보나 동영상 페이지를 크롤링하는 데만 사용할 수 있다는 것이었다.

 

참으로 충격적인 소리였다. 그 복잡한 과정을 다 거쳐서 구축했는데... 이게 다 무용지물이라고?

 

 

도움말 페이지에 가보니 그러한 대목이 보인다. (링크)

아무래도 사실인 모양이다. 젠장... API 색인 요청 방식은 단순한 블로그 글에겐 전혀 쓸모가 없는 방식이었다.

결국 검색 색인은 구글 봇이 알아서 해줄 때까지 기다리거나, 서치콘솔에서 수동으로 한땀 한땀 '색인 생성 요청' 버튼을 눌러주는 것 말고는 없는 것이다.

 

 

현재 내 블로그스팟은 사이트맵 갱신도 제대로 안되는 등, 구글 봇을 전혀 기대할 수 없는 상태다.

답이 없다... 그냥 'URL 검사' 페이지에서 수동으로 색인을 요청하는 수밖에. 그것도 하루 10건 남짓으로만 말이다.

(TIP: 블로그스팟의 경우, 수동으로 색인을 요청해도 크롤링까지만 되고, 색인이 안되는 경우가 있다. 그럴때는 URL 뒤에 ?m=1 을 붙여서 다시 색인을 요청하면 될지도 모른다.)

 

아무튼, 지난 두 달 동안 잘못된 정보를 사실인 것처럼 믿고 있었던 내 자신이 한심스럽다...

따라서 뒤늦게나마 내용을 정정하기로 한다.

 

 

* 추신

저의 블로그스팟은 아래 링크를 타고 방문하실 수 있습니다.

https://www.k66google.com 

 

개망초의 창고(倉庫) - 티스토리 멸망 시 이주

이곳은 결코 완성될 수 없는 건물의 공사장 옆 창고다. - Erigeron annuus

www.k66google.com