Автоматизация работы с мета данными сайта для SEO при помощи Zennoposter

Автоматизация SEO рутины Привет, друзья. Представляю вашему вниманию очень интересную тему, которую написал мой коллега Артем, — автоматизация в SEO с Zennoposter.

Как при помощи нескольких нехитрых (на самом деле, хитрых) действий сэкономить много часов времени? Пошаговая инструкция с картинками и т.д. – все прилагается.

Передаю слово Артему.


Всем привет! И сразу к делу.

Работа по оптимизации любого сайта состоит из двух основных частей.

  1. Аналитическая часть – интересная работа, которая заставляет думать и показывать свою креативность.
  2. Рутина – часть работы, которую сложно назвать интересной, она монотонна и не предполагает каких-либо вызовов.

Ниже я расскажу, как можно автоматизировать нудную работу.

Автоматизация работы с мета-тегами страниц

Давайте представим стандартную ситуацию, когда мы провели технический аудит (профессиональный seo аудит самостоятельно), проверили сайт на ошибки и обнаружили множество проблемных страниц, которые нужно корректировать. Прикидываем, что это несколько часов скучной работы, унываем и приступаем к поиску этих страниц в админке.

Но данную проблему можно решить гораздо легче и не напрягаясь!

В зависимости от наличия доступов и CMS сайта, есть несколько путей. Если у нас полный доступ к сайту (FTP, phpMyAdmin), то оптимальной будет работа напрямую с базой данных.

Рассмотрим алгоритм работы на примере какого-нибудь сайта:

  1. Первым делом – бекап. Даже не думайте продолжать без резервной копии. Я серьезно! Делайте, как вам удобно: через панель хостинга, панель управления сервером или специальным скриптом (я в середине 2000-х пользовался Sypex Dumper, оказывается, он жив и даже активно развивается).
  2. Идем в phpMyAdmin. Находим таблицу, которая содержит необходимые нам данные (в зависимости от CMS, она может иметь название: posts, post, content или что-то в этом духе, но главная отличительная черта – это самая большая таблица по размеру).
    Автоматизация в SEO с Zennoposter 1
  3. Нашли таблицу. Переходим в нее. Видим, что таблица содержит meta-данные и уникальную часть URL, к которой можно обратится.
    Автоматизация в SEO с Zennoposter 2
  4. Убедившись, что мы нашли все нужные данные, можно приступать к их исправлению. Для этого нажимаем кнопку «Экспорт»:
    Автоматизация в SEO с Zennoposter 3
  5. Выбираем следующие настройки:
    Автоматизация в SEO с Zennoposter 4
  6. Получаем таблицу, с которой можно работать и редактировать через Excel.
  7. Для удобства подсветим нужные ячейки, используя условное форматирование:
    Автоматизация в SEO с Zennoposter 5
  8. Прокручивая таблицу, мы сразу видим дубликаты, страницы с пустыми дескрипшенами и тому подобное. (На заметку, заодно можно убрать мусорные символы через поиск и замену).
    Автоматизация в SEO с Zennoposter 6
  9. Правки таким образом займут гораздо меньше времени, чем править каждую страницу через веб-интерфейс. Когда закончили, импортируем таблицу обратно таким образом:
    Автоматизация в SEO с Zennoposter 7
  10. Проверяем сайт. А если что-то пошло не так, возвращаем все через бекап. Но если руки из правильного места, то проблем быть не должно :)

Тоже самое можно реализовать для всех типов CMS.

Пример для сайта на OpenCart

В данной CMS нас интересует таблицы:

  • oc_category_description – содержит мета-теги категорий,
  • oc_product_description – мета-теги товаров.

По аналогии экспортируем таблицы в CSV, вносим правки и заливаем обратно.

Можно для импорта использовать phpMyAdmin, который импортирует только формат CSV, но этот формат не всегда корректно импортируется и имеет ряд ограничений, которые не позволят применять его для больших сайтов.

Поэтому я использую более удобный софт Navicat Premium, он позволяет настроить импорт гораздо удобнее в формат XLSX, который не имеет описанных недостатков.

Пример работы с Navicat Premium

Сначала надо проверить, что подключение к БД доступно удаленно, а не только через phpMyAdmin. Это можно сделать через поддержку хостинга, либо напрямую в панели управления сервером.

Разумеется, делаем бекап.

Создаём прямое подключение к базе данных:

Автоматизация в SEO с Zennoposter 8

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

Автоматизация в SEO с Zennoposter 9

Для этого заливаем один из указанных файлов на хостинг. Как правило, используется БД MySQL, поэтому заливать надо ntunnel_mysql.php, а если вы используете иной тип базы вы точно об этом знаете.

В настройках указываем путь (полный URL):

Автоматизация в SEO с Zennoposter 10

Проверяем подключение. После успешного подключения, мы должны увидеть структуру базы данных, как и через phpMyAdmin.

Выбираем нужную нам таблицу (в данном примере xpamxpi_post):

Автоматизация в SEO с Zennoposter 11

Делаем её экспорт:

Автоматизация в SEO с Zennoposter 12

Автоматизация в SEO с Zennoposter 13

Автоматизация в SEO с Zennoposter 14

Отключаем вывод лишних ячеек, чтобы они не мешались при редактировании. Для этого снимаем все галочки, кроме нужных нам таблиц:

Автоматизация в SEO с Zennoposter 15

Автоматизация в SEO с Zennoposter 16

Выполнение займет несколько минут.

Редактируем полученную таблицу как в первом примере.  А после редактирования импортируем её обратно.

Что это даёт?

Например, у нас на сайте 500 страниц, которые имеют проблемы. Чтобы найти и отредактировать одну страницу уходит 1-3 минуты (пусть в среднем будет 90 секунд). Умножим на 500 – выходит 750 минут (или 12,5 часов).

Экспорт базы – 10 минут, редактирование – 1 час, импорт – 10 минут.

Итого: 12 против 2 часов работы!

Согласитесь, это неплохая экономия времени. Кроме того, редактировать мета теги удобнее, когда они все в одной таблице, чем повторение монотонных скучных действий.

Что делать, если доступа к базе нет?

В таком случае мы будем использовать замечательную программу, которая позволяет экономить время в промышленных масштабах – ZennoPoster.

Рассмотрим, как его настроить, чтобы он автоматически исправил все проблемные страницы через админку.

Парсим сайт через ComparseR, берем из краулера список проблемных страниц, экспортируем его в таблицу. Вот данные, которые нам нужны: URL, Title, Description. Корректируем эти данные в таблице. А теперь приступим к настройке их автоматического заполнения.

Для демонстрации работы я просто буду добавлять топоним в title. Итак.

Создаём новый проект в Зеннопостере. И сразу учим софт авторизовываться в админке, чтобы не было проблем с разлогированием. Задать заполнение формы можно через визуальный редактор, для этого кликаем по форме:

Автоматизация в SEO с Zennoposter 17

Выбираем пункт SET с атрибутом «value» и его значение (те данные которые мы хотим передать в форму) в конструкторе действий:

Автоматизация в SEO с Zennoposter 18

Кликаем кнопку «Тестировать». Если все правильно, указанное значение должно появится в выбранном поле в форме авторизации. Нажимаем на кнопку «Добавить в проект».

По аналогии поступаем и с полем пароль. Клик по полю ввода правой кнопкой, выбираем конструктор действий. Указываем параметр SET и атрибут «value».

Нажимаем «Тестировать», если все ок, и поле заполнилось, нажимаем «Добавить в проект».

Так же поступаем с кнопкой «Войти» только вместо пункта SET выбираем «Rise» и событие «click»:

Автоматизация в SEO с Zennoposter 19

Далее делаем проверку какого-нибудь уникального куска текста, который появляется после успешной авторизации, чтобы понять, вошли мы в админку или нет. Пусть у нас это будет «Главная страница панели управления»:

Автоматизация в SEO с Zennoposter 20

Кликаем правой клавишей и выбираем пункт «Проверка выделенного текста на странице»:

Автоматизация в SEO с Zennoposter 21

Автоматизация в SEO с Zennoposter 22

В мини карте появится 2 кубика «Взять текст» и логический оператор.

Таким образом, если Зенно найдёт текст на странице, то логический оператор продолжит исполнения задачи по зеленной ветке (это успешное прохождение условия). Если нет, то софт завершит исполнение задачи по красной ветке (это ошибка, что-то пошло не так, условие на сработало).

Далее мы загружаем созданную ранее таблицу, чтобы Зенно мог оперировать с данными из неё. Для этого переходим в расширенный режим. И объявляем таблицу:

Автоматизация в SEO с Zennoposter 23

Автоматизация в SEO с Zennoposter 24

Подключаем таблицу со списком проблемных страниц, которую выдал нам ComparseR. Проставляем галочки «Загрузить из файла» (указывает, что таблицу нужно загрузить из файла, а не создать в оперативной памяти), «Сохранить изменения таблицы в файл» (чтобы все изменения таблицы записывались сразу в файл), «Оставлять пустой файл» (не даёт удалить файл даже если из него удалены все строки) и «Первая строка — заголовки». Выпадающий список позволяет указать формат или текст с разделителем. Короче, проставляем галочки, как на скрине и указываем путь к файлу:

Автоматизация в SEO с Zennoposter 25

Небольшое отступление. Я перепробовал множество программ и приёмов для автоматизации действий в браузере, но Зеннопостер выигрывает тем, что он отлично работает со всеми типами данных (таблицы, текстовые файлы, базы данных) и можно неограниченно расширять его возможности, подключая дополнительные библиотеки. И эта настройка подключения таблицы тому пример.

Теперь мы можем делать обращение к таблице из визуального конструктора и оперировать этими данными. Выбираем действие с таблицей:

Автоматизация в SEO с Zennoposter 26

Автоматизация в SEO с Zennoposter 27

Выполнив кубик, мы получили три переменные, содержащие URL (из которого мы получим значение ID для формирования ссылки на редактирование новости), старый title и значение нового title.

Через пункт «Обработка текста» применяем регулярное выражение (Regex):

Автоматизация в SEO с Zennoposter 28

На переменную URL мы применяем регулярное выражение (?<=/)[0-9][0-9][0-9].*?(?=-) и говорим Зенно положить результат в переменную id.

Теперь в ссылке вида https://xpam-xpicta.ru/admin43.php?mod=editnews&action=editnews&id=10579#tabextra заменяем 10579 на переменную.

Где 10579 — наш id (нужно на место этих цифр поставить вывод переменной, которую мы получили при обработке текста {-Variable.id-}). Должно получиться:

https://xpam-xpicta.ru/admin43.php?mod=editnews&action=editnews&id={-Variable.id-}#tabextra

Надо добавить эту ссылку в кубик: Клик правой клавишей на рабочую область -> Выбрать действие -> Табы  -> «Переход на страницу»:

Автоматизация в SEO с Zennoposter 29

После выполнения, мы попадаем на страницу редактирования мета-тегов.

Аналогично как мы учили софт заполнять форму авторизации, добавляем заполнение формы с title и её отправку.

Делаем исполнение цикличным и смотрим, как компьютер работает за нас!

Поначалу это кажется сложным и непонятным, но потратив пару часов на изучение, вы сможете делать это гораздо быстрее и решать множество других задач.

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

Наша задача состоит в том, чтобы прописать топоним во всех title товаров и категориях. Потом затереть все SEO тексты, предварительно собрав размешенные для генерации заданий копирайтеру. А потом готовые переписанные тексты вернуть на прежнее место. Там 900 категорий.

Сколько, по-вашему, займёт эта работа?

Всего пару часов на настройку Zennoposter!

Настраиваем автоматическую авторизацию в админке:

Автоматизация в SEO с Zennoposter 30

Принцип тот же, что и раньше. Из админки получаем список ID разделов:

Автоматизация в SEO с Zennoposter 31

Эти данные используем для генерации ссылки на редактирование:

Автоматизация в SEO с Zennoposter 32

Вместо выделенного ID нужно подставить вывод переменной:

Автоматизация в SEO с Zennoposter 33

Через пункт «Переход на страницу» открываем форму редактирования по ссылке:

bitrix/admin/iblock_section_edit.php?IBLOCK_ID=16&type=catalog&ID={-Variable.idlink-}&lang=ru&from=iblock_section_admin&find_section_section=0

Как в примере выше настраиваем сначала получение данных для сохранения в таблице, потом их изменения:

Автоматизация в SEO с Zennoposter 34

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

Автоматизация в SEO с Zennoposter 35

Теперь текст нужно затереть, поскольку он неуникальный, т.к. выводится на основном домене. Для этого делаем все, как и прежде для получения данных, но вместо Get выбираем пункт Set:

Автоматизация в SEO с Zennoposter 36

И удаляем всё из поля «Значение».

В итоге при исполнении этого кубика в значение формы будет передана пустота.

Все остальные поля, которые необходимо изменить обрабатываем по аналогии:

Автоматизация в SEO с Zennoposter 37

Потом делаем уведомление, что раздел обработан и увеличиваем счетчик цикла.

Указываем зацикливание. Запускаем и ждём пока Зенно закончит править тайтлы и дискрипшены у категорий и товарки и удалять seo-тексты.

Итак, у нас 900 разделов. За константу берем на ручную обработку одного раздела 4 минуты. Получается 60 часов рутинной работы, от которой могут повеситься даже самые стойкие контент-менеджеры. При этом не исключена вероятность ошибок.

А чтобы вернуть тексты, когда они будут переписаны, мы просто указываем не Null, а переменную с текстом, которую получаем через кубик «Получить строку» из таблицы:

Автоматизация в SEO с Zennoposter 38

Вот как-то так.

И в заключение могу сказать, что данная статья – это лишь вводная часть. Zennoposter – многофункциональный инструмент, с его помощью можно автоматизировать почти любое рутинное действие. Поэтому в будущем, если данный пост вы оцените, я постараюсь выложить сюда ещё пару полезных постов по автоматизации seo-задач.


На этом все, друзья. Артем обещал написать продолжение, если вам это интересно. Так что задаем вопросы в комментариях!

Спасибо за внимание. И до связи!

Александр «АлаичЪ» Алаев
Александр «АлаичЪ» Алаев

Вот уже 18 лет я профессионально занимаюсь созданием и продвижением сайтов и 13 лет с удовольствием пишу в любимый блог. Создал заслужившие доверие в seo-сообществе программы FastTrust и ComparseR и известный сервис для проверки траста сайтов CheckTrust.ru.

В 2014 основал веб-студию «АлаичЪ и Ко» в Краснодаре: 1 место в рейтинге агентств интернет-маркетинга (Рейтинг Рунета), 2 место в рейтинге SEO-компаний (CMSmagazine), 12 место в рейтинге известность бренда SEO-компаний в России (SeoNews).

Выступаю на профильных конференциях (All In Top, SEO Conference, SEMPRO, Baltic Digital Days). Веду канал в telegram про seo и бизнес. SEO-специалист года 2019 и 2020 (Sape).

Ерунда и баянЪ!Зачет! Плюсую!
+6

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

30 000 руб.

Комплексный подход к решению поставленных задач: достижение топ-10 и увеличение трафика на сайт. В стоимость уже включены полный технический аудит и оптимизация сайта.

45 000 руб.

У вас недостаточно знаний и нужны ответы на вопросы?
Интересует мнение эксперта или надо проверить подрядчика?
Вы задаете вопрос — я отвечаю!

5 000 руб./час

Проведу подробное исследование вашего сайта и основных конкурентов, опубликую материал на блоге для обсуждения и коллективного поиска новых идей.

70 000 руб.

Я начал запись своего обучающего курса по seo-продвижению.

В каждом видео я разбираю какую-то одну важную тему, и делаю это последовательно, в порядке, подходящем для изучения с нуля. Видео выкладываются раз в неделю – по средам. Я думаю, весь курс будет состоять из 50-70 роликов, так до конца еще далеко, а значит самое время подписаться и начать изучение вместе со мной.

В блоке слева всегда будет выводиться самое свежее видео курса. Ссылки: на мой канал, на плейлист обучения.

Комментарии: 14 Написать комментарий
  1. seoonly.ru (68 комм.)

    Зенка решает!! Спасибо!

    Ответить
  2. bodofix (1 комм.)

    Не проще реализовать экспорт/импорт мета категории? Добавить несколько полей в категории который будут содержать нужные слова и сцеплением все слепить в Ексель залить на сайт.

    Ответить
    • АлаичЪ

      Ну так сцеплением можно добавить только в конец title что-нибудь, например. Для других манипуляций это не подойдет.

      Ответить
  3. Валерий (66 комм.)

    Саша, выше всех похвал! Честного говоря, открыл для меня глаза на новый мир. Теперь понятно, как можно массово исправлять метатеги.

    Вопрос: при импорте файла его формат указывать просто "CSV"? Просто в импорте, как в экспорте, нет возможности выбора формата CSV for MS Exel.

    Ответить
    • Артём Абловацкий aka Дерзкий (2 комм.)

      Разница между этими двумя форматами только в том, что CSV сохраняет в utf-8, а csv for exel в win-1251. И лучше делать импорт в CSV, поскольку тогда сохранятся юникод символы, которые сейчас многие так любят добавлять в метатеги. В статье я использовал этот тип вывода, т.к. сайт был в кодировке win-1251 и никакой роли это не играло.

      Ответить
  4. Илья Черепинец (2 комм.)

    Хороший софт, особенно если есть прокси =)

    Ответить
  5. Дмитрий (1 комм.)

    Какие ещё задачи решаете зеннопостером?

    Ответить
    • Артём Абловацкий aka Дерзкий (2 комм.)

      Проверка морфологии, анализ текста на уникальность и возможность бадена, автоматический анализ конкурентов сбор структуры их текстов сравнение по вхождением слов и определения наиболее значимых вхождений по мнению ПС. и автоматический постановка ТЗ копирайтеру. Об этом я планирую следующую статью.

      Ответить
      • Катерина (1 комм.)

        Да, пожалуйста продолжайте! Очень полезно. Спасибо!

        Ответить
  6. Алина (1 комм.)

    Подскажите, пожалуйста, адрес почты ТП компарсера, на сайте не нашла

    Ответить
  7. believeindream (5 комм.)

    Саша, добавь пожалуйста на блог, дату публикации статей! Вот прям очень важно, всегда открываю, и никогда не вижу даты =(

    Ответить
  8. Алексей (1 комм.)

    Доброго дня. Идея хорошая, но вместо русского языка у меня в БД стоят значения вида ть ферму Как их перевести в нормальный русский? или русский в эти символы?

    Потому что, если в excel файле забить просто русский, то в БД он не грузится. (При импорте файла, заполненные в excel поля остаются пустыми) Видимо, надо перекодировать язык

    Ответить
    • АлаичЪ

      Это проблема с кодировкой. Тут надо обращаться к хостеру или разработчику CMS, чтобы уточнить, в чем причина и как это исправить.

      Ответить
    • Artur (1 комм.)

      Можно попробовать Notepad++

      — Кодировка

      — преоброзовать в ANSI

      Обратно — преоброзовать в UTF-8 без BOM

      Ответить