Как ускорить отдачу описания товаров роботу Яндекс.Маркета?

[16 июля 2019 г.]    Российская сборка Magento 2.52.2
Magento 2: модули и услуги
magereport.com: составление перечня необходимых для установки заплаток SUPEE
#1 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8995
  • Регистрация: 20.02.2010

05.02.2013 00:37

Если Ваш магазин содержит десятки тысяч товаров и десятки нестандартных товарных свойств, а также если Ваш сервер слаб или сильно нагружен, модуль Яндекс.Маркет может медленно (минуту и больше) создавать товарное описание в формате YML для робота Яндекс.Маркета.

Однако даже в этом случае есть способ отдавать файл YML роботу Яндекс.Маркета быстро, фактически мгновенно.
Для этого Вам надо добавить к планировщику задач операционной системы (он называется cron на UNIX-подобных операционных системах) команду для создания файла YML по расписанию.

В операционной системе Debian, используемой на рекомендумых серверах, файл с командами для cron называется crontab и расположен в корневной папке /etc.
Вам нужно зайти по протоколу SFTP (например, посредстством программы FileZilla) с правами root на Ваш сервер, скачать этот файл, добавить в него требуемую команду и затем записать обратно.

Для генерации файла можно использовать программы wget или curl.
Они для данной задачи равноценны.
Ниже приведёт пример команды для cron с использованием программы wget.

0  3	* * *	www-data wget --output-document="/var/www/example.ru/yandex.market.xml" "http://example.ru/df-yandex-market/yml/?store-view=default"


Про синтаксис команд cron можно прочитать в Википедии.
Опишу указанную выше конкретную команду.

0  3	* * *
означает, что команда будет выполняться раз в сутки в 3 часа утра.

www-data
указывает пользователя операционной системы, от лица и с правами которого будет исполнена команда.

Далее указан вызов программы wget.
Параметр
--output-document="/var/www/example.ru/yandex.market.xml"
программы wget указывает путь в файловой системе к создаваемому файлу с товарными описаниями. После каждого вызова команды файл будет перезаписан заново, и поэтому данные файла не будут накладываться друг на друга.

"http://example.ru/df-yandex-market/yml/?store-view=default"
указывает веб-адрес с данными.
Как узнать веб-адрес с данными для Вашего конкретный магазина — описано в руководстве по настройке учётной записи партнёра Яндекс.Маркета.

После указанной настройки планировщика задач Вы можете не ждать 3 ночи, а создать первый файл вручную, выполнив команду
wget --output-document="/var/www/example.ru/yandex.market.xml" "http://example.ru/df-yandex-market/yml/?store-view=default"

с командной строки операционной системы по протоколу SSH от лица пользователя www-data.

Обратите внимание, что теперь надо перенастроить учётную запись партнёра в Яндекс.Маркете, указав там вместо веб-адреса
http://example.ru/df-yandex-market/yml/?store-view=default
веб-адрес создаваемого посредством cron файла:
http://example.ru/df-yandex-market/yandex.market.xml


Поделиться темой: