Примеры XPath в Screaming Frog SEO Spider
Я люблю использовать Xpath. Поэтому я собрал список элементов, которые вы можете извлечь, используя XPath.
Заголовки
По умолчанию Screaming Frog собирает только h1 и h2, но если вы хотите собрать h3, используйте код XPath:
//h3
Полученные данные:
Вы можете собрать только первый h3, особенно если их много на странице:
/descendant::h3[1]
Чтобы собрать первые 10 h3 на странице, используйте:
/descendant::h3[position() >= 0 and position() <= 10]
Для подсчета количества тегов h3 на странице:
count(//h3)
В этом случае «Extract Inner HTML» в крайнем правом раскрывающемся меню необходимо изменить на «Function Value», чтобы это выражение работало правильно:
Hreflang
Следующий Xpath в сочетании с Extract HTML Element соберет содержимое всех элементов hreflang:
//*[@hreflang]
Этот код будет собирать весь элемент HTML, со ссылкой и значением hreflang:
Возможно, вам нужны только значения hreflang (например, ru-RU), вы можете указать атрибут с помощью @hreflang:
//*[@hreflang]/@hreflang
Извлеченные данные:
Schema
Вы можете собирать различные типы схем на странице:
//*[@itemtype]/@itemtype
Для правил «itemprop» вы можете использовать аналогичный XPath:
//*[@itemprop]/@itemprop
Социальные мета-теги (Open Graph Tags & Twitter Cards)
Вы можете извлечь социальные мета-теги, такие как теги Facebook Open Graph, данные учетной записи или Twitter-карты:
//meta[starts-with(@property, ‘og:title’)]/@content
//meta[starts-with(@property, ‘og:description’)]/@content
//meta[starts-with(@property, ‘og:type’)]/@content
//meta[starts-with(@property, ‘og:site_name’)]/@content
//meta[starts-with(@property, ‘og:image’)]/@content
//meta[starts-with(@property, ‘og:url’)]/@content
//meta[starts-with(@property, ‘fb:page_id’)]/@content
//meta[starts-with(@property, ‘fb:admins’)]/@content
//meta[starts-with(@property, ‘twitter:title’)]/@content
//meta[starts-with(@property, ‘twitter:description’)]/@content
//meta[starts-with(@property, ‘twitter:account_id’)]/@content
//meta[starts-with(@property, ‘twitter:card’)]/@content
//meta[starts-with(@property, ‘twitter:image:src’)]/@content
//meta[starts-with(@property, ‘twitter:creator’)]/@content
Адрес электронной почты
Хотите собрать адреса электронной почты с вашего сайта или других веб-сайтов? Пожалуйста:
//a[starts-with(@href, ‘mailto’)]
С моего сайта код вернет один адрес электронной почты, который находится только на одной странице:
Iframes
//iframe/@src
Полученные данные:
Извлекать только те фреймы, в которые вставлено видео с YouTube:
//iframe[contains(@src ,’www.youtube.com/embed/’)]
Извлечение только URL первого iframe, найденного на странице:
(//iframe/@src)[1]
AMP URL
//head/link[@rel=’amphtml’]/@href
Полученные данные:
Извлечение ссылок из статьи
Следующий XPath запрос будет извлекать ссылки только из основы статьи https://politay.pro/seo-dlya-wordpress/, где содержимое блога содержится в классе ‘entry-content’.
//div[@class=»entry-content»]//a — получит якорный текст с «Extract Inner HTML»
//div[@class=»main-blog—posts_single—inside»]//a/@href — получит URL с «Extract Inner HTML»
//div[@class=»main-blog—posts_single—inside»]//a — получит полный код ссылки с «Extract HTML Element»
Извлечение ссылок по анкору
Чтобы извлечь все ссылки с анкором «Политай»:
//a[contains(.,’Политай’)]/@href
Этот код чувствителен к регистру, поэтому, если «POLITAY» иногда является «politay», вам придется сделать следующее:
//a[contains(translate(., ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ’, ‘abcdefghijklmnopqrstuvwxyz’),’politay’)]/@href
Оригинал статьи взят с сайта Politay.pro
Другие статьи: