Аналитика

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

Идея написать статью появилась после обучения на курсе Алексея Селезнева «R для интернет-маркетинга». Я решил поделиться опытом удаления в полуавтоматическом режиме большого количества непосещаемых страниц на сайте.

Статья будет полезна веб-аналитикам, которые работают с крупными интернет-магазинами. Например, на сайте еженедельно появляется примерно 1000 новых наименований и такое же количество позиций переходит в статус «нет в наличии».


К тому же, непонятно, когда товар появится снова в наличии. Приходится скрывать товары с витрины либо сохранять карточки с URL, чтобы страницы недоступных к заказу наменований не выпадали из индексации и факторы ранжирования не сказывались на позициях всего сайта.


В итоге трафик не растет, количество страниц увеличивается в геометрической прогрессии, место на сервере заканчивается и в структуре сайта множится хаос. Для решения подобных сложностей подходит удаление в полуавтоматическом режиме страниц, не приносящих трафика за последние 3-4 месяца.

Чтобы выяснить, какие страницы сайта получают трафик, понадобится API Яндекс Метрики. Для решения задачи подойдет любой язык программирования, который поддерживает работу с HTTP-запросами, — я пользуюсь языком R.

Для подключения его нужно скачать и установить. Также для комфортной работы с 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(googleAnalyticsR)

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. Но главное преимущество использования языка программирования в решении подобных задач состоит в экономии времени.

Сохраните код в отдельный файл и настройте цикличное выполнение аналогичной задачи, например, раз в месяц. Дальше повторное выполнение всей описанной выше рутины займет всего несколько секунд или вовсе выполнится автоматически.

Учите языки программирования, прокачивайте скил и упрощайте рутинные задачи в интернет-маркетинге. Если остались вопросы, задавате в комментариях — я с радостью отвечу.

16
0
4
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (2)

Последние комментарии

    Чтобы оставить комментарий, нужно войти

    Подписаться

    на самую полезную рассылку по интернет-маркетингу

    Самое

    обсуждаемое популярное читаемое

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