Задача простая: отправить данные в яндекс быстрее чем их спарсят роботы.
Для этого:
Создаем плагин, выбираем следующие события
Придумываем свой ключ для верификации XXXXXX, подробнее тут.
Создаем в корне сайта (можно где угодно) файл XXXXXX.txt, внутрь помещаем наш ключ XXXXXX
Теперь в плагине пишем код:
<?php
switch ($modx->event->name) {
case 'OnBeforeDocFormDelete':
case 'OnBeforeDocFormSave':
case 'OnDocFormSave':
case 'OnDocFormDelete':
$id=(int)$resource->get('id');
$url=$modx->makeUrl($id,'','','full');
if($url){
$ch = curl_init('https://yandex.com/indexnow?' . http_build_query(array(
'url' => $url,
'key' => 'XXXXXX',
'keyLocation' => 'https://domain.com/XXXXXX.txt',
)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HEADER, false);
$json = curl_exec($ch);
curl_close($ch);
$res = json_decode($json,1);
if(!isset($res['success'])){
// ошибка
}
}
break;
}
где XXXXXX - ключ верификации
где https://domain.com/XXXXXX.txt - путь к файлу где хранится ключ верификации
Подробнее можно прочитать здесь.