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

Идея написать статью появилась после обучения на курсе Алексея Селезнева «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. Но главное преимущество использования языка программирования в решении подобных задач состоит в экономии времени.
Сохраните код в отдельный файл и настройте цикличное выполнение аналогичной задачи, например, раз в месяц. Дальше повторное выполнение всей описанной выше рутины займет всего несколько секунд или вовсе выполнится автоматически.
Учите языки программирования, прокачивайте скил и упрощайте рутинные задачи в интернет-маркетинге. Если остались вопросы, задавате в комментариях — я с радостью отвечу.
Комментарии:
Мониторинг мобильных просмотр статистики Firebase в отчетах Google ***ytics и связь Firebase ***ytics с Google Рекламой...
31 08 2026 18:38:25
Идея ORM состоит в том, чтобы вызывать положительное мнение о вашей деятельности, работая с отзывами или комментариями, в результате чего больше людей будут покупать ваши товары или услуги. Узнать больше!...
30 08 2026 17:29:48
Как найти продавцов для маркетплейса с помощью рекламы в Google, Facebook, TikTok и Viber....
29 08 2026 7:16:40
Перевод статьи Никки Джиллиленд из Econsultancy об уроках для маркетологов про то, каким должно быть хорошее видео. Узнайте 4 правила эффективного видеоконтента прямо сейчас!...
28 08 2026 11:31:31
Очередной красивый пост о продвижении платформы email и sms-рассылок — UniSender...
27 08 2026 11:24:53
Основатель фейсбука опубликовал на WIRED крутое интервью...
26 08 2026 14:42:16
Пример использования пакета google***yticsR от Марка Эдмондса...
25 08 2026 13:24:23
Требования к интернет-магазину, мануал по регистрации, что может пойти не так...
24 08 2026 1:23:44
Пост постоянно обновляется актуальными данными о размерах картинок...
23 08 2026 8:52:18
Лучшая работа по перехвату инициативы у конкурентов в аналитике продаж...
22 08 2026 5:15:27
Обязательные элементы продающей страницы: удобный и красивый дизайн, легко читаемые форматы и стили шрифтов, текстовые блоки, кнопки призыва к действию. Узнать больше!...
21 08 2026 9:37:44
Если выполнить настройку не корректно, поисковик воспримет материалы как дубли контента....
20 08 2026 17:30:30
21 апреля Google официально начнет учитывать совместимость с мобильными девайсами в качестве одного из факторов ранжирования сайта в мобильном поиске. Что это значит для владельцев сайтов и вебмастеров? Мы подготовили небольшой FAQ по теме для рубрики «SE...
19 08 2026 16:44:50
Магазин вязанных вещей хенд мейд. Как за два месяца увеличить посещаемость в 20 раз....
18 08 2026 2:13:46
Стив Рейсон назвал 20 уроков, которые BuzzSumo усвоил на пути к топу самых популярных сервисов для контент-маркетологов....
17 08 2026 21:11:48
Создатель сервиса Foster Кирилл Винокуров рассказал, как зарегистрировать приложение для полноценной работы с Директом....
16 08 2026 15:38:44
О том как растут доходы при оптовой торговле женской одеждой и обувью, а траты на рекламу остаются на прежнем уровне...
15 08 2026 2:52:26
Готовые к использованию таргетинговые идеи для мобильных приложений онлайн в Facebook....
14 08 2026 20:41:47
2013, 2014, 2015 — годы, когда конференция 8p радовала все сео-сообщество СНГ. Прошла она и в 2016 году. Мы собрали лучшие советы интернет-магазинам от экспертов и участников круглого стола на конференции 8P 2016....
13 08 2026 4:42:34
Всё, что важно узнать о лидогенерации и работе с целевой аудиторией....
12 08 2026 4:48:29
Необходимый элемент для защиты контента от копирования и в то же время — шанс стать популярным автором. Тем не менее, от водяных знаков отказываются. Узнать больше!...
11 08 2026 21:30:44
Новый способ автоматизации процессов при настройке аналитики больших объемов данных....
10 08 2026 14:39:12
Качество передаваемых данных напрямую отражается на качестве решений, принимаемых для бизнеса. Как защититься от таких ошибок?...
09 08 2026 6:25:40
Как настроить автоматическое обновление данных о товарах с помощью таблиц Google....
08 08 2026 3:50:21
Мы решили узнать, как дорого обходятся рекламодателям клики по объявлениям в разных странах и тематиках, чтобы читателям блога было удобнее планировать бюджет на рекламные кампании....
07 08 2026 10:46:56
Фильтруем свой трафик от сотрудников в Google ***ytics...
06 08 2026 19:55:47
Лучшие маркетинговые ориентиры тем, кто захочет познакомиться с SEO и контекстной рекламе...
05 08 2026 1:21:26
Базовые знания, которые нужны, чтобы ресурс понравился поисковикам и пользователям....
04 08 2026 9:53:47
Проверка позиций: бесценный онлайн софт для SEO-специалистов :)...
03 08 2026 13:53:27
Анализ данных о 7,6 миллионах поисковых запросов в французском Google...
02 08 2026 13:53:29
Как создавать результативные кампании в Рекламной сети Яндекса...
01 08 2026 22:40:29
Ежеквартальное исследование Netpeak по стоимости клика...
31 07 2026 9:52:47
Контекстная реклама и ее эффективность: как долго длится, как измерить, что бывает, как заканчиваются деньги....
30 07 2026 0:31:44
Что такое спарклайны, об организации прострaнcтва на рабочем листе и оптимизации времени на изучение данных в экселе и таблицах Google...
29 07 2026 6:58:41
Советы бизнесу от зрителей Big Money и Артема Бородатюка. Предлагаем 11 универсальных, но простых и понятных идей....
28 07 2026 19:52:38
Информация о любой организации распространяется в интернете очень быстро, особенно негативная. Поэтому необходимо учиться управлять своей репутацией....
27 07 2026 16:49:42
Если ваш сайт не приносит желаемых продаж, задумайтесь о смене формата. Этот кейс о том, как с качественным лендингом можно достигнуть желаемой цены за конверсию....
26 07 2026 2:22:16
Продолжаем разговор о том, почему функция «Совмещение данных» в Google Data Studio может работать не так, как вы ожидаете....
25 07 2026 4:35:31
Читайте, если не хотите «слить» бюджет. Определите конкретные цели и УТП, соберите аналитику, идите к специалисту без опыта работы в конкретной нише и другие рекомендации эксперта. Читайте подробнее в статье!...
24 07 2026 12:16:22
Не все события удобно отслеживать в Google ***ytics, иногда удобнее сделать связку с таблицами Google. А поможет в этом Google Tag Manager...
23 07 2026 20:52:47
Как автоматизировать рутину в Google Таблицах с помощью Google Apps Script...
22 07 2026 19:59:40
Как настроить эффективную удаленную работу: комментарии топ-менеджмента Netpeak с плюсами и минусами, личными инсайтами и рекомендациями. А также перспективы развития удаленки в комапнии. Читать дальше!...
21 07 2026 1:23:25
О чем стоит задуматься владельцам бизнеса и пользователям больших сайтов и почему Марку Цукербергу надо брать пример с телефонных сетей...
20 07 2026 18:11:25
Как стандартизировали сбор данных по проектам клиентов и отчетности, чтобы тратить меньше времени и не совершать лишние действия...
19 07 2026 4:57:28
Статистика изменений долей рынка после майского и декабрьского апдейта Google в 2020 году....
18 07 2026 2:17:58
Как работать с Facebook ***ytics — бесплатным инструментом с богатым инструментарием и лучшей из всех существующих решений интеграцией с платформой Facebook...
17 07 2026 1:43:14
Как завоевать Instagram, задавая правильные цели и вопросы. Также в статье делимся табличкой лучшего времени постинга для различных тематических публикаций. Узнать больше!...
16 07 2026 20:56:56
Краткое сравнение двух инструментов и третьего на закуску....
15 07 2026 10:37:54
Как контролировать множество сайтов — полезные сервисы и советы для вебмастеров. Одно дело — несколько десятков сайтов, а что если сотни или тысячи? Как раз это подробно и разберем....
14 07 2026 5:31:20
Netpeak Checker – это мультифункциональный инструмент для массового анализа и сравнения сайтов, который помогает выполнять самые разнообразные задачи в области интернет-маркетинга....
13 07 2026 5:10:42
Еще:
понять и запомнить -1 :: понять и запомнить -2 :: понять и запомнить -3 :: понять и запомнить -4 :: понять и запомнить -5 :: понять и запомнить -6 :: понять и запомнить -7 ::