(Примечание: Данные требования актуальны для плагинов YML for Yandex Market, XML for Avito, Import Products to VK, Import Products to OK.ru, Import Products to OZON, XML for Hotline, Import from YML и XML for Google Merchant Center )
Версия WordPress: 4.5
Версия WooCommerce: 3.0.0 и выше
Версия php: 7.4 и выше
Функционирующий CRON.
Признаки проблем с кроном и решение
Для работы плагина обязательно нужен крон. Диагностировать проблему можно двумя способами. Если у вас WordPress 5.2.0 и выше, то перейдите в "Инструменты" - "Здоровье сайта". Если в списке вы найдёте "Запланированное задание пропущено" - у вас не работает крон (о проблемах с кроном также может свидетельствовать ошибка: "Ваш сайт не смог выполнить петлевой запрос").
Также на проблемы с кроном может указывать сообщение в админке сайта:
Скорее всего, плагин работает неправильно, потому что вы выключили CRON при помощи DISABLE_WP_CRON
Обычно это происходит когда в файле wp-config.php прописывают:
define( 'DISABLE_WP_CRON', true );
Либо же при включении логов плагина которые лежат в:
/wp-content/uploads/yfym/plugin.log - (YML for Yandex Market)
/wp-content/uploads/xfgmc/plugin.log - (XML for Google Merchant Center)
/wp-content/uploads/import-from-yml/plugin.log
/wp-content/uploads/xml-for-hotline/plugin.log
/wp-content/uploads/xml-for-avito/plugin.log
в файл попадают только строки типа
_cron_period внесен в список заданий.
это прямой признак того, что на вашем сайте либо полностью выключен крон, либо отключён стандартный вордпресовский крон в пользу серверного.
Если вы отключили стандартный крон в пользу серверного, то вам необходимо сделать так, чтобы файл wp-cron.php выполнялся каждую минуту. Для этого необходимо создать соответствующее задание на вашем сервере. Шаблон задания для Cron выглядит примерно так:
Минуты(0-59) Часы(0-24) День(1-31) Месяц(1-12) День недели(0-6) Команда
Вот иллюстрация этого же шаблона, которую можно сохранить себе:
Рекомендуется создавать задание не по https, посредством php напрямую по файловому пути. Ибо если создавать по http, то есть вероятность (хоть и небольшая), что крон работать не будет.
На разных хостингах создание крон-задания выглядит по-разному, но принцип везде одинаковый. На картинке ниже пример того, как реализуется выполнение файла wp-cron.php на хостинге beget.
На хостинге рег.ру настройки выглядят следующим образом:
*/2 * * * * - говорит о том, что мы "дёргаем" крон один раз в две минуты.
А вот пример, только уже на VDS через панель Vesta:
И ещё один пример:
UPD: Скрипт блокировки ботов ломает wp-cron
Благодаря обратной связи пользователей обнаружил ещё одну нестандартную причину, по которой крон на сайте может ломаться и препятствовать нормальной работе моих плагинов. На сайте seo-zona.ru рекомендуют добавлять в файл .htaccess запись для блокировки ботов. Ниже привожу пример записи:
# BEGIN Bad Bot Blocker https://seo-zona.ru/badbot
# Универсальный блокировщик спам-ботов от files. Подробности в скайпе: websochka
# Последняя редакция: 12.02.2022
SetEnvIfNoCase User-Agent "Abonti|AspiegelBot|aggregator|AhrefsBot|Aport|asterias|Baiduspider|BDCbot|bidswitchbot|Birubot|BLEXBot|BUbiNG|BuiltBotTough|Bullseye|BunnySlippers|Butterfly|ca\-crawler|CamontSpider|CCBot|Cegbfeieh|CheeseBot|CherryPicker|coccoc|CopyRightCheck|cosmos|crawler|Crescent|CyotekWebCopy/1\.7|CyotekHTTP/2\.0|DataForSeoBot|DeuSu|discobot|DittoSpyder|DnyzBot|DomainCrawler|DotBot|Download Ninja|EasouSpider|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Ezooms|FairShare|Fasterfox|FeedBooster|Foobot|Genieo|GetIntent\ Crawler|Gigabot|gold\ crawler|GrapeshotCrawler|grub\-client|Harvest|hloader|httplib|HTTrack|humanlinks|HybridBot|ia_archiver|ieautodiscovery|Incutio|InfoNaviRobot|InternetSeer|IstellaBot|Java|Java/1\.|JamesBOT|JennyBot|JS-Kit|k2spider|Kenjin Spider|Keyword Density/0\.9|kmSearchBot|larbin|LexiBot|libWeb|libwww|Linguee|LinkExchanger|LinkextractorPro|linko|LinkScan/8\.1a Unix|LinkWalker|LinkpadBot|lmspider|LNSpiderguy|ltx71|lwp-trivial|lwp\-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|memoryBot|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|MLBot|moget|MSIECrawler|msnbot|msnbot-media|NetAnts|NICErsPRO|Niki\-Bot|NjuiceBot|NPBot|Nutch|Offline Explorer|OLEcrawler|Openfind|panscient\.com|PostRank|ProPowerBot/2\.14|PetalBot|ProWebWalker|ptd-crawler|Purebot|PycURL|python-requests|Python\-urllib|QueryN Metasearch|RepoMonkey|Riddler|RMA|Scrapy|SemrushBot|serf|SeznamBot|SISTRIX|SiteBot|sitecheck\.Internetseer\.com|SiteSnagger|Serpstat|Slurp|SnapPreviewBot|Sogou|Soup|SpankBot|spanner|spbot|Spinn3r|SpyFu|suggybot|SurveyBot|suzuran|SWeb|Szukacz/1\.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|toCrawl/UrlDispatcher|True_Robot|ttCrawler|turingos|TurnitinBot|UbiCrawler|UnisterBot|Unknown|uptime files|URLy Warning|User-Agent|VCI|Vedma|Voyager|WBSearchBot|Web Downloader/6\.9|Web Image Collector|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wotbox|wsr\-agent|WWW\-Collector\-E|Yeti|YottosBot|Zao|Zeus|ZyBORG" bad_bot
Deny from env=bad_bot
# END Bad Bot Blocker
Если у вас что-то подобное прописано, то знайте, что это также ломает крон в Вордпресе. Удаление этой записи также может помочь в починке wp-шного крона и восстановить работоспособность плагинов.