Бизнес · 6 мин чтения

Наполнение сайта вручную или программой: разбор способов

Наполнение сайта вручную или программой - вопрос, который клиент задаёт мне сразу после сдачи макета, когда дизайн готов, а каталог пустой. За несколько лет работы с Tilda и WordPress я собирал карточки товаров всеми тремя способами: вбивал руками, настраивал импорт из CSV и YML, писал парсеры на Python под каталоги поставщиков. Ниже разберу, чем эти подходы отличаются на практике и как не потратить бюджет впустую.

Наполнение сайта вручную: когда такой подход оправдан

Ручной ввод карточек через админку Tilda или WooCommerce имеет смысл при каталоге до 50-80 позиций. На одну карточку с обработкой фото, уникальным описанием и заполнением характеристик уходит от 7 до 15 минут в зависимости от сложности товара. Для 50 позиций это 6-12 часов работы, для 100 уже сутки-полторы. При таком объёме ручной ввод даёт то, что не даст ни один импорт: уникальные тексты под SEO без риска дублей с сайтом поставщика, точный подбор категорий и фильтров под структуру конкретного магазина.

Я рекомендую ручное наполнение handmade-магазинам, нишевым бутикам и любым проектам, где ассортимент меняется редко и каждая карточка требует индивидуального описания. На Tilda для этого хватает стандартного блока интернет-магазина, в WooCommerce - редактора товаров с полями атрибутов и вариаций. Как только каталог переваливает за 150-200 позиций или обновляется чаще раза в месяц, ручной ввод превращается в постоянную статью расходов на администратора, и тут уже выгоднее считать импорт или парсинг.

Импорт товаров из файла: CSV, Excel и YML-фиды

Если поставщик или бухгалтерия уже готовят прайс в 1С, экспорт в Excel или CSV решает задачу за несколько часов вместо нескольких дней ручного ввода. В WooCommerce встроенный импортёр (Товары -> Импорт) принимает CSV с сопоставлением колонок: название, артикул, цена, остаток, категория, ссылки на изображения. Формат YML, который придумали для Яндекс.Маркета, стал фактическим стандартом обмена между CMS и поставщиками: его отдают 1С-Битрикс, InSales и большинство B2B-каталогов оптовиков.

Пример минимального набора колонок для импорта в WooCommerce:

sku,name,regular_price,stock,categories,images
A-1024,Кроссовки беговые,4990,15,Обувь > Кроссовки,https://example.com/img/1024.jpg

На практике основное время уходит не на сам импорт, а на подготовку файла: приведение цен к нужной валюте и наценке, склейку дублирующихся артикулов, проверку категорий и загрузку изображений вместо битых ссылок. На каталоге в 500‑1000 товаров чистка данных перед первым импортом обычно занимает день-два работы, дальше повторный импорт при обновлении прайса делается за 20-30 минут.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Парсинг каталога поставщика: как автоматизировать сбор данных

Парсинг нужен, когда поставщик не даёт ни YML, ни CSV, а только публичный каталог на своём сайте. Для статичных страниц хватает связки Python, requests и BeautifulSoup, для каталогов с подгрузкой через JavaScript использую Playwright, который рендерит страницу как настоящий браузер. Собранные данные складываю в CSV или сразу в базу, откуда они уже уходят в WooCommerce или Tilda через тот же импорт.

При разработке парсера закладываю соблюдение robots.txt и разумный rate-limit между запросами, чтобы не создавать нагрузку на чужой сервер и не попадать под блокировку по IP. Если сайт поставщика чувствителен к частоте запросов, добавляю ротацию IP через прокси-пул и рандомизацию отпечатка браузера - это снижает число ложных блокировок при долгой ежедневной синхронизации. Важный момент, который часто упускают: у парсера должна быть обработка ошибок и логирование, иначе при изменении верстки на сайте поставщика скрипт молча начнёт собирать пустые карточки.

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

Наполнение сайта вручную или программой: как выбрать метод

Собрал сравнение по трём способам на примере каталога в 500 товаров:

Способ Время на 500 товаров Когда выбирать Основной риск
Вручную 40-80 часов Уникальный ассортимент, редкие обновления Растущие расходы на администратора
Импорт из файла 1-2 дня на подготовку + 30 минут на повтор Поставщик отдаёт CSV/YML/Excel Грязные данные без чистки перед загрузкой
Парсинг сайта 3-7 дней на разработку, дальше автоматически Нет фида, только публичный каталог Поломка при смене вёрстки у источника

На практике редко использую один способ в чистом виде. Типичная связка для интернет-магазина на 300‑1000 SKU: базовую загрузку делаю парсером или импортом, а карточки топовых товаров, на которые идёт основной трафик, дорабатываю вручную - переписываю описание, добавляю свои фото. Это и объясняет, почему выбор между наполнением сайта вручную или программой чаще звучит как вопрос пропорции, а не категоричного «или».

Автоматическое обновление цен и остатков после запуска

Одноразовая загрузка каталога решает только половину задачи, вторая половина - держать цены и остатки актуальными. Для этого настраиваю сценарий в n8n: по расписанию скрипт забирает свежий YML-фид или прогоняет парсер повторно, сравнивает с текущими данными в магазине и обновляет только изменившиеся позиции через API WooCommerce или через Tilda API для блока интернет-магазина. При такой схеме менеджеру не нужно вручную перезаливать прайс каждый раз, когда у поставщика меняются цены.

Частота синхронизации зависит от ниши: для одежды с редкими прайс-листами хватает раза в сутки, для электроники или скоропортящихся товаров с плавающими остатками ставлю обновление раз в 1-2 часа. Отдельно слежу за товарами, которые закончились у поставщика: без автоматической синхронизации остатков магазин продолжает принимать заказы на то, чего физически нет на складе, а это прямой путь к возвратам и негативным отзывам.

Ошибки при наполнении каталога, которые дорого исправлять

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

Ещё разработчики без опыта запускают импорт сразу на весь каталог, а не на тестовую партию в 10-20 товаров. Ошибка в сопоставлении колонок на 500 позициях означает 500 карточек с перепутанными ценами и характеристиками, которые потом приходится вычищать вручную. И последнее: если парсер работает без логирования и уведомлений об ошибках, о поломке узнают не разработчики, а покупатели - когда видят на сайте нулевые остатки или устаревшие цены.

Частые вопросы

Сколько стоит наполнить интернет-магазин на 500 товаров?

Зависит от способа и состояния исходных данных. Разработка парсера под конкретный каталог поставщика начинается от 20 000 ₽, настройка регулярной автоматизации через n8n - от 25 000 ₽, а интернет-магазин под ключ с загрузкой каталога и настройкой всех интеграций - от 80 000 ₽.

Можно ли совмещать ручное наполнение и импорт из файла?

Да, и на практике это самый частый сценарий. Основной массив загружаю импортом или парсером, а карточки приоритетных товаров дорабатываю вручную: уникальные описания, свои фото, расширенные характеристики.

Что делать, если поставщик не даёт YML-фид?

Остаётся два варианта: попросить выгрузку в Excel или CSV вручную у менеджера поставщика, либо заказать парсер, который соберёт данные с публичного каталога на сайте поставщика. Второй вариант дороже на старте, зато не зависит от готовности менеджера присылать файлы каждый раз.

Как часто нужно обновлять каталог после парсинга?

Для товаров с нестабильными остатками - раз в 1-2 часа, для ассортимента с редкими изменениями прайса хватает суточной синхронизации. Периодичность настраивается через cron-задачу или сценарий в n8n и не требует ручного запуска.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно