Обо мне Услуги Подробные кейсы Блог Инструменты Отзывы Партнёрам Контакты

SEO сайта доставки еды: что я сделал и зачем — разбор реального отчёта

SEO сайта доставки еды: разбор реального отчёта

Я специалист по Google Ads, но реклама не живёт отдельно от сайта. Если сайт медленный, с неактуальными условиями доставки и ошибками, реклама приводит людей в никуда, а органический трафик просто проходит мимо.

Ниже разбираю реальный отчёт по SEO и технической оптимизации сайта доставки еды. Интернет-магазин на OpenCart (ocStore 3.0.2.0), две языковые версии — украинская и русская. Работы завершены 29.10.2026. Результатов в позициях ещё нет, их будет видно через несколько недель, поэтому здесь только о том, что сделано и зачем.

Содержание статьи
  1. Как я вносил изменения
  2. Контент: категории, главная, заведения, контакты
  3. Блог
  4. Условия доставки: одинаковые на всех страницах
  5. Страницы доставки по районам
  6. Техническое SEO
  7. Внутренняя перелинковка
  8. Микроразметка и превью
  9. Новое заведение в Чугуеве
  10. Google Business
  11. Скорость
  12. Оформление заказа
  13. Что осталось программисту
  14. Сводная таблица изменений
  15. Что дальше
  16. Сколько стоят такие работы
  17. FAQ
ПоказательБылоСтало
Категории с текстами и мета-тегамиустаревшие или пустые15 × 2 языка
Статьи блогаустаревшие49 переписано + 4 новые
Страницы доставки по районам011 × 2 языка
URL в карте сайта620 с мусором, UA-карта с ошибкой408 живых в каждой карте
CLS главной на мобильных0,3830
Переадресации 301—64
Первая страница отчёта по SEO и технической оптимизации сайта доставки еды с ключевыми цифрами
Первая страница отчёта с ключевыми цифрами

Как я вносил изменения

Все изменения в базе и файлах я делал скриптами. Каждый скрипт сначала показывает предпросмотр «было → станет», делает резервную копию и имеет кнопку отката. Это важно, когда работаешь на живом сайте, через который каждый день идут заказы.

Повторный запуск скрипта ничего не дублирует: если блок уже добавлен, скрипт его пропускает. После каждого применения очищался кэш шаблонов, а результат я проверял на сайте и в Search Console.

Предпросмотр скрипта: описание категории и мета-теги «было → станет»
Предпросмотр скрипта «было → станет»

Контент: категории, главная, заведения, контакты

Категории. Для 15 категорий меню (пицца, бургеры, фри, акции, WOK, пиццоне, суши, суши-сеты, салаты, супы, десерты, завтраки, напитки, пиво, алкоголь) на двух языках написал блок «Подробно» внизу страницы, meta title и meta description. Категории — главные посадочные страницы под запросы вроде «пицца доставка Бровары» или «суши Троещина». Раньше тексты были устаревшими или пустыми, да ещё и с неправильной суммой бесплатной доставки. Новые тексты собрал под реальные запросы из Search Console.

Блок «Подробно» внизу категории «Пицца» с условиями доставки и ссылками на статьи блога
Блок «Подробно» в категории «Пицца» со ссылками на статьи

Главная и страницы заведений. Новый текст и мета-теги, актуальные условия доставки. Страницы трёх заведений (Троещина и два в Броварах) получили новые тексты. Закрытые точки отметил «закрыто» с предложением заказать доставку из действующих заведений. Информация о закрытых точках вводила клиентов в заблуждение, а трафик на эти страницы не должен теряться. Локальные запросы вроде «пиццерия Троещина» ведут именно сюда. В шаблон страницы заведения добавил стили, потому что текст там плохо читался.

Контакты. В заголовке H1, title и description страницы контактов не было Чугуева, где открылось новое заведение. Теперь есть: «Телефоны и адреса пиццерий — Киев, Бровары, Чугуев». Заодно убрал устаревшую пометку «обновлено» с датой в title.

Скрипт для страницы контактов: title и description «было → станет», добавлен Чугуев
Контакты: Чугуев в заголовке, title и description

Мета-теги товаров. Раньше у всех товаров были одинаковые шаблонные заголовки. Для 100 приоритетных записей (топ-50 товаров по показам × 2 языка) написал индивидуальные title и description. Код карточки товара доработал так: если у товара заполнены собственные мета-теги, используются они, иначе — общий шаблон, как и раньше. Заодно исправил эмодзи в мета-тегах: база в кодировке utf8 не хранит 4-байтовые эмодзи, и они превращались в «?». Таких записей было 172, эмодзи заменил на допустимые символы.

Карточка товара «Гамбургер» с проверкой мета-тегов: новый title, description, язык и canonical
Карточка товара: новый title, description и canonical

Блог

49 статей переписано. Взял статьи, у которых уже были показы в Google: новые заголовки H1, тексты, мета-теги, внутренние ссылки на категории и другие статьи, блок «Читайте также» в конце. Убрал устаревшие акции, неправильные суммы и адреса закрытых точек. Обе языковые версии. В шаблоне статьи исправил стили: заголовки наезжали на текст.

Обновлённая статья блога со структурой заголовков H2 и внутренними ссылками
Обновлённая статья со структурой H2, ссылками и условиями доставки

4 новые статьи под информационные запросы, каждая на двух языках и с баннером 1920×600:

СтатьяПод какие запросыПубликация
Калорийность пиццыкалорийность пиццы, ккал в кускеопубликовано
Пицца 30 или 40 смкакую пиццу заказать, сколько пицц на компаниюопубликовано
Чикен ролл: что это, состав и ценачикен ролл что это, состав, цена30.10
Сколько роллов заказать на человекасколько роллов заказать, суши-сет на компанию30.10
Баннер новой статьи блога «Сколько роллов на человека» для сайта доставки суши
Баннер новой статьи «Сколько роллов на человека»

Блог собирает информационный трафик и передаёт вес категориям через внутренние ссылки. А актуальные факты в статьях — это доверие и конверсия.

Условия доставки: одинаковые на всех страницах

Это, пожалуй, самая важная часть для бизнеса. Страница «Доставка и оплата» была только на русском, с устаревшими условиями и без правого берега. Теперь она на двух языках, с таблицами по зонам:

ЗонаРайоныМин. заказПринимаем доВремя доставки
1Киев: Троещина, Воскресенка, Лесной, Русановка, Левобережный, Березняки; Бровары400 грн22:00до 59 мин
2Сёла возле Броваров: Погребы, Калиновка, Квитневое, Требухов, Княжичи800 грн22:00до 89 мин
3Киев: ДВРЗ; возле Броваров: Гоголев, Безугловка, Чубинское, Счастливое, Гора1200 грн21:00до 89 мин
4Киев: Позняки, Осокорки, Харьковский, Дарница, Бортничи + правый берег2000 грн21:00до 89 мин
Чугуев 1Центр города400 грн21:00до 59 мин
Чугуев 2Микрорайон Авиатор и окрестности800 грн20:30до 89 мин
Чугуев 3Эсхар, Малиновка, Клугино-Башкировка1300 грн20:00до 89 мин
Новая страница условий доставки с таблицей по зонам: минимальная сумма, время приёма заказов, время доставки
Новая страница условий доставки с таблицей по зонам
Карта зон доставки по Киеву и Броварам с границами районов
Карта зон доставки: Киев и Бровары
Карта зон доставки по Чугуеву: центр, Авиатор, Эсхар, Малиновка
Карта зон доставки: Чугуев

Но обновить одну страницу мало. Старые условия разошлись по описаниям категорий, статьям и страницам заведений. Отдельный скрипт исправил их везде. Например, для дальней зоны в текстах стояло «от 400 грн, до 59 минут», а на самом деле — «от 2000 грн, до 89 минут, до 21:00». Для ДВРЗ и сёл указал их минимальные суммы и везде добавил ссылку на страницу условий.

Что это значило на практике: клиенты из отдалённых районов читали «бесплатно от 400 грн» и получали отказ от оператора. Одинаковые условия на всех страницах — меньше отказов и жалоб, больше доверия и от людей, и от Google.

Страницы доставки по районам

Создал 11 посадочных страниц под запросы «доставка пиццы + район», каждую на двух языках — 22 URL: Позняки, Осокорки, Харьковский массив, Бортничи, ДВРЗ, Березняки, Русановка, Воскресенка, Лесной массив, Левобережный массив, Правый берег.

  • на каждой странице: условия именно этой зоны, ориентиры района, популярные блюда, акции, блок «Вопросы и ответы», кнопки на меню и телефон;
  • баннеры 1920×600 сгенерировал в Gemini и конвертировал в WebP, отдельно для UA и RU версий;
  • на страницы районов поставил ссылки со страницы условий доставки и из статей о левом береге;
  • публикация 30.10, в тот же день — запрос индексации в Search Console для 6 главных URL.

Раньше по запросам вроде «пицца Осокорки» или «доставка пиццы Позняки» на сайте просто не было подходящей страницы. Отдельная страница под район — основной способ получить такой трафик.

Страница доставки пиццы на район Осокорки с баннером, условиями зоны и кнопками на меню
Страница «Доставка пиццы на Осокорки» с баннером

Техническое SEO

Карты сайта. Старая карта содержала 620 URL: удалённые товары, дубли, адреса вида index.php?route=…, страницы пагинации. Украинская карта вообще отдавала ошибку и не попадала в Google. Теперь две карты, /sitemap.xml (RU) и /sitemap-ua.xml (UA), по 408 URL: только товары из активных категорий, категории, статьи и заведения. Статус в Search Console — «Успешно».

Старая карта сайта в Search Console: 620 URL, украинская карта со статусом «Не получено»
До: 620 URL и ошибка «Не получено»
Новые карты сайта RU и UA в Search Console: статус «Успешно», по 408 URL
После: обе карты «Успешно», по 408 URL

robots.txt. Добавил строку с украинской картой, закрыл служебные разделы (логин, админку, системные папки), поиск и сортировку.

Новый robots.txt сайта доставки еды: закрытые служебные разделы, поиск и сортировка, две карты сайта
Новый robots.txt

«Битые» товары и 301. Нашёл товары без активной категории: их страницы отдавали ошибку 500. 32 товара отключил и убрал из карт сайта. Добавил 64 правила 301 со старых URL отключённых товаров и устаревших страниц на актуальные разделы меню. Ошибки 500 портят оценку сайта в Google, а переадресации сохраняют накопленный вес и клиентов, которые приходят по старым ссылкам.

Правила переадресаций 301 и адреса карт сайта в .htaccess
Переадресации в .htaccess

Canonical. Search Console показывал страницы заведений как «Копия, канонический вариант не выбран»: каждая открывалась ещё и по адресу с чужим языковым slug, а тега canonical не было (у статей он был). Добавил canonical, как в статьях блога — одна строка в контроллере.

Код страницы заведения: тег canonical и hreflang для UA и RU версий
Canonical на странице заведения

Язык страницы. Было lang="ua", стало lang="uk". Кода «ua» в стандарте нет, и Google мог неправильно определять язык.

Внутренняя перелинковка

  • в описания 13 категорий (оба языка, 26 записей) добавил блок «Полезное из блога» с 1–4 профильными статьями;
  • под статьями — 3 карточки похожих статей «Ещё из блога», подбор по теме: пицца, суши, бургеры, акции, дети. Показываются только там, где нет собственного «Читайте также», а старые акции и закрытые заведения не предлагаются;
  • на страницы районов поставил ссылки со страницы условий доставки и из статей о соответствующих районах.
Проверка скрипта перелинковки: сколько ссылок на статьи добавляется в каждую категорию
Проверка скрипта перед применением: ссылки из категорий на статьи
Статья с ручным блоком «Читайте также» и автоматическими карточками «Ещё из блога»
Статья с «Читайте также» и блоком «Ещё из блога»

Внутренние ссылки ускоряют индексацию новых страниц, передают вес категориям, а пользователь дольше остаётся на сайте.

Микроразметка и превью

Товары (Product). Старая разметка была с ошибками: вместо названия блюда — название категории, ошибка в поле цены (lowprice вместо lowPrice), без фото и описания, а для товаров без размеров цена считалась из строки «250 грн». Теперь есть название блюда, фото, описание, бренд, цена (для пиццы 30/40 см — диапазон «от–до», для остальных — одна цена), наличие. Проверка Google «Описания товаров» и «Данные о товарах продавца» — без ошибок. Корректная разметка позволяет показывать в выдаче цену и фото, а это заметнее обычной ссылки.

Проверка расширенных результатов Google для страницы товара: 3 элемента без ошибок
Проверка расширенных результатов Google для товара без ошибок

Заведения (Restaurant). На страницах четырёх действующих заведений: название, адрес, телефон, часы работы (10:00–22:00, в Чугуеве до 21:00), кухня, ссылка на меню и на профиль в Google Картах. Разметка подтверждает Google адреса и часы работы для локального поиска.

Проверка расширенных результатов Google для страницы заведения: «Местные компании» и «Организация» без ошибок
Проверка Google: «Местные компании» без ошибок

Организация (Organization) — в шапке сайта: название и альтернативное название, логотип в PNG, телефон, служба поддержки на украинском и русском, соцсети (Facebook, Instagram, YouTube, Telegram), приложения в App Store и Google Play.

FAQPage — на страницах районов блок «Вопросы и ответы» автоматически превращается в разметку: на Осокорках 3 вопроса, на Позняках 5.

Open Graph. Раньше картинкой превью на всех страницах был логотип в SVG, который мессенджеры не показывают. Ссылки в Telegram, Viber и Facebook отправлялись без картинки. Теперь у товара — фото блюда, у статьи — её баннер, на остальных страницах — общая картинка 1200×630 с логотипом и телефонами. Язык превью (og:locale) зависит от языка страницы: uk_UA или ru_UA. Красивое превью — больше переходов из чатов.

Применение скрипта Open Graph и разметки заведений: 7 правок и новая картинка превью
Применение скрипта: 7 правок, картинка превью создана

Новое заведение в Чугуеве

1 июля 2026 года сеть открыла заведение в Чугуеве, а на сайте его не было. Создал страницу на двух языках: дата открытия, самовывоз и места в зале, 3 зоны доставки, меню, акции, карта. Фото взял из баннера новости об открытии.

  • разметка Restaurant: адрес, телефон, время закрытия 21:00;
  • Чугуев добавлен в H1, title и description страницы контактов;
  • проверка Google «Местные компании» и «Организация» — без ошибок.
Новая страница заведения в Чугуеве с баннером открытия, режимом работы и телефоном
Страница заведения в Чугуеве
Проверка расширенных результатов Google для заведения в Чугуеве: 4 элемента без ошибок
Проверка Google: «Местные компании» и «Организация» без ошибок

Google Business

В разметку Restaurant четырёх заведений добавил ссылки на их профили в Google Картах (hasMap, sameAs). Так Google связывает страницу сайта с профилем заведения на картах.

Во время проверки нашёл, что в одном из аккаунтов Google Business висят 3 старых заблокированных профиля со старыми адресами. Действующие заведения — в другом аккаунте. Такие вещи стоит знать до того, как разбираться с локальной выдачей.

Скорость

Сдвиг вёрстки (CLS). На мобильных главная «прыгала» во время загрузки слайдера: CLS 0,383 при норме до 0,1. Зарезервировал место под слайдер и загрузил первый слайд сразу с высоким приоритетом. Результат — CLS 0. В Search Console 29.10 запустил проверку исправления, она длится до 28 дней.

Баннеры в WebP. Баннеры слайдера главной теперь отдаются в WebP: они легче JPG при том же качестве. Для этого модуль обработки картинок получил параметр WebP, а на главной изменено 6 вызовов. Шрифты получили font-display: swap, чтобы текст был виден сразу, без ожидания шрифта. С главной убрал 4 картинки «лоадера», которые грузились с тестового домена.

Главная страница сайта доставки еды после перевода баннеров слайдера в WebP
Главная после перевода баннеров в WebP
Применение скрипта скорости: поддержка WebP, правки модуля картинок, главной, стилей и шапки
Применение скрипта: WebP и font-display

Лишнее с каждой страницы:

ЧтоПочему убрано
Шрифт Open Sans из Google FontsНе используется (на сайте другой шрифт), блокировал отрисовку
select2 (JS + CSS)Не вызывается ни в одном шаблоне, а грузился на всех страницах
swiper (JS 204 КБ + CSS)Слайдеры работают на другой библиотеке
Google Maps APIТеперь грузится только на странице с картой
4 картинки «лоадера»Грузились с тестового домена
Применение скрипта очистки: убраны select2, swiper, Google Fonts и лишнее подключение Google Maps
Применение скрипта очистки скриптов и стилей

После применения проверил: в шапке остались только jQuery и основной файл стилей, слайдер, корзина и оформление заказа работают, ошибок в консоли нет.

Оформление заказа

Поле Email в форме оформления никто не заполнял. Я его скрыл, но значение по-прежнему передаётся, так что обработка заказа и выгрузка в учётную систему iiko (Syrve) не затронуты. Тестовый заказ после правки прошёл.

Форма оформления заказа на сайте доставки еды, поле Email до правки
Форма оформления заказа, поле Email до правки
Тестовый заказ в мобильной версии после правки формы: сообщение «Спасибо»
Тестовый заказ после правки

Долгое оформление. После нажатия «Оформить заказ» индикатор крутился 5–6 секунд. Я замерил каждый шаг и нашёл причину: при каждом заказе сайт заново загружает из iiko (Syrve) всё меню, около 9 МБ. Только это занимает 4,35 секунды.

Замер времени шагов оформления заказа: загрузка всего меню из учётной системы занимает 4,35 секунды
Замер времени шагов оформления заказа
Шаг оформленияВремя
Токен Syrve0,05 с
Загрузка всего меню (9 072 КБ)4,35 с
Разбор меню (61 МБ памяти)0,10 с
Группы терминалов0,05 с
Письмо администратору через SMTP0,02 с, ошибка
Итого без создания заказа4,57 с
Создание заказа и проверка статусаещё ~1–3 с

Решение — хранить меню на сервере 10 минут и не тянуть его каждый раз. Детали ниже, в задачах для программиста.

Голодный человек не хочет ждать 6 секунд после клика по кнопке. О том, как оформление заказа убивает конверсию в доставке еды, я писал отдельно.

CRO для Google Ads: не реклама сливает бюджет. Его сливает ваш сайт Google Ads · МаркетингCRO для Google Ads: не реклама сливает бюджет. Его сливает ваш сайтРеклама приводит на страницу, а продаёт сайт. Два разбора: лендинг и карточка товара. Что мешает конверсии и как удешевить заявки без смены рекламы.6 окт 2026Читать

Что осталось программисту

Часть задач не стоит делать без программиста, который поддерживает сайт. Для каждой я описал причину, где именно ошибка и готовое решение.

1. Кэш меню iiko (Syrve) — важно

Сайт при каждом заказе загружает всё меню из учётной системы — 9 МБ и 4,35 секунды. Решение: хранить меню на сервере 10 минут. Если в кэше не найдётся товара из корзины (например, его только что добавили в iiko), сайт сам загрузит свежее меню и повторит попытку, так что заказы не потеряются. Готовый скрипт с бэкапом и откатом передал — его можно применить или взять за образец.

2. Заказы в логе остаются в статусе «pending»

Каждый заказ в логе заканчивается записью «После трёх проверок создание заказа ещё продолжается». Сайт трижды проверяет статус в Syrve с паузой 0,2 секунды и не дожидается подтверждения, поэтому сверка суммы не выполняется. Нужно убедиться, что все заказы доходят в iiko, и увеличить паузу, например, до 1 секунды.

Записи экспорта заказов в лог: после трёх проверок заказ остаётся в статусе pending
Последние записи экспорта заказов в лог

3. Защита от ошибки 500 на товарах без категории — важно

Если у товара нет категории или её удалили, открытие карточки товара уходит в бесконечную рекурсию в методе построения «хлебных крошек», и сайт отдаёт 500. Последствия я убрал вручную (32 товара отключено), но причина осталась: после любого удаления или переноса категории ошибка вернётся. Для программиста описал три шага: безопасный метод с защитой от пустого результата и ограничением глубины, проверку в контроллере товара и, желательно, 404 или 301 для товаров без активной категории. Плюс как это проверить на тестовом товаре.

4. jQuery подключается дважды

Одна версия в шапке, вторая в подвале. Вторая перезаписывает первую, и плагины, подключённые к первой, теряются. Нужно оставить одну версию, проверить встроенные скрипты в шаблонах и перенести загрузку скриптов в конец страницы или подключить с defer.

5. main.css на 232 КБ блокирует отрисовку

Критические стили первого экрана стоит вынести в шапку, а остальное подгружать асинхронно. Это главный резерв ускорения LCP на мобильных.

6. Очистка сервера и персональные данные

  • убрать временные скрипты, бэкапы и мусор из корня сайта после проверки всех правок;
  • файлы выгрузок из iiko (~90 МБ) с телефонами и именами клиентов лежат в публичной папке. Прямой доступ я закрыл, но их нужно вынести за пределы сайта или удалить;
  • очистить error.log на 17 МБ.

7. Письма о заказах через SMTP

Письмо администратору отправляется синхронно через Gmail с таймаутом 5 секунд, а во время замера оно вернуло ошибку. Нужно проверить, доходят ли письма. Если не нужны — отключить, это сократит оформление заказа.

Сводная таблица изменений

Чтобы программист или следующий подрядчик понимал, что изменено, в отчёте есть полный перечень файлов и таблиц базы.

ФайлЧто изменено
product/product.phpСобственные мета-теги товара; фото для Open Graph; корректная разметка Product и расчёт цены
product/product.twigСтарый блок разметки заменён новым
posts/news.php«Ещё из блога»; баннер статьи в превью; FAQPage
posts/news_info.twigСтили текста статьи; карточки «Ещё из блога»; вывод FAQPage
posts/restaurantsList.phpCanonical; разметка Restaurant (4 заведения, время закрытия, hasMap / sameAs)
restaurantsList_info.twigСтили текста; вывод разметки Restaurant
common/header.phpКартинка и язык для Open Graph; lang="uk"
common/header.twigog:image и og:locale; разметка Organization; убраны Google Fonts
common/footer.twigGoogle Maps API только на странице с картой
common/home.twigCLS: место под слайдер, первый слайд без отложенной загрузки, убран лоадер
common/home.php, tool/image.phpБаннеры в WebP
main.cssfont-display: swap
checkout/form.phpОтключено подключение select2
module/banner.phpОтключено подключение swiper (также carousel и slideshow)
checkout/form.twigПоле Email скрыто
feed/custom_sitemap.phpЧистые карты сайта RU и UA
robots.txtКарта UA, закрытие служебных URL
.htaccess64 переадресации 301, адреса карт сайта
image/og-default.jpgНовая типовая картинка превью
Таблица базыЧто изменено
oc_category_descriptionТексты, мета-теги, «Полезное из блога», условия доставки — 15 категорий × 2 языка
oc_posts_description49 статей обновлено; 4 новые статьи, 11 страниц районов, страница заведения × 2 языка; условия доставки; контакты; тексты заведений и главной
oc_product_descriptionМета-теги 100 записей, исправление эмодзи в 172 записях
oc_product32 товара без категории отключено

Резервные копии базы и файлов сохранены, откат — кнопкой в соответствующем скрипте.

Что дальше

  • 30.10: поле «Сайт» в профилях Google Business — ссылка на страницу своего заведения с UTM-метками;
  • 30.10: запрос индексации страниц районов и замер PageSpeed после правок скорости;
  • через 2–3 недели в Search Console: CLS, индексация страниц районов и новых статей, исчезновение дублей заведений, расширенные результаты (товары, местные компании);
  • через 4–6 недель: позиции и клики по запросам «доставка пиццы + район» и по новым статьям;
  • страница «Доставка пиццы в Чугуеве» по аналогии с районами Киева;
  • наполнение профилей Google Business: меню, фото, публикации;
  • следующие статьи: «Пицца на тонком тесте», «Бортики для пиццы», «Запечённые или темпура роллы», «Что заказать к пиву».

Когда появятся цифры, покажу их отдельно.

Сколько стоят такие работы

Ориентировочная оценка такого объёма работ на рынке Украины — $3 500–6 500, если делает фрилансер. Агентство за такой объём выставило бы примерно $6 000–10 000. Это ориентир по текущим ставкам на рынке, а не прайс.

БлокОбъёмОценка
Аудит: Search Console, индексация, коданализ и план$150–300
Контент категорий15 × 2 языка, тексты и мета-теги$300–450
Обновление блога49 статей × 2 языка$1 000–2 000
Новые статьи4 × 2 языка$150–300
Страницы районов и условия доставки11 × 2 языка + страница условий$450–900
Главная, заведения, контактытексты, мета-теги, новое заведение в Чугуеве$200–350
Мета-теги товаров100 шт. + исправление эмодзи$100–200
Техническое SEOкарты сайта, 64 редиректа, ошибка 500, canonical, lang$300–600
Микроразметка и Open GraphProduct, Restaurant, Organization, FAQ$200–400
СкоростьCLS, WebP, очистка скриптов$250–500
Баннеры~25 шт., генерация и WebP$100–250
Диагностика оформления заказазамеры, ТЗ для программиста$100–200
Отчёты2 PDF$100–200
Итого≈ $3 400–6 650

Такое SEO я делаю в пакете с Google Ads и рекламой в ChatGPT — $1000 в месяц.

Кейс доставки еды в Google Ads: сеть доставки пиццы, 6+ лет сотрудничества, CPL 42 грн Кейс Google Ads · Доставка едыКейс доставки еды в Google Ads | Локальный бизнес | CPL 42 грн6+ лет сотрудничества с сетью доставки пиццы. CPL 41,26 грн по всем кампаниям, 174 грн без бренда. Как манипулируют цифрами в кейсах Google Ads.14 сен 2026Читать 16 — СайтCRO-аудит сайтаАнализ сайта с точки зрения конверсии: что мешает пользователю из рекламы оставить заявку или сделать заказ. Список конкретных правок с приоритетами.от $50Подробнее
Сайт тормозит рекламу? Напишите, посмотрю, где теряются заказы

FAQ по теме

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

Нужно ли SEO, если уже работает Google Ads?
Да. Реклама и SEO ведут людей на тот же сайт. Актуальные условия, скорость и удобное оформление заказа повышают конверсию и для рекламного, и для органического трафика.
Зачем отдельные страницы под районы доставки?
Люди ищут доставку именно в своём районе. Без отдельной страницы с условиями этой зоны сайту нечего показать по такому запросу.
Почему в карте сайта не должно быть лишних URL?
Google тратит ресурс сканирования на мусорные и несуществующие страницы вместо полезных. Чистая карта с живыми страницами помогает быстрее индексировать то, что действительно важно.
Что такое CLS и почему он важен?
CLS — показатель сдвига вёрстки во время загрузки. Когда страница «прыгает», человек промахивается по кнопкам и раньше уходит с сайта. Норма — до 0,1.
Сколько ждать результатов от SEO?
Технические исправления Google проверяет в течение нескольких недель. Первые изменения в индексации видно через 2–3 недели, в позициях и кликах — обычно через 1–2 месяца.



Заявка

Обсудим
ваш проект

Оставьте заявку — разберёмся с ситуацией, обсудим цели и подберём оптимальное решение под ваш бизнес и бюджет.

🏆
Как Google Partner, я могу помочь получить рекламный бонус от Google до 55 000 грн на первые кампании.
❌ Не работаю с: гемблинг · беттинг · алкоголь · табак · крипта · серые ниши · МФО/PDL
Или напишите напрямую:
▸ new_project.init()
Обсудить проект