서문
hexo에서 hexo-submit-urls-to-search-engine
플러그인을 사용하면 Hexo 블로그의 새 링크를 구글, 빙, 바이두 검색 엔진 웹마스터 플랫폼으로 능동적으로 푸시하여 웹사이트 수집 품질과 속도를 향상시킬 수 있습니다. 이 플러그인을 사용하면 모든 주요 검색 엔진에 순수 천연, 식물성 사료 색인 생성 요청을 보내 단 한 번의 노력으로 모든 것을 해결할 수 있습니다.
예를 들어, 지금 제 글은 때로는 게시 후 5분 만에 빙에서 검색할 수 있습니다 (최적의 경우이며 장기적인 안정성을 보장하지는 않습니다). 보시다시피, 이것이 hexo-submit-urls-to-search-engine
의 힘입니다. 바이두와 구글은 약간 뒤쳐져 있습니다.
이 세 가지 주요 검색 엔진은 전 세계 검색 엔진 시장 점유율의 97%를 차지합니다(메타 검색 엔진 다지, 덕덕고 등을 포함; 빙 색인을 사용하는 야후, 에코시아 등).
경고
비전문적으로 다른 유사한 푸시 코드를 사용하면 안전 결함, 중복 코드, 바퀴 재발명, 문서 씹어먹기, 인생에 대한 의심, 우울증, 두통, 심지어 죽음, 영혼 파괴, 소멸을 포함하되 이에 국한되지 않는 위험한 부작용을 초래할 수 있습니다.
공식 교류 QQ 그룹 및 Telegram 그룹은 서비스가 중단되었습니다. Github issue 페이지로 이동하여 토론에 참여하십시오.
조작 단계
빠른 시작:
- 각 웹마스터 플랫폼 키 가져오기
hexo-submit-urls-to-search-engine
플러그인 설치 및 구성hexo clean && hexo g && hexo d
, 푸시 결과 확인- 푸시에 성공하면 Github 주소 로 이동하여 Star 버튼을 클릭하여 지원하십시오.
- 겸사겸사 Github 프로젝트를 watch하여 플러그인 업그레이드 알림 받기
- 여기를 클릭하여 후원하기
웹마스터 플랫폼 키 가져오기
이 섹션에서 “기록"된 키는 모두 hexo의 _config.yml
에 채워지며, 형식은 나중에 제공됩니다.
웹사이트 확인 정보: 일부 Hexo 테마는 웹마스터 플랫폼 html 확인 태그 추가를 지원하며, 관련 설정을 입력한 후 hexo g && hexo d
를 실행하여 확인을 완료할 수 있습니다. 일반적인 자세한 작업 단계는 직접 구글 검색을 하십시오: hexo 웹마스터 플랫폼 확인
바이두
바이두는 중국의 검색 엔진입니다. 중국 당국에 복잡한 웹사이트 등록 절차를 거치지 않으면 웹사이트가 수집되기가 어렵습니다.
웹사이트 서버가 중국 외부에 있는 경우 웹사이트 등록 절차를 거치는 것이 기본적으로 불가능합니다.
이전 설명서를 참조하여 바이두에 링크를 제출하는 방법을 알아보십시오
빙
빙 웹마스터 플랫폼에는 신규 및 구버전이 있습니다.
- 빙 신규 웹마스터 플랫폼 등록 및 로그인 Bing Webmaster Tools
- 웹사이트 추가
- 웹사이트 관리 페이지, 설정, API 액세스, API 키로 이동하여 API 키 기록
(최근 빙 웹마스터 플랫폼 업그레이드로 서버 및 레이아웃이 불안정하여 토큰이 표시되지 않으면 잠시 후에 다시 시도하십시오) 이제 새로운 웹마스터 플랫폼으로 업그레이드되었습니다.
다음은 빙 구 웹마스터 플랫폼에서 가져온 그림입니다.
구글
서버가 중국에 있는 경우 구글에 푸시하려면 서버에서 국제 인터넷에 액세스할 수 있어야 합니다.
구글 웹마스터 플랫폼에도 신규 및 구버전이 있지만 두 사이트의 관계는 빙만큼 잘 처리되지 않습니다. 또한 우리가 사용하는 Google Indexing API는 웹마스터 플랫폼에서 제공하는 것이 아니라 구글 개발자 플랫폼에 속합니다. 과정에서 공식 문서(중국 본토에서 액세스 가능)를 참조하여 구성할 수 있습니다.
사용 단계:
- 공식 문서를 열고 지침에 따라 프로젝트를 생성하고 서비스 계정을 생성하십시오. 웹사이트에서 지침에 따라 구성 작업만 수행하면 되며 액세스 토큰 가져오기와 같은 후속 작업을 완료할 필요는 없습니다.
구글 공식 문서에 따라 구글의 새로운 “검색 콘솔"에서 권한 이메일 주소를 추가해도 “권한 없음” 메시지가 표시됩니다. 이전 웹사이트 웹마스터 도구로 이동하여 웹사이트를 클릭하고 이메일 주소를 추가하십시오.이제 새로운 웹마스터 플랫폼에서 직접 제출할 수 있습니다.- 가져온 json 키 파일을 hexo 루트 디렉터리(hexo _config.yml 파일과 같은 위치)에 넣습니다.
구글 이전 웹사이트 웹마스터 도구:
또한 공식 문서에는 다음과 같은 프롬프트가 있으므로 실제 상황에 따라 구글에 링크를 제출하는 기능을 활성화할지 여부를 결정하십시오.
현재 Indexing API는 JobPosting
또는 BroadcastEvent
(VideoObject
내에 중첩됨)가 포함된 웹 페이지를 크롤링하는 데만 사용할 수 있습니다. 채용 정보 또는 라이브 스트리밍 비디오와 같은 많은 단기 웹 페이지를 포함하는 웹사이트의 경우 Indexing API는 콘텐츠 업데이트를 개별적으로 푸시하여 검색 결과의 콘텐츠를 최신 상태로 유지합니다.
Indexing API 빠른 시작 | Google 검색 센터 | Google for Developers
어쨌든 저는 제출했습니다. 구글이 웹사이트를 크롤링하지 않으면 웹 페이지에
채용 정보 또는 라이브 스트리밍 비디오
가 포함되어 있지 않은 것을 어떻게 알 수 있을까요? 크롤링했으면채용 정보 또는 라이브 스트리밍 비디오
를 발견하지 못했더라도 자원을 낭비하고 이미 크롤링한 정보를 사용하지 않을 이유가 있을까요? 사용했으면 우리의 목적이 달성됩니다. 실제 사용 과정에서 구글이 이에 대한 권한을 줄이지도 않는 것 같습니다. 아마도 구글이 문서를 수정하는 것을 잊었을까요? 현재 이 문서에서 여러 해 동안 수정되지 않은 심각한 오류가 두 군데 있다는 것을 발견했습니다.
hexo 구성
이 플러그인 설치
hexo 루트 디렉터리에서 다음을 실행하십시오.
물론 중화권에서는
cnpm
을 사용하여 더 빠르게 다운로드할 수 있습니다.
npm install --save hexo-submit-urls-to-search-engine
이 플러그인은 yarn
설치도 지원합니다.
yarn add hexo-submit-urls-to-search-engine
hexo의 _config.yml 편집
hexo-submit-urls-to-search-engine
hexo-submit-urls-to-search-engine
플러그인을 구성하려면 다음을 hexo의 _config.yml
에 붙여넣으십시오.
팁
물론 환경 변수를 사용하여 키를 기록할 수 있으며, 이렇게 하면 소스가 공개 리포지토리에 있더라도 키가 유출되지 않습니다.
hexo_submit_urls_to_search_engine:
submit_condition: count #링크가 제출되는 조건, 옵션 값: count | period 현재 count만 지원
count: 10 # 최신 10개 링크 제출
period: 900 # 수정 시간이 900초 이내인 링크 제출
google: 0 # 구글에 제출할지 여부, 옵션 값: 1 | 0(0: 아니오; 1: 예)
bing: 1 # 빙에 제출할지 여부, 옵션 값: 1 | 0(0: 아니오; 1: 예)
baidu: 1 # 바이두에 제출할지 여부, 옵션 값: 1 | 0(0: 아니오; 1: 예)
txt_path: submit_urls.txt ## 텍스트 문서 이름, 푸시해야 할 링크가 이 텍스트 문서에 저장됨
baidu_host: https://cjh0613.github.io ## 바이두 웹마스터 플랫폼에 등록된 도메인
baidu_token: 문서에 따라 가져오기 ## 이것은 키이므로 공개 리포지토리에 직접 게시하지 마십시오!
bing_host: https://cjh0613.github.io ## 빙 웹마스터 플랫폼에 등록된 도메인
bing_enable_indexnow: false # indexNow를 사용하여 빙에 링크를 제출할지 여부: true(예) | false(아니오). 2.1.1 이상 버전에서만 이 기능을 활성화할 수 있습니다.
bing_token: 문서에 따라 가져오기 ## 이것은 키이므로 공개 리포지토리에 직접 게시하지 마십시오!
google_host: https://cjh0613.github.io ## 구글 웹마스터 플랫폼에 등록된 도메인
google_key_file: Project.json #구글 키의 json 파일을 저장하는 파일, 웹사이트 루트 디렉터리(hexo _config.yml 파일과 같은 위치)에 넣으십시오. json 파일 내용을 공개 리포지토리에 직접 게시하지 마십시오!
google_proxy: http://127.0.0.1:8080 # 구글에 URL을 제출하는 데 사용되는 시스템 http 프록시, 0을 입력하면 사용하지 않음
replace: 0 # 링크에서 일부 문자열을 바꿀지 여부, 옵션 값: 1 | 0(0: 아니오; 1: 예)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
키를 공개하는 결과
당신의 “원수”, 자의식을 가진 인공지능, 테러리스트가 당신의 키를 사용하여 존재하지 않는 페이지 링크를 검색 엔진에 푸시할 수 있습니다. 이렇게 하면 할당량을 소비하여 정상적으로 푸시할 수 없게 되며, 죽은 링크를 푸시하여 웹사이트 가중치를 떨어뜨립니다.
주석
- submit_condition: 링크를 제출할지 여부를 판단하는 두 가지 방법 즉, count | period를 지원합니다. 각각 아래의 count | period 구성 항목을 적용합니다.
- period: 시간(초)입니다. 게시물 업데이트 시간과 이 플러그인 실행 시간의 차이가 이 값보다 작으면 해당 링크가 제출됩니다. 예: a.html과 b.html이라는 두 개의 파일이 있고 각각
https://yoursite.com/a.html
과https://yoursite.com/b.html
에 해당하며, 업데이트 시간과 이 플러그인 실행 시간의 차이가 각각 800초와 1000초인 경우(period 필드가 900으로 설정됨)https://yoursite.com/a.html
이 제출되고https://yoursite.com/b.html
이 제출되지 않습니다. - google_proxy: 구글에 URL을 제출하는 데 사용되는 시스템 http 프록시이며, 형식은
http://proxyhost:port
입니다.proxyhost
와port
를 수정하십시오. Hexo가 해외에 배포된 경우 0을 입력하여 사용하지 않을 수 있습니다. 과학 인터넷 소프트웨어를 사용하는 경우proxyhost
는 일반적으로127.0.0.1
이고port
는 소프트웨어에서 설정에서 볼 수 있으며 일반적으로8080
입니다. Win10에서는 설정->프록시에서 확인할 수 있습니다. - replace: 일부 링크가 올바르게 생성되지 않을 수 있습니다(예: 중국어 도메인, 홈페이지가
http://cjh0613.github.io/blog
등에 있는 경우). 이는 생성된 모든 링크에서 지정된 문자열을 바꾸는 간단한 방법입니다. 예에서http://cjh0613.github.io/blog
를https://cjh0613.com
으로 바꿉니다. 중국어 도메인을 변환된 도메인으로 바꿀 수도 있습니다.
2020.7.12 이 섹션에 주석 업데이트, liuyib에게 제안에 감사드립니다. 2021.5.12 google_proxy 추가
위 구성을 완료하면 hexo 루트 디렉터리에서 hexo generate
명령을 실행할 때 푸시할 링크를 저장하기 위해 .txt
파일이 생성됩니다.
이 파일을 열어 링크가 올바른지 확인할 수 있습니다. 올바르지 않은 경우 hexo의 _config.yml
을 방문하여 구성하십시오. 이 .txt
파일을 수동으로 수정하여 링크를 푸시할 수도 있습니다.
배포
이전에 deploy:
구성 항목을 추가하지 않은 경우 아래 내용을 hexo의 _config.yml
에 직접 붙여넣어 기본 deploy:
구성 항목을 덮어쓰십시오.
deploy:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
이 단계를 완료하면 hexo deploy
명령을 실행할 때 자동으로 링크를 검색 엔진으로 푸시할 수 있습니다.
- 이전에 이 명령을 사용하여 배포했는지 여부에 관계없이 푸시를 트리거하려면
hexo deploy
또는hexo d
명령을 실행해야 합니다.
물론 그 전에 hexo generate
를 실행하여 푸시할 링크를 저장하기 위해 최신 .txt 파일을 생성해야 합니다.
푸시가 성공적으로 완료되면 Github 리포지토리에서 Star로 지원해주시면 감사하겠습니다!
이미 deploy:
구성 항목을 설정한 경우 위의 코드 블록을 직접 붙여넣으면 구성 충돌 메시지가 표시됩니다. 기존 deploy:
구성 항목 아래에 직접 추가하면 됩니다. 예:
deploy:
- type: git
repo:
coding: git@xxx
branch: master
#이 플러그인의 구성 항목을 추가합니다:
- type: cjh_google_url_submitter
- type: cjh_bing_url_submitter
- type: cjh_baidu_url_submitter
참고: 위의 각 type:
앞에 -
가 있습니다.
지속적인 통합 지원
이 섹션에서는 공개 리포지토리에 저장된 hexo 및 CI(지속적인 통합, 예를 들어 Github Action, travis, coding-ci, netlify 등)를 사용하여 컴파일 및 배포하는 배포 방법에 대한 참조를 제공합니다.
바이두와 빙은 환경 변수를 사용하여 키를 기록할 수 있으며, 구글은 다른 해결 방법이 있습니다. 아래 참조
CI 자동 배포를 사용하는 경우 각 페이지의 Front-matter(개별 파일의 변수를 지정하는 데 사용되는 ---
로 구분된 .md
파일의 맨 위 영역)에 updated:
를 추가하여 Hexo에 “게시물 최종 수정 시간"을 알려야 합니다. 예를 들면 다음과 같습니다.
---
title: Hello World
date: 2013/7/13 20:46:25
updated: 2020-08-25 9:36:00
---
이것은 파일이 로컬 컴퓨터에 있을 때 updated:
가 없으면 Hexo가 파일 속성을 읽고 “파일 최종 수정 시간"을 “게시물 최종 수정 시간"으로 사용하여 최신 10개 링크를 정상적으로 판단하고 제출할 수 있기 때문입니다. 그러나 CI 자동 배포에서는 Hexo 리소스가 서버로 복제되었기 때문에 updated:
를 추가하지 않으면 Hexo도 파일 속성을 읽지만 이 경우 속성의 최종 수정 시간은 모두 동일한 git 복제 시간입니다. Hexo는 잘못된 “게시물 최종 수정 시간"을 얻어 최신 링크를 정상적으로 판단하고 제출할 수 없습니다.
- 먼저
hexo_submit_urls_to_search_engine:
의 구성 항목baidu_token:
및bing_token:
에0
을 입력하십시오. - 환경 변수
BAIDU_TOKEN
,BING_TOKEN
을 설정하고 값은 가져온token
입니다. - Github Action을 사용하는 경우
yml
파일에 환경 변수를 설정해야 합니다. 아래에 예가 있습니다. hexo clean && hexo generate && hexo deploy
를 실행하여 삶을 즐기십시오.
참고:
hexo_submit_urls_to_search_engine:
submit_condition: count #링크가 제출되는 조건, 옵션 값: count | period 현재 count만 지원
count: 10 # 최신 10개 링크 제출
period: 900 # 수정 시간이 900초 이내인 링크 제출
google: 1 # 구글에 제출할지 여부, 옵션 값: 1 | 0(0: 아니오; 1: 예)
bing: 1 # 빙에 제출할지 여부, 옵션 값: 1 | 0(0: 아니오; 1: 예)
baidu: 1 # 바이두에 제출할지 여부, 옵션 값: 1 | 0(0: 아니오; 1: 예)
txt_path: submit_urls.txt ## 텍스트 문서 이름, 푸시해야 할 링크가 이 텍스트 문서에 저장됨
baidu_host: https://en.cjh0613.com ## 바이두 웹마스터 플랫폼에 등록된 도메인
baidu_token: 0 ## 이것은 키이므로 공개 리포지토리에 직접 게시하지 마십시오!
bing_host: https://en.cjh0613.com ## 빙 웹마스터 플랫폼에 등록된 도메인
bing_token: 0 ## 이것은 키이므로 공개 리포지토리에 직접 게시하지 마십시오!
google_host: https://en.cjh0613.com ## 구글 웹마스터 플랫폼에 등록된 도메인
google_key_file: Project.json #구글 키의 json 파일을 저장하는 파일, 웹사이트 루트 디렉터리(hexo _config.yml 파일과 같은 위치)에 넣으십시오. json 파일 내용을 공개 리포지토리에 직접 게시하지 마십시오!
google_proxy: 0 # 구글에 URL을 제출하는 데 사용되는 시스템 http 프록시, 0을 입력하면 사용하지 않음
replace: 0 # 링크에서 일부 문자열을 바꿀지 여부, 옵션 값: 1 | 0(0: 아니오; 1: 예)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
Github Action에서는 yml
파일에 환경 변수를 설정해야 합니다.
- name: xxxx #아무거나 입력
env:
BAIDU_TOKEN: ${{ secrets.BAIDU_TOKEN }} # 여기를 주의, 나머지는 모두 허상입니다.
BING_TOKEN: ${{ secrets.BING_TOKEN }} # 여기를 주의, 나머지는 모두 허상입니다.
run: |
npm i -g hexo-cli # hexo 설치
npm i
……
hexo deploy
구글에 링크를 푸시하는 경우, json
키 파일에 정보가 너무 많고 환경 변수를 복사하여 붙여넣기하고 설정하는 것이 너무 번거롭습니다. json
키 파일을 개인 리포지토리에 넣고 복제하여 루트 디렉터리에 복사하여 해결했습니다.
플러그인 업그레이드
플러그인 업그레이드 알림
이 플러그인을 설치한 후 Github 에서 이 프로젝트를 watch하여 플러그인 업그레이드 알림을 받으십시오(릴리스만 선택하여 업그레이드 알림만 받고, 감시를 선택하면 이메일을 통해 Issues, Pull requests 등이 푸시됩니다)
업그레이드 작업
hexo 루트 디렉터리에서 다음을 실행하십시오.
물론 중화권에서는
cnpm
을 사용하여 더 빠르게 다운로드할 수 있습니다.
npm install --save hexo-submit-urls-to-search-engine@버전
이전에 제가 제공한 명령은 npm update --save hexo-submit-urls-to-search-engine
이지만 실제 테스트할 때 문제가 발생했습니다.
yarn
업그레이드:
yarn add hexo-submit-urls-to-search-engine@버전
호환되지 않는 업그레이드
경고
때로는 플러그인 업그레이드가 하위 호환되지 않아 hexo의 _config.yml
에서 이 플러그인과 관련된 구성 항목을 수정하거나 다른 수정을 해야 할 수도 있습니다.
이러한 상황은 일반적으로 버전 번호에서 첫 번째 소수점 앞의 숫자가 증가할 때 발생합니다. 예: ^1.0.0
에서 ^2.0.0
으로 업그레이드
1.x.x에서 2.x.x로 업그레이드:
hexo_submit_urls_to_search_engine:
구성 항목에 다음 세 가지 구성 항목을 추가해야 합니다.
replace: 0 # 링크에서 일부 문자열을 바꿀지 여부, 옵션 값: 1 | 0(0: 아니오; 1: 예)
find_what: http://cjh0613.github.io/blog
replace_with: https://cjh0613.com
이번 업그레이드는 하위 호환이 된다는 것을 알았습니다. 이 세 가지 구성 항목이 없어도 오류가 발생하지 않습니다…
반환 정보
성공적인 푸시 정보
빙
Bing response: { d: null }
구글
Google response: { urlNotificationMetadata:
{ url:
'https://cjh0613.github.io',
latestUpdate:
{ url:
'https://cjh0613.github.io',
type: 'URL_UPDATED',
notifyTime: '2020-06-12T05:37:25.701779228Z' } } }
기타
다른 반환은 해당 공식 문서를 참조할 수 있지만 일반적으로 반환 내용을 번역하면 이유를 알 수 있습니다.
때로는 검색 엔진에서 매일 일정 수의 링크만 제출하도록 허용하기 때문입니다. 해당 공식 웹사이트에 로그인하여 확인할 수 있습니다. 내 사이트 도메인 cjh0613.github.io
를 cjh0613.com으로 변경한 후 빙 할당량이 10개였지만 10일 연속으로 푸시한 후 할당량이 갑자기 10에서 10000으로 변경되었습니다.
일부 링크 푸시에 실패하면 수동으로 처리하십시오. 피드백에 따라 제출 링크가 저장된 txt를 수정하고(일반적으로 성공적으로 푸시된 링크를 제거) hexo deploy
만 실행하여 다시 푸시하고 웹사이트를 다시 생성할 필요는 없습니다.
매일 검색 엔진에 링크를 푸시하려면 매일 hexo d
를 실행하거나 Github Action을 설정하여 매일 hexo g && hexo d
를 실행할 수 있습니다. 바퀴를 다시 만들 필요는 없습니다.
결과 확인
색인 확인
이 사이트의 색인 예를 들어 임의의 검색 엔진을 열고 site:도메인
을 입력합니다. 여기서는 다음과 같습니다.
site:cjh0613.github.io
검색하면 됩니다.
새 사이트의 색인 수가 0→1이 되는 데 시간이 오래 걸릴 수 있습니다. 한 달 정도 걸릴 수도 있습니다… 기다려주십시오.
실제 수집 속도는 다른 요인과도 관련이 있으며, 온라인 SEO 자료가 많지만 모두 공식 설명을 중심으로 합니다.
푸시 기록 확인
빙
빙 신규 웹마스터 플랫폼에 로그인하면 자세한 푸시 링크 목록을 확인할 수 있습니다(실시간 업데이트).
https://www.bing.com/webmasters/submiturl?siteUrl=당신의웹사이트링크
구글
다음 주소의 “오류” 테이블에서 일정 기간(최대 최근 30일) 동안 누적 푸시 링크 수와 실패한 푸시의 백분율을 확인할 수 있습니다(실시간 업데이트). 매일 제출된 데이터 차트를 제공했지만 제공하지 않은 것과 같습니다…
https://console.developers.google.com/apis/api/indexing.googleapis.com/metrics?project=
이 플러그인을 개발한 참고 자료
이 문서는 AI에서 Chinese (Simplified)를 Korean으로 번역했습니다.