Google Indexing API
У меня есть веб-сайт портала вакансий (Wordpress + PHP), и я хочу использовать API индексации Google для своего веб-сайта. У меня нет опыта работы с GoogleAPI, поэтому я просто прочитал их рекомендации. Согласно руководству, для использования API индексации у него есть 3 шага:
- Выполните предварительные условия, включив API индексирования, создав новую учетную запись службы и подтвердив право собственности в консоли поиска.
- Получите токен доступа для аутентификации вашего вызова API.
- Отправляйте запросы на уведомление Google о новых, обновленных или удаленных веб-страницах.
Я выполнил шаг 1, но шаг 2 и 3 меня действительно смущают. Похоже, мне нужно получить токен OAuth с кодированием, но куда мне поместить этот код? Для использования API, они показывают мне этот пример:
POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
"url": "https://careers.google.com/jobs/google/technical-writer",
"type": "URL_UPDATED"
}
Опять же, я не уверен, где я могу поместить этот блочный код в API. Может кто-нибудь знает об этом, может шаг за шагом объяснить, как это сделать для меня? Последний вопрос: потому что мой сайт получает около 10 - 15 новых вакансий в день. Могу ли я как-то установить этот API индексации для автоматической отправки запроса в Google всякий раз, когда кто-то публикует новую работу? С Уважением,
5 ответов
Вы должны передать его как заголовок проверки подлинности на предъявителя в вашем запросе.
Авторизация: Носитель
Вы также можете передать его как часть строки запроса, но я не могу вспомнить, работает ли это с почтовыми вызовами.
POST https://indexing.googleapis.com/v3/urlNotifications:publish?Access_token=XXXX
{
"url": "https://careers.google.com/jobs/google/technical-writer",
"type": "URL_UPDATED"
}
Если вы используете php, вам следует подумать об использовании клиентской библиотеки Google php, которая сделает большую часть этого за вас. что они рекомендуют в примере здесь
require_once 'google-api-php-client/vendor/autoload.php';
$client = new Google_Client();
// service_account_file.json is the private key that you created for your service account.
$client->setAuthConfig('service_account_file.json');
$client->addScope('https://www.googleapis.com/auth/indexing');
// Get a Guzzle HTTP Client
$httpClient = $client->authorize();
$endpoint = 'https://indexing.googleapis.com/v3/urlNotifications:publish';
// Define contents here. The structure of the content is described in the next step.
$content = "{
\"url\": \"http://example.com/jobs/42\",
\"type\": \"URL_UPDATED"
}";
$response = $httpClient->post($endpoint, [ 'body' => $content ]);
$status_code = $response->getStatusCode();
Убедитесь, что вы настроили сервисную учетную запись, правильно создайте сервисную учетную запись
Активируйте Google Indexing API: https://console.developers.google.com/apis/library/indexing.googleapis.com
В PHP вы найдете дополнительную информацию об ошибке:
$body = $response->getBody();
$stringBody = (string) $body;
Вы должны обязательно подтвердить право собственности на сайт в консоли поиска: https://www.google.com/webmasters/tools/home
- Нажмите на вашу подтвержденную собственность.
- Выберите Подтверждение в настройках рядом с вашим подтвержденным свойством.
- В разделе "Проверенные владельцы" нажмите "Добавить владельца".
- Добавьте свой адрес электронной почты учетной записи службы в качестве владельца собственности.
Вы можете подтвердить свою учетную запись службы, например my-service-account@project-name.google.com.iam.gserviceaccount.com
Простой ответ — просто установить плагин Rankmath Indexing API. После добавления владельца, как объяснили выше Ruha Thai - загрузите JSON-код в настройки плагина и все.
Rank Math только что выпустила бесплатный плагин Indexing для WordPress, вы можете попробовать, он все делает автоматически. Более подробная информация: https://rankmath.com/blog/google-indexing-api/
Надеюсь это поможет.