Как массово удалить в интернет-магазине страницы товаров, которые не приносят трафик

Идея написать статью появилась после обучения на курсе Алексея Селезнева «R для интернет-маркетинга». Я решил поделиться опытом удаления в полуавтоматическом режиме большого количества непосещаемых страниц на сайте.
Статья будет полезна веб-аналитикам, которые работают с крупными интернет-магазинами. Например, на сайте еженедельно появляется примерно 1000 новых наименований и такое же количество позиций переходит в статус «нет в наличии».
К тому же, непонятно, когда товар появится снова в наличии. Приходится скрывать товары с витрины либо сохранять карточки с URL, чтобы страницы недоступных к заказу наменований не выпадали из индексации и факторы ранжирования не сказывались на позициях всего сайта.
В итоге трафик не растет, количество страниц увеличивается в геометрической прогрессии, место на сервере заканчивается и в структуре сайта множится хаос. Для решения подобных сложностей подходит удаление в полуавтоматическом режиме страниц, не приносящих трафика за последние 3-4 месяца.
Язык R в интернет-маркетинге — дайджест полезных публикаций Чтобы выяснить, какие страницы сайта получают трафик, понадобится API Яндекс Метрики. Для решения задачи подойдет любой язык программирования, который поддерживает работу с HTTP-запросами, — я пользуюсь
Для подключения его нужно скачать и установить. Также для комфортной работы с R рекомендую использовать бесплатную среду разработки RStudio.
Для решения вышеописанной задачи нам потребуется установить пакеты для:
- загрузки данных из кабинетов Яндекс Метрики — \" rym\"
- работы со временем и временными периодами — \"lubridate\"
- работы с таблицами и агрегации данных — \"data.table\" и \"dplyr\"
Чтобы установить пакеты из основного репозитория CRAN примените базовую функцию install.packages:
install.packages(\"rym\", dependencies = TRUE)install.packages(\"lubridate\", dependencies = TRUE)install.packages(\"data.table \", dependencies = TRUE)install.packages(\"dplyr\", dependencies = TRUE)Пакет достаточно установить однажды, но подключать нужно каждый раз при запуске нового сеанса работы с R. Для подключения используйте функцию library.
library(google***yticsR)library(lubridate)library(data.table)library(dplyr)1. Предварительно необходимо скачать все страницы вашего сайта в формате файла .csv или .excel (сделать это можно через Netpeak Spider или просто выгрузив все страницы через CMS вашего сайта).
2. Определитесь, какие страницы не получали трафик более 4 месяцев (если брать меньший период, то можно вычистить страницы, которые недавно только были переведены в инактив и, возможно, еще могут принести трафик).
Задайте период отсчета 4 месяца:
date_end<- round_date(today() - months(3), unit = \"month\")Подключитесь к предварительно загруженному файлу со всеми страницами сайта:
setwd(\"C:\********\")Вместо * укажите путь к папке, в которой находится файл со всеми страницами сайта (который вы создали на шаге 1). Задавая путь к файлу, обязательно используйте разделители \ или одинарный /.
При первичном обращении к API Яндекс.Метрики, вам потребуется создать и сохранить токен доступа. При следующих обращениях вы сможете проходить идентификацию без ввода пароля. Для авторизации используйте функцию rym_auth(). Задайте период отсчета 4 месяца:
rym_auth(login = \"*****\", token.path = \"metrica_token\")
Вместо * укажите ваш логин в Яндекс.Метрике. После запуска этой функции откроется окно запроса доступов.
После подтверждения прав вы попадете на страницу выдачи ключей.
Это техническая страница, созданная автором пакета \"rym\" Алексеем Селезневым, для получения токена. Токен появится в папке, которую вы задали во втором шаге. Данные вашего аккаунта защищены, потому что:
- доступ к аккаунту через R возможен только при наличии на вашем компьютере файла с токеном;
- обращения ведутся только через папку, созданную на втором шаге нашей инструкции.
zaprosi <- rym_get_data(counters = \"*****\",date.from = date_end,date.to = \"yesterday\",dimensions = \"ym:s:startURL\",metrics = \"ym:s:pageviews\",accuracy = \"full\",login = \"*****\",token.path = \"metrica_token\",lang = \"ru\")В поле counters = \"*****\", вместо * укажите номер вашего счетчика в Яндекс.Метрике.
в поле login = \"*****\", вместо * введите логин, который вы указали на этапе авторизации токена.
\"ym:s:startURL\" – показывает URL страницы\"ym:s:pageviews\" – количество просмотров этой страницыИзучите подробную инструкцию по API Яндекс.Метрики.
Затем загрузите в среду разработки RStudio файл с таблицей URL вашего сайта. Обратитесь к папке, где находится файл.
setwd(\"C:\********\")Загрузите его.
site <- fread(\"********.csv\", header=\"auto\", encoding=\"UTF-8\")
Вместо * укажите название файла со всеми страницами сайта.
В исходном файле, который вы получили на третьем этапе, есть столбец со списком всех URL. Он может называться по-разному, но для удобной обработки данных в выгружаемой статистике Яндекс.Метрики назовите столбцы одинаково.
Для этого переименуйте название столбца в файле Яндекс.Метрики:
setnames(zaprosi, \"Страница входа\", \"*******\")zaprosi – таблица с выгруженной статистикой из Яндекс.Метрики.\"Страница входа\" – Название столбца с URL в таблице zaprosi.
\"******\" – это название заголовка столбца с URL в файле с сайта.
Установите связь между таблицами.
view_url <- left_join(site,zaprosi, by=\"*****\")Вместо * укажите название столбца с URl, который вы задали. Далее доработайте полученный файл. Выберите страницы с числом просмотров = 0.
view_url <- replace_na(view_url,0)view_url <- view_url %>% filter(`Просмотры` == 0)Агрегируйте первые 5000 страниц. Не стоит удалять сразу большими «пачками» страницы: берите не более 15-20% от общего количества и смотрите, как поведет себя алгоритм поиска. Роботы поисковиков в любом случае не смогут просканировать за раз все страницы, но резкий спад в числе отдаваемых сайтом страниц может привести к неоднозначным выводам со стороны поиска. Удаляйте страницы планомерно, детально оценивая уровень позиций и трафика на ваш сайт.
view_url <- view_url[1:5000,] Запишите полученный результат в файл.
write.csv(view_url,\"del_stranici.csv\",fileEncoding = \"UTF-8\")Вы получили список страниц, которые не приносят трафик. Удалите их одним из способов:
- если позволяет CMS, загрузите их самостоятельно на сайт и задайте параметры на удаления;
- передайте список вашему программисту и попросите удалить.
Вывод
Данное решение относительно просто реализовать и без применения языка R. Нужно просто вручную скачать страницы из Яндекс.Метрики, затем найти все пустые страницы через функцию ВПР и удалить их по схеме, применимой для вашей CMS. Но главное преимущество использования языка программирования в решении подобных задач состоит в экономии времени.
Сохраните код в отдельный файл и настройте цикличное выполнение аналогичной задачи, например, раз в месяц. Дальше повторное выполнение всей описанной выше рутины займет всего несколько секунд или вовсе выполнится автоматически.
Учите языки программирования, прокачивайте скил и упрощайте рутинные задачи в интернет-маркетинге. Если остались вопросы, задавате в комментариях — я с радостью отвечу.
Комментарии:
Через тернии к кейсу. SEO-продвижение интернет-магазина отопительного оборудования с оплатой за трафик...
02 11 2026 14:42:56
О тенденциях на рынке ecommerce и переходе Хорошоп на удалёнку....
01 11 2026 4:22:49
Успех рекламы во многом зависит от сезонности, популярности тематики и умения оперативно среагировать на тренд. Для этого и существует сервис Google Trends....
31 10 2026 9:54:39
Знания основных принципов конверсионности сайта, этапов воронки продаж важны для того, чтобы наладить процессы, рост продаж в любом бизнесе. Узнать больше!...
30 10 2026 15:59:28
Дайджест-путеводитель по серии постов о работе с редакторами электронных таблиц для PPC-специалистов....
29 10 2026 21:39:57
Как настроить Google ***ytics и как открыть вход другому пользователю: подробный урок....
28 10 2026 17:22:43
Для эффективного ведения контекстной рекламы необходимо отслеживать продажи. Как сделать это с помощью Google Tag Manager расскажем в этой статье...
27 10 2026 3:17:47
Facebook buttons. Пора поделиться самым волнующим вопросом 2011-го года...
26 10 2026 6:54:45
Топ-8 ошибок новичков в Google Рекламе: как сэкономить деньги при планировании рекламной кампании....
25 10 2026 19:12:11
Обсуждаем, как попробовать инфлюенсер-маркетинг без особого бюджета...
24 10 2026 5:30:29
Николь Лаззаро из XEODesign провела исследование о том, почему мы играем или не играем в игры....
23 10 2026 13:28:22
Тема поста — исследование электронной коммерции в Украине: рынки, статистика, объем продаж, поисковый потенциал....
22 10 2026 6:21:32
Как мы недооценили уровень конкуренции в нише, и как пришлось с этим бороться, чтобы принести пользу клиенту....
21 10 2026 17:17:39
Объясняем по пунктам, как создать и правильно настроить DSA c таргетингом на фид и содержание сайта...
20 10 2026 22:12:52
Публикуем тему с закрытого аналитического форума Netpeak про «звездочки» как инструмент оценки релевантности контента....
19 10 2026 18:38:51
Крутые площадки для нового инструмента: контекстщикам на заметку!...
18 10 2026 9:50:45
В одной из самых «перегретых» ниш вышли в топ-5 по некоторым высокочастотным запросам. Узнать больше!...
17 10 2026 21:49:25
За каждым проектом стоят прежде всего люди. Как часто мы пользуемся сложными системами и не думаем о том, кто их создал и продолжает развивать? Интересно о том, кто и что стоит за «ПланФиксом». Читайте далее!...
16 10 2026 20:23:35
Важно иметь прорывное мышление — о таком подходе к бизнесу написана книга Люка Уильмса «Переворот»....
15 10 2026 15:54:47
Как автоматизировать целый участок в работе комaнды специалистов по контекстной рекламе — кейс concert.ua...
14 10 2026 3:45:44
Визуализация данных для новичков. Отвечаем на вопрос читателя....
13 10 2026 17:15:12
5 примеров маркетингового троллинга. Сатира, ирония, пародия — все эти приемы в рекламе помогают брендам выделиться среди конкурентов. Если их правильно использовать, конечно, это отличный способ привлечь клиентов и создать запоминающийся образ бренда...
12 10 2026 19:28:34
Данные по 22,4 миллионам кликов в 46 тематиках и 392 населенных пунктах страны — собрана статистика исключительно по проектам агентства Netpeak. Узнать больше!...
11 10 2026 8:15:38
Проверяем, есть ли разница в ранжировании при наличии/отсутствии этих слов в метаданных. Эксперимент....
10 10 2026 21:28:11
Организаторам мероприятий, коллегам из PR-сферы и невестам о том, как делегировать важные мероприятия внешнему подрядчику...
09 10 2026 4:35:25
Правила, требования, особенности. А ещё примеры, которые помогут создать правильную, с точки зрения поисковиков, рекламу. Читать!...
08 10 2026 7:47:25
Участники Netpeak Cluster поделились своими инсайтами....
07 10 2026 16:47:14
Что такое контекстная реклама? Настраиваем рекламу в поиске Google...
06 10 2026 17:34:13
Почему в рекламе недвижимости стоит запускать динамический ремаркетинг...
05 10 2026 21:39:32
Пост о том, как и когда тратит деньги американский и украинский покупатель...
04 10 2026 6:20:40
Обзор четырех самых популярных сервисов для автоматического продвижения сайтов...
03 10 2026 23:32:56
Андрей Чумаченко про будни топ-менеджера, постановку, декомпозицию, помощь и контроль выполнения задач сотрудниками комaнд, которые входят в состав департамента маркетинга, а также о регулярных встречах и тонкостях работы. Узнать больше!...
02 10 2026 6:21:52
Разработка, вёрстка и оптимизация мобильных версий сайтов — популярные темы последнего времени. Мы расскажем, что стоит и что не стоит делать в мобильном SEO....
01 10 2026 8:34:28
Подбор правильного инструмента для визуализации данных может сэкономить время и ресурсы компании, а также повысить общую продуктивность маркетинга...
30 09 2026 8:19:35
Лестные отзывы от клинта в интернете невозможно переоценить. Если вы владелец малого бизнеса и только разpaбатываете и внедряете свою маркетинговую стратегию, книга «По рекомендации» будет вам полезной...
29 09 2026 22:24:37
Профессиональный уровень SEO-специалиста в штатных комaндах редко определяется конкретной категорией (Junior, Midle, Senior). Но большинство считает себя мидлами. Узнать больше!...
28 09 2026 13:31:47
Какие рассылки можно отправить покупателю, если у вас есть только данные из карточки товара...
27 09 2026 4:53:21
Что нужно делать на старте работ с интернет-магазином и как минимизировать риски для бизнеса онлайн, используя такие инструмента как SEO, PPC и Email-маркетинг — советы от эксперта. Читать дальше!...
26 09 2026 19:11:52
Как эффективно распределять бюджет и ресурсы на обучение сотрудников. Статья будет полезной для собственников бизнеса и HR-специалистов....
25 09 2026 4:50:57
Суть бренда на одном дыхании: о рекламе с любовью. Изначально под большой идеей мы пониманием ту пользу, которую несет бренд в окружающий его мир. Помимо этого, большая идея — это те «рельсы», по которым будут ехать все коммуникации бренда в течение нескольких лет...
24 09 2026 7:11:35
Фильтруем свой трафик от сотрудников в Google ***ytics...
23 09 2026 6:22:54
Как установить счетчик Метрики, грамотно настроить цели, сегменты и запустить рекламную кампанию по ретаргетингу в Яндекс.Директ...
22 09 2026 15:15:29
«Rework» — одна из самых любимых книг нетпиковцев....
21 09 2026 4:21:52
Правильная внутренняя перелинковка необходима, чтобы страницы не вылетали из индекса, а также чтобы увеличить ссылочный вес продвигаемых страниц...
20 09 2026 15:11:38
Четкая структура полноценного письма с примерами из рассылок крупных компаний: Aviasales, LinguaLeo, Rozetka, Yves Rocher, Pich Shop, Эльдорадо и другие....
19 09 2026 12:54:10
18 09 2026 11:19:40
Как вывести в индекс страницы сайта на Ajax: от необходимости их создания, роли SEO, ускорении индексации и реальные рекомендации всего в трех пунктах, чтобы основное преимущество таких сайтов работало безотказно...
17 09 2026 12:38:56
Пришло такое время — обновить данные, тем более что в начале сентября появилось исследование Google....
16 09 2026 13:27:26
Как Netpeak продвигал Cifrus.ru, один из ведущих магазинов цифровой техники в Москве....
15 09 2026 11:23:53
Интересные детали интерьера в офисах украинских IT-компаний: от массажного стола и тенниса до звукозаписывающей студии и корпоративной велопарковки. Читать дальше!...
14 09 2026 14:29:40
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::