SEO
1501569908

Как быстро найти ошибки на сайте — проверка важных тегов с помощью Google Tag Manager и таблиц Google

Как узнать, закрыли ли страницу для роботов поисковых систем буквально через минуту после того как это произошло? В этой статье — бесплатный алгоритм и скрипт для быстрой проверки наличия важных тегов на целевых страницах. Для внедрения понадобятся только Google Tag Manager и таблицы Google.

Кстати, этот текст — подробная расшифровка двенадцатой фишки круглого стола 8P по SEO.

В качестве примера настроим проверку <meta name=”robots” content=”noindex”>. Этот тег часто ненарочно применяется для закрытия важных страниц от индексации.

1. В Google Tag Manager создаем переменную Meta Robots

В этой переменной будет храниться значение атрибута content тега meta robots.

В Google Tag Manager создаем переменную Meta Robots

Три CSS-селектора помогут избежать ошибок на сайтах, где название атрибута name содержит заглавные буквы (такое иногда случается).

2. В Google Tag Manager создаем триггер Noindex Meta Robots

Триггер будет срабатывать, если:

  • переменная Meta Robots содержит noindex;
  • URL страницы соответствует регулярному выражению.

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

Для второго правила нужно задать в регулярном выражении страницы, которые вы хотите проверять

3. Копируем таблицу Google для приема данных

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

Чтобы упростить задачу, пройдите по пути File — Make a copy и скопируйте себе готовую таблицу-шаблон. В таблице уже есть все скрипты.

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

Копируем таблицу Google для приема данных

Важно: не идите дальше, пока не указали названия колонок! Иначе скрипт будет выдавать ошибку.

4. Настраиваем скрипт приема данных

В таблице из предыдущего пункта следует пройти по пути Tools — Script editor и отредактировать переменные в файле Get data.gs.

В var SHEET_NAME = "Sheet Name"; замените Sheet Name на название вашего рабочего листа (в моем случае — noindex).

Настраиваем скрипт приема данных

В var SHEET_KEY = "Spreadsheet ID"; заменить Spreadsheet ID на ID вашей таблицы.

ID вашей таблицы

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

При первом запуске нужно будет дать разрешение, нажав «Развернуть»

в редакторе скриптов следует опубликовать скрипт как веб-приложение с публичным доступом

После этого будет сгенерирован URL-адрес веб-приложения.

После этого будет сгенерирован URL-адрес веб-приложения

Желтым выделен [ID_веб_приложения]. Сохраняем его — он понадобится во всех последующих пунктах.

Теперь мы можем передавать значения в таблицу по шаблону:

https://script.google.com/macros/s/[ID_веб_приложения]/exec?
[Название_колонки_1]=
[Данные_1]&[Название_колонки_2]=[Данные_2]&
[Название_колонки_3]=[Данные_3]&Timestamp

Мы будем передавать URL-адрес страницы с noindex. Для параметра Timestamp не нужно передавать значение. Скрипт сам запишет в него время получения данных.

5. Проверяем приходят ли данные в таблицу

Переходим в браузере по следующей ссылке:

https://script.google.com/macros/s/[ID_веб_приложения]/exec?url=https://domain.com/test-url&Timestamp

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

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

6. В Google Tag Manager создаем тег Meta robots check

Создаем тег типа «Пользовательское изображение». В URL изображения нужно вставить:

https://script.google.com/macros/s/[ID_веб_приложения]/exec?url={{Page URL}}&Timestamp

В Google Tag Manager создаем тег Meta robots check

К тегу нужно применить триггер Noindex Meta Robots из второго пункта алгоритма.

7. Настраиваем скрипт проверки наличия URL в таблице

Скрипт уже есть на листе Check noindex.gs. Он проверяет, есть ли URL на листе noindex для текущей даты. Если есть хоть один URL, отправляется письмо на email-адрес, указанный на листе emails.

Настраиваем скрипт проверки наличия URL в таблице

8. Устанавливаем триггер для скрипта

Теперь осталось только установить периодичность проверки наличия закрытых для индексирования URL в таблице.

Для этого в меню переходим Edit — Current project’s triggers, жмем Click here to add one now и задаем нужную периодичность срабатывания скрипта.

Для этого в меню переходим Edit — Current project’s triggers, жмем Click here to add one now и задаем нужную периодичность срабатывания скрипта

Если достаточно только один раз в день проверять страницы, раскомментируйте вторую переменную checkDate вверху файла Check noindex.gs и настройте соответствующий триггер.

Если достаточно только один раз в день проверять страницы, раскомментируйте вторую переменную checkDate вверху файла Check noindex.gs

настройте соответствующий триггер

Выводы

Чтобы быстро и бесплатно настроить проверку закрытия важных страниц от индексации, нужно:

  1. Создать в Google Tag Manager переменную для хранения значения meta robots.
  2. Создать в Google Tag Manager триггер, который срабатывает при наличии noindex в переменной.
  3. Настроить таблицу Google для приема данных.
  4. Настроить скрипт приема данных.
  5. Создать в Google Tag Manager тег типа «Пользовательское изображение», который будет передавать данные в таблицу.
  6. Настроить скрипт проверки наличия URL в таблице для нужного дня.
  7. Установить триггер для скрипта проверки.

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

Единственное ограничение предложенного метода: ограничение таблицы Google — 400 000 ячеек. Потому иногда нужно очищать главный лист от ненужных записей.

Жду в комментариях идеи по улучшению данного метода.

Узнайте больше
48
37
1
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.