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

Идея написать статью появилась после обучения на курсе Алексея Селезнева «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. Но главное преимущество использования языка программирования в решении подобных задач состоит в экономии времени.
Сохраните код в отдельный файл и настройте цикличное выполнение аналогичной задачи, например, раз в месяц. Дальше повторное выполнение всей описанной выше рутины займет всего несколько секунд или вовсе выполнится автоматически.
Учите языки программирования, прокачивайте скил и упрощайте рутинные задачи в интернет-маркетинге. Если остались вопросы, задавате в комментариях — я с радостью отвечу.
Комментарии:
То, как вы читаете на мониторе или в смартфоне, значительно отличается от чтения книги или печатного журнала. Когда вы пишете текст для веба, очень важно знать об этой особенности....
08 06 2026 9:39:57
Обновление от Google, запущенный в октябре 2015 года. Это просто веб-страницы, но в их основе находится AMP HTML, формат для максимального ускорения загрузки на телефонах...
07 06 2026 6:12:39
Как грамотно раскрутить пиццерию. Сняли фильтр и достигли хороших результатов....
06 06 2026 4:12:38
Артем Шевченко (Epicentr), Михаил Рогальский (Monobank), Максим Дмитров (BSH Hausgeräte), Андрей Чумаченко (Netpeak) и другие участники конференции 8Р о том, как они рассчитывают инвестиции в интернет-маркетинг....
05 06 2026 11:40:26
Идеи, кейсы и советы от экспертов. Читайте и находите что-то для продвижения своего бизнеса. Нетривиальные идеи от признанных экспертов-пpaктиков! Рекомендуем каждому, что развивает или планирует свой бизнес в интернете!...
04 06 2026 5:11:45
1 — меняй работу внутри работы, 2 — выбери то, что нравится больше всего и старайся делать это чаще, 3 — придумай себе развлечения. Подробности — в посте. Читать дальше....
03 06 2026 22:56:53
О важных для разметки сайта тегах — alternate, hreflang, media, — и как их грамотно использовать при продвижении....
02 06 2026 18:21:24
HR-советы компаниям, которым нужно найти больше трех джунов в проект...
01 06 2026 2:50:26
В этом кейсе я не смогу похвастаться ROMI (возврат маркетинговых инвестиций), так как его герои — это новостные порталы. Основная задача — трафик. Но не просто трафик, а трафик по низкой стоимости....
31 05 2026 6:43:33
Партнерская программа — это когда сервис дает партнеру вознаграждение за приведенных клиентов. Получить деньги и/или другие плюшки можно также по реферальной программе. Как это работает? Разбираемся на примерах....
30 05 2026 6:43:54
Почему бизнесу нужно настраивать мультикaнaльную модель атрибуции на основе воронки продаж и как это сделать....
29 05 2026 11:25:28
Сторителлинг — это способ рассказывать истории, его цель — дать возможность читателю или зрителю почувствовать себя героем этой истории,...
28 05 2026 9:34:30
Данные по 33,5 миллионов кликов в 26 тематиках и 394 городах...
27 05 2026 2:22:20
О чем следует позаботиться перед созданием интернет-магазина...
26 05 2026 15:22:36
Перед внедрением ремаркетинга следует хорошенько поработать над составлением базовых портретов аудитории сайта...
25 05 2026 6:54:36
О промдизайне, инсайтах, испытаниях для дизайнеров по мотивам BBC-шоу «Дизайн для жизни» с Филиппом Старком....
24 05 2026 0:47:31
В статье описан ручной и самый безопасный из существующих метод...
23 05 2026 20:52:39
Пожар в дата-центре, неудачные обновления и то самое падение Facebook....
22 05 2026 22:39:59
Фильтруем свой трафик от сотрудников в Google ***ytics...
21 05 2026 3:10:34
Как избежать скликивания, случайных переходов и «пустых» установок при рекламе мобильного приложения...
20 05 2026 13:19:21
Четыре важных шага для новичка...
19 05 2026 0:55:19
Дублирование контента на разных сайтах, ориентированных на рынки разных стран, например, на публику Канады...
18 05 2026 13:26:52
Как украинский бизнес использует Черную пятницу, чтобы увеличить продажи и привлечь клиентов. Одежда, детские товары, курсы английского языка, экзотические фрукты, постельное белье, посуда, бытовая техника, SMM-агентство и многое другое...
17 05 2026 8:10:32
Лучшие фишки продвижения мобильных приложений в адаптированном переводе отчета Branch.io...
16 05 2026 16:18:28
Пост о том, как и когда тратит деньги американский и украинский покупатель...
15 05 2026 1:55:29
General Data Protection Regulation (GDPR): ответы на вопросы....
14 05 2026 19:42:42
Новая услуга для бизнесов, которым большое количество подписчиков не приносит продаж...
13 05 2026 7:20:48
SEO-продвижение онлайн-сервиса доставки еды с новым сайтом. Цели продвижения, составление семантического ядра, формирование URL, поддомены, карточки товаров, тексты, внешняя оптимизация, дополнительные работы, а также полученные результаты...
12 05 2026 9:29:27
Список курсов, книг, каналов и пабликов для работы с данными...
11 05 2026 1:36:31
Почему сайт упал в выдаче и какой апдейт алгоритма поисковика на это повлиял...
10 05 2026 15:57:14
В этой статье я покажу пример визуальной работы с закладкой и пошагово разберу процесс их создания и применения для удобства визуализации данных...
09 05 2026 8:38:19
Об истории и значении поговорок и других фразеологических оборотов...
08 05 2026 4:38:42
На этой картинке изображены два предмета. Один из них называется «буба», а второй «кики»....
07 05 2026 19:19:26
Почему соотношение данных об использовании приложения важнее, чем количество установок и удалений...
06 05 2026 6:38:38
PBN (Private Blog Network) — приватная/частная сеть блогов, сайты-сателлиты, сетки сайтов. Строить их долго, дорого, но это работает....
05 05 2026 11:36:48
11 типов расширений и результат их внедрения на примере запущенных рекламных кампаний...
04 05 2026 16:26:21
Быстрые ссылки и другие советы на тему того, как эффективно работать в Директ Коммaндере....
03 05 2026 8:23:27
Конкректная цель — конкретные результаты трудоустройства...
02 05 2026 20:23:10
Оптимизация и оформление вордовских текстов, переводчик, совместное редактирование, возможность залить картинку... Эти и много других опций дают дополнения для Google Документов....
01 05 2026 0:15:28
Чем радовала, удивляла и шокировала таргетированная реклама в социальных сетях...
30 04 2026 17:10:50
Вес страниц — один из факторов ранжирования в поисковых системах Google и Яндекс....
29 04 2026 15:46:50
Пpaктика в режиме «рейтинг онлайн». Новинка Google Рекламы — отчет «Статистика аукционов»....
28 04 2026 7:50:42
Рассказываем о том, что такое Песочница, как сюда писать и получать больше аудитории для своего бизнеса...
27 04 2026 9:47:59
Как сохранить статистику переходов из органики Google, а также автоматизировать отчетность: подробное руководство для технического специалиста....
26 04 2026 4:14:16
Мир гаджетов на Android и IOS. ROMI (возврат маркетинговых инвестиций) по валовой прибыли: 764%....
25 04 2026 8:20:10
Главная цель инфлюенс-маркетинга — теплый и близкий контакт с аудиторией. Клиентам нравится ассоциировать продукты с живыми, знакомыми им людьми — пускай и только по интернету. Читать дальше....
24 04 2026 22:18:40
Зачем нужно работать с отчетами по ассоциированным конверсиям и сравнивать различные модели атрибуции?...
23 04 2026 22:40:30
14 пунктов, которые помогут вам лучше изучить свой бизнес и подготовить эффективную SMM-стратегию...
22 04 2026 12:21:15
Тестирования наличия важных тегов на целевых страница — бесплатный скрипт и алгоритм...
21 04 2026 5:59:55
Рекламные кампании для брендинга, роста вовлечения пользователей, продаж, лояльности. Какой формат выбрать, чтобы получить необходимое целевое действие. Узнать!...
20 04 2026 23:39:22
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::