Indexing API 사용
개요
Indexing API를 사용하여 Google 색인에서 페이지를 업데이트하거나 삭제하도록 Google에 요청할 수 있습니다.
요청에서는 웹페이지의 위치를 지정해야 합니다. Google에 전송한 알림의 상태를 확인할 수도 있습니다. 현재 Indexing API는 VideoObject
에 삽입된
BroadcastEvent
또는
JobPosting
가 포함된 페이지를
크롤링하는 데만 사용할 수 있습니다.
Indexing API로 요청을 전송할 때는 독립된 웹페이지의 위치를 정의하여 페이지를 크롤링하거나 색인에서 삭제할 수 있음을 Google에 알리세요.
다음 예에서 Indexing API로 할 수 있는 작업을 알아볼 수 있습니다.
URL 업데이트하기
Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_UPDATED" } Send the following HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish endpoint { "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" } Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata endpoint |
매개변수
다음 표에서는 모든 메소드(URL 업데이트 및 삭제)에 필요한 필드를 설명합니다.
필드 | |
---|---|
url |
필수 업데이트하거나 삭제하려는 항목의 정규화된 위치입니다. |
type |
필수 제출한 알림의 유형입니다. |
가이드라인
다음 가이드라인은 URL 요청 업데이트 및 삭제에 적용됩니다.
- 모든 https://indexing.googleapis.com/v3/UrlNotifications:publish 호출은
Content-Type
헤더로 'application/json'을 사용해야 합니다. - 업데이트 요청의 본문에서 하나의 URL만 제출하거나 일괄 색인 생성 요청 보내기에 설명된 대로 최대 100개의 요청을 일괄적으로 결합할 수 있습니다.
- 이 예에 표시된 요청 본문은 액세스 토큰 예제에 사용된
content
변수의 값입니다.
URL 업데이트하기
크롤링할 새로운 URL 또는 이전에 제출된 URL의 콘텐츠가 업데이트되었음을 Google에 알리려면 다음 단계를 따르세요.
- 다음 엔드포인트에
POST
요청을 제출합니다.Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- 요청 본문에서 다음 구문을 사용하여 페이지의 위치를 지정합니다.
{ "url": "content_location", "type": "URL_UPDATED" }
- Google은 정상적인 Indexing API 호출에
HTTP 200
으로 응답합니다.HTTP 200
응답은 Google에서 곧 이 URL을 다시 크롤링할 수 있다는 의미입니다. 응답 본문에는UrlNotificationMetadata
객체가 포함되며, 이 객체의 필드는 알림 상태 요청에서 반환된 필드에 해당합니다. HTTP 200
응답을 받을 수 없는 경우 Indexing API 관련 오류를 참고합니다.- 페이지의 콘텐츠가 변경된 경우 업데이트 알림을 다시 제출하면 Google에서 페이지를 다시 크롤링합니다.
- 기본값보다 많은 할당량이 필요할 수 있습니다. 현재 할당량을 확인하고 추가 할당량을 요청하려면 할당량을 참조하세요.
URL 삭제하기
서버에서 페이지를 삭제하거나 페이지의 <head>
섹션에
<meta name="robots" content="noindex" />
태그를 추가한 경우, Google에 알려서 색인에서 페이지를 삭제하고 페이지를 다시 크롤링 및 색인 생성하지 않도록 합니다. 삭제를 요청하려면
URL이 404 또는 410 상태 코드를 반환하거나 페이지에 <meta name="robots" content="noindex" />
meta
태그가 포함되어 있어야 합니다.
색인에서 삭제를 요청하려면 다음 단계를 따르세요.
- 다음 엔드포인트에
POST
요청을 제출합니다.Send a HTTP POST request to https://indexing.googleapis.com/v3/urlNotifications:publish
- 다음 구문을 사용하여 요청 본문에서 삭제할 URL을 지정합니다.
{ "url": "content_location", "type": "URL_DELETED" }
예:
{ "url": "https://careers.google.com/jobs/google/technical-writer", "type": "URL_DELETED" }
- Google은 정상적인 Indexing API 호출에
HTTP 200
으로 응답합니다.HTTP 200
응답은 Google이 색인에서 이 URL을 삭제할 수 있다는 의미입니다. 응답 본문에는UrlNotificationMetadata
객체가 포함되며, 이 객체의 필드는 알림 상태 요청에서 반환된 필드에 해당합니다. HTTP 200
응답을 받을 수 없는 경우 Indexing API 관련 오류를 참고합니다.- 기본값보다 많은 할당량이 필요할 수 있습니다. 현재 할당량을 확인하고 추가 할당량을 요청하려면 할당량을 참조하세요.
알림 상태 받기
Indexing API를 사용하여 URL과 관련된 각각의 알림 유형을 Google에서 마지막으로 수신한 시간을 확인할 수 있습니다. GET
요청은 Google에서 URL을 색인 생성하거나 삭제한 시기를 알려 주지 않으며, 요청을 정상적으로 제출했는지 여부만 반환합니다.
알림 상태를 확인하려면 다음 단계를 따르세요.
- 다음 엔드포인트에
GET
요청을 제출합니다. 지정하는 URL은 URL로 인코딩되어야 합니다. 예를 들어:
(콜론)은%3A
로,/
(슬래시)는%2F
로 변경합니다.Send a HTTP GET request to https://indexing.googleapis.com/v3/urlNotifications/metadata?url=url-encoded_url
예:
GET https://indexing.googleapis.com/v3/urlNotifications/metadata?url=https%3A%2F%2Fcareers.google.com%2Fjobs%2Fgoogle%2Ftechnical-writer
- Indexing API에서 알림에 관한 세부정보가 포함된 페이로드와 함께
HTTP 200
메시지로 응답합니다. 다음 예에서 업데이트 및 삭제 알림에 관한 정보가 포함된 응답의 본문을 확인할 수 있습니다.{ url: "http://foo.com", latest_update: { type: "URL_UPDATED", notify_time: "2017-07-31T19:30:54.524457662Z" }, latest_remove: { type: "URL_DELETED", notify_time: "2017-08-31T19:30:54.524457662Z" } }
HTTP 200
응답을 받을 수 없는 경우 Indexing API 관련 오류를 참고합니다.- 기본값보다 많은 할당량이 필요할 수 있습니다. 현재 할당량을 확인하고 추가 할당량을 요청하려면 할당량을 참조하세요.
일괄 색인 생성 요청 보내기
클라이언트에 필요한 HTTP 연결의 수를 줄이기 위해 최대 100건의 Indexing API 호출을 하나의 HTTP 요청으로 결합할 수 있습니다. 배치라고 부르는 다중 요청에서 이 작업을 할 수 있습니다.
Indexing API에 일괄 요청을 전송할 때는 다음 엔드포인트를 사용하세요.
https://indexing.googleapis.com/batch
일괄 요청의 본문에는 여러 부분이 포함됩니다. 각 부분은 자체로 완전한 HTTP 요청이며 자체의 동사, URL, 헤더 및 본문이 있습니다. 일괄 요청 내 각 부분의 크기는 1MB를 초과할 수 없습니다.
일괄 요청을 더 쉽게 보낼 수 있도록 Google API 클라이언트 라이브러리에서는 일괄 처리 기능을 지원합니다. 클라이언트 라이브러리를 통한 일괄 처리를 자세히 알아보려면 다음 언어별 페이지를 참조하세요.
이러한 페이지의 일괄 처리 예시를 사용하는 경우 액세스 토큰 가져오기에 설명된 구현 요구사항을 반영하도록 코드를 업데이트해야 할 수 있습니다.
아래의 일괄 요청 메시지 본문 예시에는 업데이트 알림과 삭제 알림이 포함되어 있습니다.
POST /batch HTTP/1.1 Host: indexing.googleapis.com Content-Length: content_length Content-Type: multipart/mixed; boundary="===============7330845974216740156==" Authorization: Bearer oauth2_token --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+2> POST /v3/urlNotifications:publish [1] Content-Type: application/json accept: application/json content-length: 58 { "url": "http://example.com/jobs/42", "type": "URL_UPDATED" } --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+1> POST /v3/urlNotifications:publish [2] Content-Type: application/json accept: application/json content-length: 75 { "url": "http://example.com/widgets/1", "type": "URL_UPDATED" } --===============7330845974216740156== Content-Type: application/http Content-Transfer-Encoding: binary Content-ID: <b29c5de2-0db4-490b-b421-6a51b598bd22+3> POST /v3/urlNotifications:publish [3] Content-Type: application/json accept: application/json content-length: 58 { "url": "http://example.com/jobs/43", "type": "URL_DELETED" } --===============7330845974216740156==
자세한 내용은 일괄 요청 보내기를 참고하세요.