
Многие интернет-магазины попадают в Яндекс.Маркет, не все там остаются надолго. Одно из условий присутствия в ЯМ-е – наличие корректного прайса в специальном формате YML.
Проверка такого прайса на ошибки и устранение таковых – целая история. Пока он не будет сформирован по всем правилам – вход в сие царство демпинга заказан. А при доведении документа до ума можно пережить немало незабываемых эмоций.
Данная статья – попытка обобщить те ошибки, с которыми сталкиваются программисты, впервые создающие инструменты (будь то автономный скрипт или плагин для CMS) для генерации YML-файла. Тем, кто с этим чудным форматом имел дело раньше, статья уже будет не столь интересна, ибо всё шишки набиты. Впрочем, вдруг и ветераны борьбы за своё место под солнцем Яндекса узнают что-то новое для себя. А то и поделятся собственным фронтовым опытом.
Классификация ошибок
-
Неактуальные ошибки
- Не та кодировка. Первое обо что спотыкались в старые добрые времена. Большинство движков работают на UTF-8, а ЯМ когда-то требовал только любимую кодировку Windows. Поговаривают, что капризного Яшу можно было объегорить – сделать вид, что согласны на богомерзкую cp1251 при утверждении магазина, после того как «таможня даёт добро» – преспокойно заменить прайс на расово верный Юникод. Что интересно – CSV (как нежелательную альтернативу YML) Яндекс.Маркет принимает исключительно в UTF-8 🙂
Все остальные грабли лежат всё там же.
-
Ошибки спецификации XML

YML – это частный случай XML. А значит, должен соответствовать его основным правилам. Не забываем об обязательном наличии <?xml ?> и <!DOCTYPE>, следим за правильной вложенностью тегов, заменяем «великолепную пятёрку» («, &, <, >, ‘) на их мнемонические эквиваленты.Причём, в самих мнемониках символ & на его мнемонику & менять не нужно, а то какая-то бесконечная рекурсия может получиться. Прежде чем применять к тексту (для элемента <description>, например) функцию htmlspecialchars, следует учесть, что там уже могут мнемоники изначально присутствовать 😉
-
Критичные ошибки YML
Теперь Ваш прайс – кошерный XML, но Яндекс наотрез отказывается его принимать. Разбираемся дальше.
- Ошибки в использовании элементов. Перечитываем 3 раза (а ещё лучше — 5) внимательно официальную документацию, не забываем про глобальные теги (<yml_catalog>, <shop>), следим за правильным написанием названий, не занимаемся отсебятиной в виде придумывания несуществующих в спецификации тегов, всю иерархию расставляем по yml-скому фен-шую, указываем правильно параметры и т.д.

Отсутствие обязательных элементов. Самые частые ошибки новичков и не очень новичков. Особенно часто такое всплывает при формировании offer-ов. Необязательный тег для одного вида описаний может оказаться обязательным для другого. К примеру, <vendor>. На такое можно напороться, если раньше к продукции применялось упрощённое описание, а потом вдруг решили переделать на vendor.model.- Не каноничный порядок элементов. Очень подлая ошибка, прям-таки удар под дых для тех, кто с ней сталкивается впервые. Ситуация, когда Яндекс невозмутимо настаивает, что в строке такой-то позиция такая-то что-то не так, а в указанном месте ничего подозрительного и в упор не видно (причём, гугление форумов и медитация на офдокументацию эффекта не даёт) – способна довести любого до белого каления.
А ларчик просто открывается – элементы должны идти именно в том порядке, в котором они перечислены в спецификации. Вот в упрощённом описании сначала название товара, а потом производитель. А в vendor.model сначала производитель, а потом название товара. И ни в коем разе не наоборот. - Повторы продукции по ID. Что умиляет, ошибка эта Яндексом выдаётся сразу двумя разными способами (чтобы никто не запутался) – сначала перечисляются элементы с некорректными идентификаторами, а потом идёт список предложений-дубликатов.
С перепугу можно решить, что ошибок в 2 раза больше, чем на самом деле. И если с дубликатами всё понятно, то непосвящённым ещё предстоит догадаться чем именно некорректны некорректные идентификаторы.
-
Некритичные ошибки YML

Яндекс почти ублажен. Поработаем ещё немного.- Некорректные URL. Часто это ссылки, например, содержащие пробельные символы или русские буквы. Вообще, во многих движках в таблицах БД обычно есть поля, хранящие прямые линки на страницы продукции. Что характерно, почти во всех CMS среди этих ссылок очень много мусора и поэтому обычно приходится генерировать самому.
- Цена равна 0. Здесь программисту нужно посовещаться с контент-менеджером. Или фильтровать нулевые цены, но тогда о товарах, где забыли указать стоимость, вспомнят нескоро. Или не фильтровать и пускай в будущем контент-менеджер с претензиями Яндекса сам разбирается.
- Неверные ссылки на картинки. Ну, тут примерно та же история, что и с неправильными URL. Прописанных в базе данных картинок часто не существует в природе. Прежде чем оформлять очередной <picture> – проверяйте наличие файла. Если картинка в наличии, но в названии есть злополучные пробелы – кодируйте ссылки в RFC3986 (функция rawurlencode Вам в помощь).
-
Прочие ошибки
ОК, все огрехи тотально устранены и скормленный Яндексу yml-прайс не выплёвывается обратно. Погодите расслабляться, через пару дней вполне может прийти «письмо счастья» от менеджеров ЯМ-а, в котором уведомляется, что:
- Товарный ряд сплагиачен из другого магазина. Особо тяжкое преступление, караемое по всей строгости закона.
- В вашем прайсе мы упорно искали и таки нашли дубликаты!
- И кстати, некоторые ссылки ведут не туда.
- Какой идиот создавал эту категоризацию?
- В качестве фото продукции используются заглушки.
- Одни и те же фото у разных товаров. Ну и что с того, что на официальном сайте производителя то же самое?
- А некоторые картинки вообще не с Вашего сайта.
- В мутных водах элементов <description> плавает «рыба».
- В магазине 100% предоплата, но почему об этом ни гу-гу в теле необязательного элемента <sales_notes>?
- Ах, у Вас из 500 товаров есть всего один «под заказ»? А почему у него aviable=’true’, а не ‘false’?
- У вас, уважаемые, доставка 3 дня, а по нашим понятиям товар считается «доступным» если доставляется в течении 2-х.
- … и всякое-такое прочее.
А посему Ваша лавочка пока отстранена от присутствия в торговой вселенной Яндекс.Маркета на срок от недели до навсегда.
По большому счёту, подобные ошибки вне компетенции кодеров. За них отвечают другие специально обученные люди – контент-менеджеры, SEO-шники, маркетологи или кого там ещё нагрузили следить за содержимым сайта. Впрочем, программисты иногда могут помочь и здесь. Например, фильтруя картинки-заглушки (определяя их по стандартным названиям) или не пропуская описания продукции, почему-то начинающиеся со слов «Lorem ipsum» и «bla bla bla».
Как и где проверять ошибки
Отлавливать все эти многочисленные ляпы проще всего в таком порядке.
- Ошибки XML. Хозяюшке на заметку – дублируйте yml-файлы с расширением xml, по крайней мере в период тестирования (да и потом может пригодиться). В браузерах и текстовых редакторах yml-документы открываются как унылые текстовики, что делает их неудобными для просмотра и анализа. В дебрях XML ориентироваться намного проще: там всегда весёленькая подсветка тегов + элементы можно «схлопнуть» в соответствии с их иерархической структурой + браузер услужливо подскажет где несоответствия спецификации. В общем, отследить ошибки YML проще, открыв его как XML.
- Проверка в Яндекс-Маркете. Ну, и последнее слово – за Яндексом. Зарегистрировав магазин, проверяйте файл в ихнем валидаторе и устраняйте выдаваемые ошибки до победного конца.
Ссылки
Яндекс:
Официальная спецификация YML
Требования к методу передачи данных
Валидатор
Вопросы и ответы
Требования к рекламным материалам
Хабрахабр:
Яндекс.Маркет – to be or not?
Размещение товаров на Яндекс.Маркете. Типичные проблемы и их решение
Ночное ворчание о Яндексе, Маркете и интерфейсах вообще
Опрос
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Приходилось ли вам с нуля писать скрипты/плагины для генерации YML?
34.27%
Да, особых затруднений никогда не было
49
23.78%
Да, когда настраивал первый раз – проклял всё на свете
34
41.96%
Нет, не приходилось
60
Проголосовали 143 пользователя.
Воздержались 30 пользователей.
Время чтения — 2 минуты
Что такое Description, как его проверить и заполнить, чтобы убрать ошибку из Яндекс Вебмастера
Время чтения — 2 минуты
Отсутствуют метатеги Description — как исправить ошибку в Вебмастере
Что такое Description, как его проверить и заполнить, чтобы убрать ошибку из Яндекс Вебмастера
Специалист по SEO-продвижению
- /
- /
Правильно, заполненные мета-теги являются основной в продвижении любых сайтов. В этот момент у вебмастера случается первая проблема, когда в Яндекс Вебмастере он видит проблему: отсутствуют мета-теги <Description>. Это распространённая проблема при продвижении сайта.
Что такое мета-тег description и для чего используется

Description — это мета-тег, присутствующий на каждой странице сайта и сообщающий поисковому роботу описание содержимого страницы.
Метатег может использоваться для формирования сниппета сайта в поисковой выдаче. Стоит уточнить, что Description не изменяет внешний вид страницы и виден только при просмотре кода сайта.

Заполнение мета тега Description — важный этап поискового продвижения, поскольку содержание Дескрипшена пользователь видит в поисковом сниппете еще до перехода на сайт. Ранее в статье мы рассказывали о рекомендациях по увеличению кликабельности поисковых сниппетов сайта.
Отсутствуют мета-теги <description> — как исправить ошибку и из-за чего она возникает

Для того чтобы разобраться, как исправить ошибку, нужно сначала понять, из-за чего она возникает. Есть 2 возможные причины:
- Метатег не заполнен — содержит пустой контент (например, <meta name=»description» content=»» />)
- Имеется ошибка в написании программного кода сайта — возможно, метатег отсутствует в коде или содержит опечатку.
4 шага, чтобы понять причину и исправить ошибку:
-
Шаг 1. Откройте страницу, которая по версии Вебмастера содержит ошибку
Для этого в уведомлении о возможной проблеме перейдите по ссылке «Ознакомьтесь с примерами и исправьте ошибки». В открывшемся окне будет указан список страниц вашего сайта, содержащих ошибку.
-
Шаг 2. Проверьте наличие и содержимое метатега Description на странице
Для этого:⮞ откройте код страницы (используйте сочетание клавиш Ctrl+U);
⮞ осуществите поиск по коду слова «description» (для вызова строки поиска используйте сочетание Ctrl+F);
⮞ проверьте наличие и содержимое мета тега Description.Для просмотра содержимого метатегов также можно использовать расширения браузера, букмарклеты Арсенкина или любые другие доступные инструменты.
-
Шаг 3. Устраните ошибку
В зависимости от обнаруженной проблемы — заполните метатег или скорректируйте вывод кода с помощью программиста.
-
Шаг 4. Отправьте отредактированные страницы в приоритетный переобход
Для того, чтобы в индексе появились актуальные версии страниц, добавьте измененные страницы в приоритетные переобход с помощью инструмента Вебмастер во вкладке Индексирование — Переобход страниц.
Как прописать Description в CMS WordPress

Для устранения ошибки понадобиться любой SEO плагин, коих множество, есть как бесплатные, так и платные.
В случае с плагином Rank Math SEO методика будет следующей:
- Находим страницу с пустым мета-тегом;
- Заходим в редактор страницы;
- Находим справа вверху шестерёнку настроек, а правее значок SEO. В нем отображается количество набранных баллов, например, будет написано 55/100;
- Нажимаем на него и попадаем в интерфейс для заполнения фокусных слов и т.п.;
- Далее нажимаем Edit Snippet, открывается окно Preview Snippet Editor;
- После нужно заполнить поле Description.
Таким образом, нужно поступить со всеми записями, страницами, рубриками и метками.
Последним шагом будет нажатие клавиши в Яндекс Вебмастере с названием «проверить» напротив проблемы с отсутствием мета-тегов.
В рамках услуги «Продвижение сайтов» проводится полный аудит сайта для выявления максимального количества ошибок, негативно влияющих на SEO.
Мета-тег Description — это краткое описание страницы в коде. Поисковая система Яндекс может использовать тег description в сниппете (короткий текст после адреса сайта) в выдаче. Если его нет на странице или он неправильно настроен, то в Яндекс.Вебмастере появится ошибка «Отсутствуют метатеги <Description>» в разделе «Возможные». Исправить ошибку довольно просто, даже если на вашем сайте множество страниц. Рассмотрим как должен выглядеть правильный Description, а также как его создать автоматически.
Пример сниппета (выделен красным), который может браться из Description:

<meta name="description" content="Как исправить ошибку Отсутствуют метатеги Description, возникающую в Яндекс.Вебмастере. Как вставить теги Description автоматически." />
В примере показан код, который установлен на этой странице, в нем 132 символа (вместе с пробелами и знаками препинания), поэтому он подходит как для Яндекс, так и для Google. Можете скопировать этот код в блокнот и заменить текст между кавычками, если вам подходит ручная вставка кода в сайт.
Ошибка в Яндекс.Вебмастере
Если мета-теги Description отсутствуют, то в Яндекс.Вебмастере появится подобная ошибка:
Возможные проблемы
Отсутствуют метатеги
На многих страницах сайта отсутствуют или некорректно заполнены метатеги Description. Это может негативно повлиять на представление сайта в результатах поиска.
Ознакомьтесь с примерами и исправьте ошибки.
Ссылка «Ознакомьтесь» ведет на страницу, где можно увидеть список страниц, на которых возникла эта ошибка.
Длина Description
Максимальная длина Description для поисковой системы Яндекс — 200 символов, а для Google — 140, если текст в теге длиннее, то он чаще всего обрезается, это не критическая проблема, но если в описании будет законченное предложение, то это будет привлекательнее для потенциального посетителя. Проверить сколько символов в вашем тексте можно на странице Счетчик символов, также это автоматически делает плагин, который будет описан ниже.
Как исправить ошибку в WordPress
Нужно добавить мета-тег на все страницы и нажать кнопку «Проверить». Если у вас всего несколько страниц на сайте, то вы можете вручную вставить код с кратким описанием страниц на каждую страницу. Но если на сайте множество страниц, то лучше прибегнуть к использованию плагина или встроенных возможностей CMS. Если ваш CMS — WordPress, то вы можете воспользоваться плагином All in one SEO pack.
1. Перейдите: Консоль WordPress → Плагины → Добавить новый

2. В поисковой форме справа введите «all in one».
![]()
3. Нажмите кнопку «Установить» на плагине «All in One SEO Pack, затем кнопку «Активировать».

4. В левой панели консоли WordPress появится новый раздел «All in One SEO». Перейдите: All in One SEO → Общие настройки.

5. Заполните Description для главной страницы:

6. В разделе «Расширенные настройки» поставьте галочку на пункт «Авто-генерируемые описания», после этого под ним появится пункт «Использовать содержание для авто-генерирования описаний», на нем также нужно поставить галочку. Нажмите кнопку «Обновить настройки».

7. Проверьте Description. Перейдите на любую страницу сайта и нажмите сочетание клавиш «CTRL+U», вы перейдете в просмотр исходного кода страницы, найдите мета-тег Description:

Мета-тег будет взят из текста первого абзаца и обрезан до длины в 160 символов. Это уже исправляет ошибку в Яндекс.Вебмастере, но будет лучше, если вы добавите Description вручную.
8. После установки плагина, под каждой записью в блоге появится блок «All in SEO» в котором можно вручную размещать мета-теги Title и Description, а также другие SEO-настройки. Тег Title берется из названия страницы, поэтому выглядит неплохо, а Description часто лучше переделать, стараясь уложиться в 140 символов.

9. Когда все проделано вернитесь в Яндекс.Вебмастер → Диагностика → Диагностика сайта. Нажмите кнопку «Проверить» напротив ошибки и ждите несколько дней, пока произойдет проверка. Если у вас настроен кэширование на сайте, то его нужно полностью сбросить.
Другая распространенная ошибка Яндекс.Вебмастера
Не задана региональная принадлежность сайта.
Отсутствуют теги title

После очередного обновления сайта, решил я довести до ума настройки SEO для Яндекса. Трафик с Google идет постоянно, а с Яндекса практически нулевой. Для этого нужно посмотреть инструмент Яндекс.Вебмастер и по-максимуму соблюсти все рекомендации сервиса.
Что я сделал в первую очередь:
- Проверил robots.txt и прописал отдельные инструкции для роботов Яндекса.
- Подключил безопасный протокол https и две недели или даже дольше ждал, когда завершится перенос со старого адреса на новый по 301 redirect.
- Отсюда вытекает необходимость переписать внутренние ссылки на https. Было http. Переписал.
В итоге осталось только одно предупреждение: отсутствующее описание страниц в теге Description.
Отсутствуют метатеги
На многих страницах сайта отсутствуют или некорректно заполнены метатеги Description. Это может негативно повлиять на представление сайта в результатах поиска.
Блин, да кто у нас еще использует этот description? Гугл честно признались, что для снипета этот тег уже не важен. Не важен он и для Яндекса, так как Яндекс для снипета выбирает кусок текста страницы по своему замороченному алгоритму. Но все равно, в Вебмастере это требование назойливо подсвечитвается в списке предупреждений.
Для контента и постов прописать Description получилось в полуавтоматическом режиме. Но пришлось повозиться. Ставить дополнительные плагины для этого я не собирался. Вы знаете, что я предпочитаю максимально чистый WordPress и ставить дополнительные плагины не люблю. Особенно, такие SEO плагины, которые перегружают выдачу страницы, грузят окнами админку и постоянно просят заплатить и купить Pro версию.
Использование поля Excerpt
В настройках постов есть такое поле как Excerpt, которое используется для вывода превью статьи в списке постов. Вот сюда мы и напишем Description. Два-три часа работы и я навбивал описание для всех статей сайта. Теперь нужно настроить вывод этого текста не в превью статьи, а внутри тега Description.

Description прописывается в шапке сайта, значит править будем код в файле header.php нашей дочерней темы.
Этот код в постах будет вставлять содержание excerpt, а во всем остальном контенте это будет содержание поля Description. Например, для изображений.
<meta name="description" content="<?php if ( is_single() ) {
echo strip_tags(get_the_excerpt($post->ID));
//single_post_title('', true);
} else {
bloginfo('name'); echo " - "; bloginfo('description');
}
?>" />

После того, как тег Description появился в шапке сайта ваших статей, нужно заново скормить эти страницы для переобхода Яндексу. У Яндекса есть ограничение на 30 статей в заявку на переобход в день. Зато робот обходит их быстро.
Что делать с изображениями?
Затем можно снова зайти в Диагностику и попросить провести проверку. Яндекс может перепроверять два-три дня и часть страниц все равно останется с предупреждением.
Например, страницы изображений.
/travel/rus_nullarbor_bunda_cliff/attachment/cold-cold-shower/
Их будет очень много. У меня больше сотни. Прописывать всем description у меня нет особого желания. Что же делать?
Есть два варинта:
Первый. Запретить индексирование attachment в файле robots.txt
Добавить такую строчку
Disallow: */attachment
Второй вариант. Добавляем в functions.php вашей дочерней темы следуюший код, который для всех страниц приложений вставляет тег с запретом индексирования nofollow, noindex.
function wph_noindex_for_attachment() {
if(get_post_mime_type()!= false) {
echo '<meta name="yandex" content="noindex, nofollow" />'.PHP_EOL;
}
}
add_action('wp_head', 'wph_noindex_for_attachment');
Я использовал этот вариант. Затем отправил список страниц с attachements на переобход. И спустя три дня количество страниц с предупреждением сократилось в три раза.
Но остальные ссылки не поддавались переобходу и повторной проверке Диагностикой Вебмастера.
Спустя две недели безуспешных попыток, я сдался и засел прописать Description для оставшихся 40 изображений. На это ушло пара часов работы.
Затем отправил страницы на переобход и новую Диагностику. Первая попытка убрала десять страниц. Две последующие помогли полностью избавиться от такого предупреждения. Теперь я наслаждаюсь такой картинкой в Вебмастере.

Советы как бороться с предупреждениями Яндекс.Вебмастера.
- Проверяйте, существует ли проблема в коде страницы или ее нет.
- Если проблема существует, то исправляем и отправляем страницу с предупреждением на переобход. Переобход проходит в течение нескольких минут.
- После этого нажимаем кнопку “Проверить”. Повторная проверка может идти два-три дня и снова указать, что проблема не устранена.
- Не опускайте руки и настойчиво жмите “Проверить” еще раз, пока вы уверены, что с кодом все в порядке.
- Спустя неделю-две, Яндекс поймет, что мы от него хотим и устранит Предупреждение.
Частые вопросы и рецепты исправления ошибок, которые возникают при использовании модуля «YML экспорт в Яндекс.Маркет для OpenCart».
![]()
Ошибки и предупреждения, которые вернул Яндекс.Маркет или валидатор XML-фидов
- Не найдено описание для элемента «yml_catalog». Возможно неверно указан корневой элемент.
- Фатальная ошибка: Ошибка парсинга XML: Error parsing XML feed: Unknown tag: XML tag «b» (строка …
- Отсутствует обязательный элемент picture
- Ошибка спецификации XML. Приведите прайс-лист в соответствие с техническими требованиями выбранного формата…
- No required offers’s parameter
Ошибка видимо из-за того, что XML совсем не формируется, либо вы сообщили Яндексу неверную ссылку на YML.
Для поиска причин ошибки откройте ссылку на ваш YML в браузере.
В процессе формирования YML, произошла какая-то ошибка. PHP выкинул сообщение об ошибке, а он это делает в тэге «b».
Откройте исходный код YML, по номеру строки вы легко найдете текст PHP ошибки. Если не знаете, что она значит — поищите в Google.
Уверен, вы найдете и рекомендации по устранению этой ошибки.
По правилам Яндекс.Маркета, у товара в экспорте должна быть картинка, хотя бы одна.
Товары без картинок не экспортируются. Проверьте, что в настройках модуля в поле «Кол-во картинок товара» присутствует число больше нуля.
И проверьте, чтобы у товаров в магазине базе были картинки.
Ошибка вызвана тем, что в YML-экспорте присутствуют посторонние тэги. Это происходит, если вы экспортируете что-то в тэг keywords. Яндексу этот тэг не нужен.
Укажите в настройках модуля «Брать тэг keywords из поля» = «Не выгружать»
Ошибка сообщает, что в YML не найден обязательный параметр товарного предложения. Для одежды, обуви и аксессуаров
цвет и размер товара
должен присутствовать в YML. По строке, где возникла ошибка, вы можете узнать, у какого именно товаре не указан цвет и/или размер. Для этого товара
в OpenCart надо указать атрибут или опцию, которая будет экспортирована модулем в YML. Этот атрибут или опцию отметьте галкой в настройках модуля.
Ошибки, которые показываются в браузере
- При открытии YML в браузере ошибка 500 или 502 «Bad Gateway», или просто белый экран.
- Ошибка синтаксического анализа XML: корневой элемент не найден
- This page contains the following errors: error on line … at column …: Extra content at the end of the document
Below is a rendering of the page up to the first error. - Ошибка «Maximum execution time of 30 seconds exceeded»
- В экспорте присутствуют не все товары.
- У товаров не указан производитель, а во вкладке настроек модуля «Что экспортировать» производители выбраны.
- У товаров не проставлены главные категории, но стоит галка «У товаров есть главные категории» во вкладке «Общие».
- Товар в черном списке или не в белом списке, который задан на вкладке «Что экспортировать» настроек модуля.
- Поля «Выгружать только если товар дороже», «Не выгружать, если товар дороже» или галка «Не выгружать товары без картинок» во вкладке «Что экспортировать» исключают товар из иэкспортируемых.
- Товара нет на складе, а статус его «Остутствие на складе» такой, что товар не экспортируется. Чтобы экспортировать закончившийся товар, во вкладке «Склад и доставка» настроек модуля,
не выбирайте ни одного статуса в поле «Статус Нет в наличии». - В экспорте присутствуют не все категории.
- Как обновить модуль?
- Как не экспортировать товар, у которого количество нулевое?
Скрипт, формирующий YML был завершен с ошибкой. Настройки вашего сайта таковы, что ошибки не показываются.
Вам необходимо включить отображение ошибок. Включить ошибки в настройках магазина в админке OpenCart скорее всего будет недостаточно.
Отображение ошибок надо включать в файлах .htaccess и php.ini.
Но и этого может быть недостаточно. Хостинг сайта может быть так настроен, что файлы эти могут не влиять на вывод ошибок.
Правильнее всего — обратиться с технической поддержке хостинга.
Скрипт, формирующий YML был завершен с ошибкой. При этом YML был сформирован не полностью — нет закрывающих тэгов.
Загляните в исходный код YML. Если в конце есть сообщение об ошибке — ищите текст ошибки в Яндексе или Гугле. Если сообщения об ошибке нет — смотрите предыдущий пункт.
В процессе формирования YML, произошла какая-то ошибка. PHP выкинул сообщение об ошибке.
Откройте исходный код YML, по номеру строки вы легко найдете текст PHP ошибки. Если не знаете, что она значит — поищите в Google.
Уверен, вы найдете и рекомендации по устранению этой ошибки.
PHP-скрипту по-умолчанию отводится 30 секунд на выполнение. Если за 30 секунд скрипт не сформировал
YML, то скрипт был принудительно завершен. Разумеется, YML при этом не сформировался, либо сформировался не полностью.
Дело в том, что экспорт всей товарной базы — довольно ресурсоемкая операция. Особенно много времени занимает масштабирование картинок для Яндекса,
ведь Яндекс принимает картинки размером не менее, чем 600×600 пикселей. К счастью, OpenCart сохраняет масштабированные картинки в кэш изображений.
При повторном экспорте картинки будут быстро браться уже из кэша. Пока кэш изображений не сформирован полностью, скрипт экспорта в YML
может работать долго. Попробуйте позапускать скрипт несколько раз, сформируется кэш, скрипт будет работать быстрее, попадая в лимит времени.
Если это не помогло, время формирования YML по-прежнему велико (из-за того, что у вас очень много товаров), то можно попробовать
увеличить параметр max_execution_time в файле настроек PHP php.ini.
Если и этого мало (ваш хостинг слабоват для Интернет-магазина с такой товарной базой), то можно попытаться формировать YML-экспорт, запуская скрипт
через php-cli.
Вопросы по содержимому YML
Может быть несколько причин, по которым не все товары присутвуют в YML-экспорте. Общая причина — настройки модуля и содержимое товарной базы.
В OpenCart один товар может показываться в нескольких категориях, а в формате YML товар может принадлежать
лишь к одной категории. Модуль экспорта привязывает товар к первой попавшейся категории. Поэтому может оказаться, что в некоторых категориях
товаров нет, и эти категории не будут присутствовать в экспорте, хотя товары присутствовать будут, правда в других категориях.
В ocStore есть главные категории, и можно привязывать товары только к главным категориям. Для этого в настройках модуля поставьте галку
«У товаров есть главные категории». В этом случае вы получите более детальную классификацию товаров в YML-экспорте, но товары, у которых
главная категория не проставлена, вобще не будут экспортированы.
Как сделать, чтобы…?
Скачайте архив, содержимое папки upload закачайте на сайт с заменой файлов модуля. Перейдите на страницу настроек модуля, нажмите кнопку «сохранить».
В настройках модуля во вкладке «Склад и доставка» ищите поле «Статус «Нет в наличии»». В этом поле отметьте Все статусы товара.
Чтобы отметить несколько элементов списка, при клике мышью держите клавишу Ctrl.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Активные темы Темы без ответов
-
Скачать бесплатно ImageCMS
-
Ознакомтесь с демо ImageCMS
Правила форума
Пожалуйста, прежде, чем писать сообщения, ознакомьтесь с правилами форума
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
1 12-02-2014 14:31:23
- hitakiri
- пользуюсь ImageCMS
- Неактивен
- Зарегистрирован: 31-08-2012
- Сообщений: 30
Тема: Поле description в YML файле
По формированию YML файла есть два вопроса :
1. Не формируется информация в поле description. Где можно это поправить ?
2. Дублируется последнее поле param плюс оно так же выводится пустым.
Версия 4.5.2 Shop.
Пример :
<offer id="203" available="true">
<url>/shop/product/brilliant-03-karat</url>
<price>11800</price>
<currencyId>RUR</currencyId>
<vendor>Форма КР57</vendor>
<categoryId>78</categoryId>
<picture>/uploads/shop/products/main/a7f734129ac73cc0ad632f267325ca8d.jpg</picture>
<name>Бриллиант (0,3 карат)</name>
<description></description>
<param name="Масса">0.3</param>
<param name="Цвет">H</param>
<param name="Чистота">VS1</param>
<param name="Симметрия">very-good</param>
<param name="Полировка">very-good</param>
<param name="Размер">4,32-4,35x258</param>
<param name="Размер"></param>
</offer>
![]()
2 Ответ от vladlen 12-05-2014 18:58:41
- vladlen
- мастер по ImageCMS
- Неактивен
- Зарегистрирован: 07-11-2013
- Сообщений: 195
- User Karma: 22
Re: Поле description в YML файле
ребята, подскажите, как сделать чтобы description заполнялся
пожалуйста!!!!!!
![]()
3 Ответ от gula.andrij 12-05-2014 19:19:10

- gula.andrij
- Administrator
- Неактивен
- Откуда: Львов
- Зарегистрирован: 14-11-2012
- Сообщений: 1,113
- User Karma: 107
Re: Поле description в YML файле
![]()
4 Ответ от vladlen 12-05-2014 19:23:36
- vladlen
- мастер по ImageCMS
- Неактивен
- Зарегистрирован: 07-11-2013
- Сообщений: 195
- User Karma: 22
Re: Поле description в YML файле
да, но я пробовал ваш файл который якобы поправлен — но в нем так же description пустой
![]()
5 Ответ от gula.andrij 12-05-2014 19:24:59

- gula.andrij
- Administrator
- Неактивен
- Откуда: Львов
- Зарегистрирован: 14-11-2012
- Сообщений: 1,113
- User Karma: 107
Re: Поле description в YML файле
description берется с полного описания товара
ImageCMS PHP Team Lead
https://github.com/imagecms/ImageCMS — ночные сборки корпорейта
![]()
6 Ответ от vladlen 12-05-2014 19:29:31
- vladlen
- мастер по ImageCMS
- Неактивен
- Зарегистрирован: 07-11-2013
- Сообщений: 195
- User Karma: 22
Re: Поле description в YML файле
да я понимаю!!! но оно не заполняется!!!!!
![]()
7 Ответ от vladlen 12-05-2014 19:31:23
- vladlen
- мастер по ImageCMS
- Неактивен
- Зарегистрирован: 07-11-2013
- Сообщений: 195
- User Karma: 22
Re: Поле description в YML файле
вот, вы даже на тестовом посмотрите:
http://demoshop.imagecms.net/shop/yandex/genreyml
везде <description> пустой!!! (<description></description>)
или вы думаете что я придумываю… выводилось бы — я и не писал бы! ![]()
![]()
8 Ответ от gula.andrij 12-05-2014 19:44:07

- gula.andrij
- Administrator
- Неактивен
- Откуда: Львов
- Зарегистрирован: 14-11-2012
- Сообщений: 1,113
- User Karma: 107
Re: Поле description в YML файле
На демошопе не было потому что там не было тех изменений которые я скидывал. Сейчас залил и туда, можете проверить
ImageCMS PHP Team Lead
https://github.com/imagecms/ImageCMS — ночные сборки корпорейта
![]()
9 Ответ от vladlen 12-05-2014 19:48:49
- vladlen
- мастер по ImageCMS
- Неактивен
- Зарегистрирован: 07-11-2013
- Сообщений: 195
- User Karma: 22
Re: Поле description в YML файле
да, теперь вижу
а можно тогда ссылочку на файл это?
![]()
10 Ответ от gula.andrij 12-05-2014 19:50:19

- gula.andrij
- Administrator
- Неактивен
- Откуда: Львов
- Зарегистрирован: 14-11-2012
- Сообщений: 1,113
- User Karma: 107
Re: Поле description в YML файле
+1 ![]()
Сообщений 10
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться