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

Идея написать статью появилась после обучения на курсе Алексея Селезнева «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. Но главное преимущество использования языка программирования в решении подобных задач состоит в экономии времени.
Сохраните код в отдельный файл и настройте цикличное выполнение аналогичной задачи, например, раз в месяц. Дальше повторное выполнение всей описанной выше рутины займет всего несколько секунд или вовсе выполнится автоматически.
Учите языки программирования, прокачивайте скил и упрощайте рутинные задачи в интернет-маркетинге. Если остались вопросы, задавате в комментариях — я с радостью отвечу.
Комментарии:
Пример использования пакета google***yticsR от Марка Эдмондса...
15 10 2026 12:36:28
Обзор новой версии краулера Netpeak Spider 3.0, которая включает в себя около 300 изменений: от супер-фич до небольших фиксов в юзабилити....
14 10 2026 18:25:56
Понадобится всего пару минут, чтобы создать отчет о тратах, количестве конверсий или любых других важных показателях. Понятная инструкция для PPC-специалистов и про возможности и ограничения бесплатной версии расширения. Читайте дальше!...
13 10 2026 16:16:23
20 сервисов для прокачки контента под SEO. Штуки, которые будут полезны новичкам и экспертам....
12 10 2026 3:58:45
Как работать с негативом и что делать, чтобы его было меньше/не было вовсе....
11 10 2026 17:58:12
Как жить с налогом на Google, Facebook и другие международные сервисы — объясняем детали....
10 10 2026 11:28:37
Как построить html-карту. Верстка карт New York Times, IMDb и Daily Mail в качестве примера...
09 10 2026 20:34:36
SEO-специалист Netpeak Виктория Игнатьева опубликовала небольшой обзор особенностей рынка SEO Японии, подготовленный на основе собранных в сети материалов, а также личных знаний и наблюдений...
08 10 2026 5:28:23
В арсенале Google Рекламы есть очень ценный инструмент — отслеживание конверсий....
07 10 2026 11:36:27
Нейронные сети, нейросети онлайн, сверхточные нейронные сети. Я рассажу, как они устроены, как написать свою нейронную сеть с нуля, как правильно обучить нейронную сеть на имеющихся данных...
06 10 2026 7:39:41
В статье описан ручной и самый безопасный из существующих метод...
05 10 2026 12:54:32
На одном из проектов был успешный рост трафика и транзакций, но в следующем месяце видимость по Яндексу снизилась до 30% и продолжала жестоко падать. ТИЦ упал с 450 до 425....
04 10 2026 23:17:47
Проверка структурированных данных поисковыми роботами нуждается в нашей поддержке...
03 10 2026 21:56:40
Понятная инструкция для SMM-специалистов для тех, кто экспериментирует с настройками аудиторий в рекламных кампаниях. Вы увидите, как настраивать ремаркетинг на примере Facebook. Существует 10 типов индивидуализированных аудиторий в Facebook, разберем три...
02 10 2026 18:39:39
Кейс о том, как написать большинству дилеров премиальных акустических систем в Европе и ничего не продать. И почему это кейс, а не антикейс....
01 10 2026 13:48:55
Как быстро увеличить количество заинтересованных подписчиков в facebook, twitter, google+ и linkedIn с помощью контактов из рассылки и аккаунтов Facebook....
30 09 2026 20:35:29
Метод бoмжа в маркетинге. Как разработать позиционирование стартапа при ограниченных ресурсах...
29 09 2026 12:13:53
Метод не для всех, но увлеченным веб-аналитикой точно понравится!...
28 09 2026 6:15:59
Рост дохода в шесть раз, ROMI +500% за пять месяцев....
27 09 2026 9:29:26
Как узнавать эффективность страницы мобильного приложения в Play Маркете? Учимся работать в Google Play Developers Console....
26 09 2026 7:34:19
Бренду нужно зайти на Фейсбук? Несколько очень полезных советов об измерении эффективности SMM....
25 09 2026 5:32:39
Увлекательные истории от специалиста по контекстной рекламе....
24 09 2026 21:17:17
Метод настройки с помощью Google Tag Manager. Мануал с подробным описанием каждого шага — показываем на примере, как отслеживать веб-конверсии в рекламных кампаниях LinkedIn. Узнать больше!...
23 09 2026 20:18:14
Как установить счетчик Метрики, грамотно настроить цели, сегменты и запустить рекламную кампанию по ретаргетингу в Яндекс.Директ...
22 09 2026 12:45:43
Алгоритм технической подготовки IP-адреса к массовым рассылкам...
21 09 2026 16:51:14
14 пунктов, которые помогут вам лучше изучить свой бизнес и подготовить эффективную SMM-стратегию...
20 09 2026 3:10:51
На вопрос «как все успеть?» хочется ответить что-то вроде «никак». Особенно, если дело касается задач, связанных с творчеством. Но можно и не срывать дедлайны. Читать дальше....
19 09 2026 2:10:16
Данные о стоимости клика в наиболее популярных рекламных интернет-площадках страны....
18 09 2026 8:50:52
Экспорт/импорт с помощью Excel-файла или таблиц Google позволит скопировать и перенести кампании, группы объявлений и объявления в Facebook вместе с креативами, текстами, ссылками и utm-метками...
17 09 2026 12:22:52
Уроки, написанные понятным и доступным языком экспертами по контекстной рекламе, поисковому продвижению, SMM....
16 09 2026 1:26:48
Продвижение монобренда: особенности, трудности, подводные камни. Ниша здоровья и красоты....
15 09 2026 3:17:48
Что, если бы покупка в супермаркете происходила так же, как в онлайн-магазине?...
14 09 2026 23:16:44
Проведение краудфандинговых кампаний — это бизнес. Это отдельный и вполне серьёзный рынок с уймой заточенных под ваши нужды услуг. Раньше нужно было ждать, пока проект пройдет обязательную проверку сотрудником Kickstarter, сейчас можно запускать кампанию...
13 09 2026 13:16:15
Какая интересная и трэшовая реклама встречалась в соцсетях в январе 2021-го? Давайте смотреть...
12 09 2026 10:41:20
Опции скриншутера, которые упростят вам жизнь....
11 09 2026 1:42:23
Как с помощью ботов ControllerBot и BotFather упростить управление каналами и разнообразить контент....
10 09 2026 5:31:35
Игроков интернета России, Уанета и Казнета зарубежные сайты coблaзняют семизначными результатами продаж во время «черной пятницы» и «киберпонедельника»....
09 09 2026 1:12:16
Нет прокрастинации! Советы для личной эффективности от руководителя двух стартапов...
08 09 2026 17:39:13
Как мы проводили самую летнюю конференцию в условиях постлокдayна, пандемии и неизвестности....
07 09 2026 1:14:36
Блиц-инструкция и рекомендации по созданию эффективных описаний для мобильных приложений...
06 09 2026 1:14:30
Когда на сайт добавляют новый контент, он тут же трaнcлируется в RSS-ленту и отображается в специальных программах для чтения, либо в email подписчиков. Как это работает?...
05 09 2026 16:51:20
Руководство для всех, кто хочет продать что-то через интернет...
04 09 2026 18:53:15
Зачем амбициозным онлайн-проектам индивидуальные инструменты веб-аналитики....
03 09 2026 16:50:38
Как проверить качество текста от копирайтера. Составляем техническое задания для копирайтера, проверяем уникальность, наличие ключевых слов, использование LSI, проводим семантический анализ текста....
02 09 2026 20:33:52
Сделать «на вчера», «внезапно», протестировать все варианты. Стоп! Остановитесь и выдохните. Be slow...
01 09 2026 7:59:16
Быстрый и бесплатный способ настройки целей через Google Tag Manager....
31 08 2026 13:26:53
Подробное руководство по настройке отслеживания событий в GA4...
30 08 2026 6:52:26
Небольшая wiki о программатик-баинг и RTB. Объяснение алгоритма, обзор рынка, мнения экспертов....
29 08 2026 22:18:13
Спойлер: чтобы получить наилучший результат с наименьшими усилиями и затратами времени....
28 08 2026 3:10:11
Технологии решают, но не всегда....
27 08 2026 2:59:36
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::