IndexNow 사용법

IndexNow 사용법 updated_at: 2024-03-19 12:11

IndexNow

IndexNow는 현재 Bing(마이크로소프트, 미국), Naver(한국), Yandex(소련) 등이 지원하고 있습니다.

키획득

  • https://www.bing.com/indexnow/getstarted
  1. Generate API key
  2. Host your API key
  3. SubmitURLs

Bing

POST 방식

$urlList = [env('APP_URL').'/'.$path];
$query = [
  'host'=> env('APP_URL'),
  'key'=> env('INDEXNOW_KEY'),
  'keyLocation'=>env('APP_URL').'/'.env('INDEXNOW_KEY').'.txt',
  'urlList'=> $urlList
];

$client = new \GuzzleHttp\Client();
$endpoint = 'api.indexnow.org';

$response = $client->request('POST', $endpoint, ['form_params' => $query]);

확인

https://www.bing.com/webmasters 로 로그인 후 IndexNow로 들어가면 현재 진행된 내용을 볼 수 있습니다.

Naver

네이버 - 페이지 갱신 요청하기

https://searchadvisor.naver.com/indexnow?key=4c1b569...&keyLocation=https://www.onstory.fun/4c1b569....txt&url=https://www.onstory.fun/doc/programming/nodejs
  • Laravel에서 GuzzleHttp 를 이용하여 간단히 만든 네이버용 IndexNow

GET 방식

$client = new \GuzzleHttp\Client();
$endpoint = 'searchadvisor.naver.com/indexnow';
$query = [
  'key'=> env('INDEXNOW_KEY'),
  'keyLocation'=>env('APP_URL').'/'.env('INDEXNOW_KEY').'.txt',
  'url'=>env('APP_URL').'/'.$path
];
$response = $client->request('GET', $endpoint, ['query' => $query]); // GET 을 사용할 경우 'query' 변수에 담아 보낸다.
Log::info($response->getStatusCode());

POST 방식

이 부분은 네이버에서 제공하는 API와 다른지 에러가 발생합니다.
참조로만 봐 주시기 바랍니다. 이후 성공시 업데이트 하도록 하겠습니다.

$urlList = [env('APP_URL').'/'.$path];
$query = [
  'host'=> env('APP_URL'),
  'key'=> env('INDEXNOW_KEY'),
  'keyLocation'=>env('APP_URL').'/'.env('INDEXNOW_KEY').'.txt',
  'urlList'=> $urlList
];
$headers = [
  'Content-Type' => 'application/json; charset=utf-8'
];

$endpoint = 'https://searchadvisor.naver.com/indexnow';

$response = $client->request('POST', $endpoint, ['json' => $query, 'headers' => $headers]);
평점을 남겨주세요
평점 : 5.0
총 투표수 : 1