[네이버웹마스터 가이드] 신디케이션 작성된 문서 전송 방법 > 웹문서/검색 마케팅

본문 바로가기

사이트 내 전체검색

뒤로가기 웹문서/검색 마케팅

[네이버웹마스터 가이드] 신디케이션 작성된 문서 전송 방법

페이지 정보

작성자 금탑 작성일 21-07-16 11:12 조회 8,122 댓글 0

본문

신디케이션 문서의 전송 방법

네이버 신디케이션을 사용하는 웹 사이트는 네이버 신디케이션 서버에 핑(ping)을 전송하여 콘텐츠가 변경(등록/수정/삭제)되었음을 알립니다. 이때 변경된 콘텐츠를 담고 있는 네이버 신디케이션 문서의 주소를 핑 URL이라 정의합니다.

핑 URL을 수신하는 네이버 신디케이션 서버의 주소는 https://apis.naver.com/crawl/nsyndi/v2 입니다.

핑 URL 전송 제한 사항

핑 URL 1일 최대 전송 횟수는 웹마스터도구 로그인 계정당 1,000회입니다. 단일 계정에 여러 개의 사이트를 등록하였다면 계정에 포함된 모든 사이트의 핑 URL 전송 횟수 합계가 1,000회를 넘지 않도록 사이트 별로 조정해야 합니다.

핑 URL은 네이버 신디케이션을 사용하는 웹 사이트에 있어야 합니다. 예를 들어, 웹마스터도구에서 소유 확인된 http://www.example.com의 콘텐츠를 네이버 신디케이션으로 전송한다면, 핑 URL은 http://www.example.com/syndi/doc.xml과 같이 동일 호스트 주소를 사용해야 합니다. 호스트 이름이 상이한 http://sub.example.com/syndi/doc.xml 과 같은 주소는 사용할 수 없음을 주의해주세요

핑 URL은 URL 인코딩을 하여 전송해야 합니다.

핑 전송 예제

  • 핑 전송 명세
    HTTP 헤더: Authorization 필드에 Bearer 인증키 명시
    HTTP 메소드: POST 방식
    호출주소: https://apis.naver.com/crawl/nsyndi/v2
    파라미터: ping_url=신디케이션 문서를 담고있는 핑 URL
  • HTTP 요청 헤더의 Authorization 필드에 토큰 타입(Bearer)과 함께 인증키를 명시
User-Agent: request
 Host: apis.naver.com
 Pragma: no-cache
 Content-type: application/x-www-form-urlencoded
 Accept: */*
 Authorization: Bearer KKAARBaYmh9…(중략)…Wdjghm1c 
<?php
 $ping_auth_header = "Authorization: Bearer KKAARBaYmh9…(중략)…Wdjghm1c"; /* Bearer 타입의 인증키 정보 */
 $ping_url = "http%3A%2F%2Fwww.example.com%2Fsyndi%2Fdoc.xml"; /* 신디케이션 문서를 담고 있는 핑 URL */
 $ping_client_opt = array(
 CURLOPT_URL => "https://apis.naver.com/crawl/nsyndi/v2", /* 네이버 신디케이션 서버 호출주소 */
 CURLOPT_POST => true, /* POST 방식 */
 CURLOPT_POSTFIELDS => "ping_url=" . $ping_url, /* 파라미터로 핑 URL 전달 */
 CURLOPT_RETURNTRANSFER => true,
 CURLOPT_CONNECTTIMEOUT => 10,
 CURLOPT_TIMEOUT => 10,
 CURLOPT_HTTPHEADER =>
 array("Host: apis.naver.com", "Pragma: no-cache", "Accept: */*", $ping_auth_header) /* 헤더에 인증키 정보 추가 */
 );
 $ping = curl_init();
 curl_setopt_array($ping, $ping_client_opt);
 curl_exec($ping);
 curl_close($ping);
 ?>

신디케이션 핑 전송 검증

웹마스터도구의 검증 > 신디케이션 핑 메뉴에서 검증 결과를 확인할 수 있습니다.
핑 수집 요청 시 1일 최대 핑 전송 횟수인 1,000건에서 1건씩 차감되며, 핑 수집 요청의 처리 결과가 “정상”이 아닌 경우에는 사용자의 핑 전송 방식을 점검해야 합니다.

신디케이션의 응답 메시지

사용자가 네이버 신디케이션으로 핑을 전송하였을 때, 네이버 신디케이션 서버의 응답 메시지입니다.

응답 코드응답 메시지설명
000Success전송이 성공하였습니다.
024Authentication failed인증 실패하였습니다.
028Authentication header not existsOAuth Header가 없습니다.
029Auth Authentication failed요청한 Authorization값을 확인할 수 없습니다.
030Https protocol is requiredhttps 프로토콜로 요청해주세요.
051Api not exists존재하지 않는 API 입니다.
061Malformed url잘못된 형식의 호출 URL입니다.
063Malformed encoding잘못된 형식의 인코딩 문자입니다.
071Unsupported return format지원하지 않는 리턴 포맷입니다.
120No contents전송된 내용이 없습니다. (ping_url 필요)
121Invalid parameter유효하지 않은 parameter가 전달되었습니다.
122Invalid site등록되지 않은 사이트 입니다.
123Exceed ping limit1일 전송 횟수를 초과하였습니다.
124Invalid alliance site신디케이션 제휴가 안된 사이트입니다.
125Invalid user소유확인이 안된 사이트의 소유자입니다.
130Internal server error. Try again서버 내부의 오류입니다. 재시도 해주세요.

예) 핑 전송에 성공한 경우, 아래와 같은 응답 메시지를 받습니다.

<?xml version="1.0" encoding="UTF-8"?>
 <result>
 <message><![CDATA[OK]]></message>
 <error_code><![CDATA[000]]></error_code>
 <receipt_number>c323cc3e2ab83ee92d14a3296c3bb11k</receipt_number> 
 </result>

예) 유효하지 않은 인증키로 핑을 전송하였을 때, 아래와 같은 응답 메시지를 받습니다.

<?xml version="1.0" encoding="UTF-8"?>
 <result>
 <message><![CDATA[Authentication failed (인증 실패하였습니다.)]]></message> 
 <error_code><![CDATA[024]]></error_code>
 <receipt_number />
 </result>


출처 : 네이버 웹마스터 가이드

댓글목록 0

등록된 댓글이 없습니다.

Copyright © admoim.kr All rights reserved.
PC 버전으로 보기