В этой статье мы научимся автоматически проверять основные параметры внутренней оптимизации страниц с помощью Google Docs. Учитывая то, что составить макросы не составит труда, что это займет не более 10 минут и что все это будет работать бесплатно, статья может оказаться актуальной для многих оптимизаторов.
Что нужно для работы
Аккаунт в Google, чтобы войти в Google Spreadsheets
URL страницы, которую вы хотите проверить
В этой статье будем проверять внутреннюю оптимизацию главной страницы http://searchengineland.com/. Результат работы можно посмотреть здесь.
Чтобы создать новую таблицу в документах Google и заполнить ее, заходим в Google Spreadsheets, жмем на вкладку File -> New -> Spreadsheet.
Как это работает
Для получения результатов будет использована функция importXML() в документах Google. Эта полезная функция анализирует URL и импортирует данные в таблицу с помощью запросов Xpath. Более подробную информацию о ImportXML () можно найти в документации компании Google.
Язык запросов Xpath определяет элементы страницы, такие как «tags», «title tag» и «H1 tag», а также атрибуты этих элементов, например, «alt» или «href» и извлекает их из страницы, возвращая полученную информацию в таблицу.
К примеру, с помощью Xpath-запроса «//a[@href="index.htm"]/text()» можно получить анкоры любых ссылок, указывающих на файл index.htm. Не переживайте, если в этом нет смысла, когда мы разберем несколько примеров, все станет более понятно.
Давайте начнем. Сначала мы сделаем простой запрос, с помощью которого извлечем заголовок HTML-документа. Для этого выполните следующие действия:
Введите URL проверяемой страницы в ячейку A1.
Впишите слово «Title» в ячейку A2.
В ячейку B2 введите вот эту строку (без кавычек): «=importXML(A1, “(//title|//TITLE)”)».
Части запроса, которые имеют название «title» и «TITLE» вернут нам текст, который содержится в этих тегах на странице. Так как XPath-запросы чувствительны к регистру, мы ввели слово «title» как прописными, так и заглавными буквами. Вертикальная черта | означает слово «или», иными словами, независимо от того, как прописан тег «title» или «TITLE», мы все равно получим результат.
Когда вы введете данный запрос в ячейку, может пройти небольшой промежуток времени, пока появятся результаты. Вы можете увидеть слово «Loading…», пока Google зайдет на страницу и проанализирует ее.
Если что-то пошло не так, попробуйте сделать следующее:
Проверьте, если на анализируемой странице тег «TITLE».
Нет ли редиректа с проверяемой страницы?
Проверьте, не прописан ли в коде страницы тег заголока следующим образом: «Title». Напоминаю, что Xpath-запросы чувствительны к регистру, поэтому попробуйте изменить запрос в ячейке B2 на следующий (без кавычек): «=importXML(A1, “(//title|//TITLE |//Title)”)».
Правильно ли вы ввели адрес проверяемой страницы?
Если это не помогло, попробуйте создать новую таблицу и проделать все шаги еще раз.
Проверяем теги H1, H2
Если все работает хорошо, давайте теперь проверим теги заголовков H1 и H2. Для этого выполните следующие действия:
В ячейку A4 введите «Н1».
В ячейку B4 введите запрос: =importXML(A1, “(//h1|//H1)”)
В ячейку A10 введите «Н2».
В ячейку B10 введите запрос: =importXML(A1, “//h2|//H2)”)
Если все сделали правильно, то в таблице должны отобразиться теги H1 и H2 проверяемой страницы. Не забудьте оставить немного места для дополнительных ячеек, как это сделали мы, чтобы если на странице несколько H1 и H2 они все могли вместиться в таблицу.
Тестируем результаты и создаем предупреждения о проблемах
Еще одной полезной вещью, которую можно сделать в Google Spreadsheets, является возможность проверить наличие каких-то элементов на странице и, при их отсутствии, вывести предупреждение.
Мэтт Каттс говорит , что наличие нескольких тегов H1 на одной странице допускается в некоторых случаях. Но он рекомендует использовать не более одного H1 на странице. Давайте сделаем так, чтобы при наличии на странице более одного H1 в таблице появлялось предупреждение. Выполните следующие действия:
В ячейку С4 введите этот текст: =IF(ISERR(B4),”No H1 tag found!”,”OK”)
В ячейку С5 введите этот текст: =IF(COUNTA(importXML(A1,”(//H1|//h1)”))>1,”Multiple H1 tags found!”,”OK”)
Функция ISERR() проверяет наличие ошибки в ячейке и возвращает «#N/A», если после Xpath-запроса к тегу H1 не было ничего получено. Функция COUNTA() подсчитывает количество элементов в массиве, которые получены с помощью importXML(). Это наиболее эффективный способ получить количество значений для конкретного XPath-запроса.
Если хотите выделить замечания, то можно использовать форматирование столбца С. Перейдите на вкладку Format > Conditional formatting… и выберите красный текст, если в ячейке будет найден восклицательный знак.
Извлечение тегов
Xpath-запросы можно использовать также для извлечения определенной информации из HTML-страниц, к примеру, мы можем проверить, что прописано в мета-тегах страницы.
К примеру, давайте посмотрим, куда ведет ссылка тега «canonical», а также посмотрим, что содержится в мета-теге robots:
Впишите «Robots meta» в ячейку A30.
В ячейку B30 введите этот текст: =importXML(A1, “//meta[@name='robots']/@content”)
Впишите «Link canonical» в ячейку А31.
В ячейку В31 введите этот текст: =importXML(A1, “//link[@rel='canonical']/@href”)
Обратите внимание, что если регистр мета-тегов запросов не совпадает с регистром на странице, то вы не получите никаких результатов. Имеет смысл настраивать Xpath-запросы под конкретные CMS, у которых стандартное оформление документа. Если в ячейке вы получаете значение «#N/A», проверьте соответствие регистра в Xpath-запроса и текста тегов на странице.
Проверка ссылок и их анкоров
Давайте теперь попробуем посчитать количество внутренних ссылок на странице и получить их анкоры. Так как на страницах всегда много внутренних ссылок, мы будем делать эту операцию на новой вкладке. Делаем следующее:
Жмем Insert > New Sheet, чтобы создать новую вкладку в нашей таблице.
В ячейку А1 вводим URL проверяемой страницы.
В ячейку A2 вводим следующее: =COUNTA(importXML(A1,”//a”)) & ” links”
В ячейку A3 вводим следующее: =importXML(A1,”(//a/text()|//a/img/@alt)”)
В ячейку B3 вводим следующее: =importXML(A1,”//a/@href”)
С помощью значка «&» в ячейке А2 мы объединяем текст в одну строку.
Если все было сделано правильно, то в ячейке A2 мы получим число всех внутренних ссылок на странице. Ниже, в столбце А, мы увидим все анкоры внутренних ссылок, а справа от них, в столбце В, увидим соответствующие им ссылки. Если у некоторых ссылок не отобразились анкоры, значит у них их нет.
Дополнительный бонус
Если вам понравились пример и вы хотите и дальше пробовать использовать Google Spreadsheets для проверки внутренней оптимизации страниц, то вы можете посмотреть другую таблицу с большим количеством других примеров здесь.
В этой таблице есть несколько более сложных примеров Xpath-запросов, с помощью которых можно проверить такие вещи, как:
Определение ссылок на изображения и вывод их атрибутов alt.
Поиск изображений, которые не содержат атрибут alt.
Чтобы увидеть формулы, с помощью которых были получены данные, достаточно 2 раза кликнуть по ячейкам с результатами проверки. Можете сделать себе копию и продолжать изучать. Я был бы очень рад, если бы вы поделились в комментариях интересными формулами Xpath-запросов.
забавно, картинки про булку хлеба и троллейбус не хватает, на любом современном языке программирования решается в пару десятков строк. кому интересно могу написать на досуге.
Последний раз редактировалось webpavilion; 24.06.2011 в 19:16.