Доброго времени суток всем! Меня зовут Таракановский Владимир, работаю в сфере веб-разработки 5 лет. В этой статье я покажу, как справляться с рутинными задачами по SEO, используя консоль браузера и язык программирования javascript. Знания последнего вам не потребуются.Краткое содержаниеКак работать с консолью браузераПарсинг сайтов из органической выдачи из Яндекса и GoogleПроверка нахождения элементов на страницеПроверка на существование внешних ссылок на страницеПроверка существования robots.txt и sitemap.xml в корне сайта и содержание файловПроверка на наличие alt у изображенийПодбор ключевых фраз в Wordstat для статейКак работать с консолью браузераЭта инструкция для тех, кто не знает, как работать в консоли браузера. Остальным я предлагаю перейти к изучению инструментов ниже.Для вызова консоли на выбранной странице нужно воспользоваться одним из предложенных способов.1. Нажать Ctrl+Shift+I (Ctrl+Shift+C в Opera)2. Правая кнопка мыши - выбрать пункт "Исследовать элемент" в firefox и Яндекс браузере, "Инспектировать элемент" в Opera, "Проверить элемент" Edge, "Просмотреть код" в Google ChromeВ появившейся консоли браузера выберите пункт "Console" или "Консоль" и поставить курсор напротив синей стрелочки. В итоге у вас должно получиться что-то изображенное нижеКак перейти в консоль javascript Таракановский ВладимирНадеюсь, у Вас все получилось, и можно приступать к изучению полезных инструментов. Итак, бизнесмены, интернет-маркетологи, продвиженцы, программисты и все те, кто просто заинтересовался, поехали!Парсинг сайтов из органической выдачи из Яндекса и GoogleЗадача: анализ конкурентов из Топ-10 по поисковому запросу для понимания дальнейших действий. Рутина: надо скопировать адрес сайта в таблицу сравнения. Дополнительные проблемы: лишнее потраченное время по сравнению получения данных кодом.Преимущества данного кода: позволяет получить в 5 кликов сайты естественной (органической выдачи). Исключаются сайты контекстной рекламы и таких дополнительных сервисов, как "Видео", "Картинки", "Карты" и прочие подобные. Как пользоваться:1. Вбиваете нужный поисковый запрос и нажимаете "Поиск" или Enter.2. На странице выдачи переходите в консоль браузера на вкладку "Console" или "Консоль", как показано на инструкции выше.3. Вставляете приведенный ниже код. Для каждой поисковой системы свой./*1. Парсинг сайтов из органической выдачи из Яндекса */ clear(); const yandex_serp = []; let serp_selector=".path .link b" || ".typo a"; const pagination_yandex_serp = () =>{ const current_url=window.location.href.search("p="); const pagination_page=Number(window.location.href.slice(current_url+2))||0; return pagination_page; } document.querySelectorAll(".serp-item").forEach((item)=>{ if(item.innerText.search("реклама")==-1 && item.querySelector(".link") !==null && item.dataset.fastWzrd!=="companies" && item.dataset.fastWzrd!=="ydo" && item.dataset.fastWzrd!=="videowiz" && item.dataset.fastWzrd!=="images" && item.dataset.fastWzrd!=="entity_search"){ yandex_serp.push(item.querySelector(serp_selector).innerText); } }); const yandex_serp_with_pos=yandex_serp.map((ya_serp, i)=>`№${i+1+pagination_yandex_serp()*10} - ${ya_serp}`); console.log(`${yandex_serp.join(`\t`)} ${yandex_serp_with_pos.join(`\n`)}`);/*2. Парсинг сайтов из органической выдачи из Гугла */ clear(); const google_serp=[]; document.querySelectorAll(".g").forEach((item)=>{ let position_arrow = item.querySelector("cite").innerText.search(" ›"); google_serp.push(item.querySelector("cite").innerText.slice(0, position_arrow)); }); const google_serp_with_pos=google_serp.map((go_serp, i)=>`№${i} - ${go_serp}`); console.log(`${google_serp.join(`\t`)} ${google_serp_with_pos.join(`\n`)}`);4. Результат, полученный в строку без номера позиции, вставляете в Excel. Результат в столбик с позицией - для наглядности.Практический результат можно увидеть на картинкеПример получения данных органической выдачи по запросу в Яндексе Таракановский ВладимирИтог: экономия времени и преодоление прокрастинации для людей, не любящих рутину.Проверка нахождения элементов на страницеЗадача: найти элементы в верстке, которые мешают или помогают продвижению по мнению seo-специалиста.Рутина: поиск каждого элемента через вкладку "Elements" или исходный код сайта. Дополнительные проблемы: уходит много времени и этих элементов может быть много или не быть вообще. Также есть высокая вероятность пропуска элемента из-за рутинности задачи.Преимущества данного кода: получение в 3 действия всех нужных нам элементов с их текстом. Как пользоваться:1. Заходите на нужную страницу сайта.2. В консоли браузера переходите на вкладку "Консоль", как показано на инструкции выше.3. Вставляете приведенный ниже код./*3. Проверка нахождения элементов на странице */ const nodes_site=['title', 'h1', 'strong', 'b', 'i', 'em']; nodes_site.map(node_text=>{let node_text_el = document.querySelectorAll(node_text); console.log(`Количество элементов ${node_text} = ${node_text_el.length}`); if(node_text_el.length>0){ node_text_el.forEach((item)=>{console.log(`Текст элемента ${node_text}: ${item.innerText}`)})} });Краткие пояснения:title: название страницы, которое мы видим по вкладкеh1: заголовок 1-го уровня. Как правило, он почти всегда самый крупный по размеру.strong и b: создание жирного текста с помощью верстки.i и em: создание курсивного начертания с помощью версткиРезультат работы кода можно увидеть на изображенииНахождение нужных элементов на странице сайта с помощью кода Таракановский ВладимирИтог: оперативный и полный поиск элементов на странице с их содержанием.Проверка на существование внешних ссылок на страницеЗадача: поиск ссылок, ведущих на другие сайты. Как известно seo-специалистам, такие ссылки надо закрывать атрибутом rel="nofollow" для предотвращения передачи веса другому сайту.Рутина: поиск каждой ссылки через вкладку "Elements" или исходный код страницы.Дополнительные проблемы: уходит много времени и внешних ссылок может быть много или не быть вообще. Также есть высокая вероятность пропуска элемента из-за рутинности задачи.Преимущества данного кода: получение в 3 действия всех нужных нам внешних ссылок.Как пользоваться:1. Заходите на нужную страницу сайта.2. В консоли браузера переходите на вкладку "Консоль", как показано на инструкции выше.3. Вставляете приведенный ниже код./*4. Проверка на внешние ссылки */ clear(); const links_site=[]; document.querySelectorAll("a").forEach((item)=>{links_site.push(item.href)}); const nofollow_links=(site_address)=>{ const nofollow_link=links_site.filter(link_site=>link_site.search(site_address)==-1); if (nofollow_link.length>0) {console.log(nofollow_link.join(`\n`));} else {console.log('Внешние ссылки не найдены!');} } nofollow_links(window.location.hostname);Пример работы кода сайтаПроверка страницы сайта на внешние ссылки Таракановский ВладимирИтог: оперативный и полный поиск внешних ссылок на странице.Проверка существования robots.txt и sitemap.xml в корне сайта и содержание файловЗадача: проверка файлов robots.txt и sitemap.xml при первоначальном анализе сайта на продвижение.Рутина: вбивание названия этих файлов вручную и ожидание загрузки каждого.Дополнительные проблемы: нет.Преимущества данного кода: получение информации о нахождении данных файлов в корне сайта и их содержания, находясь на любой странице сайта.Примечание: как писал Н.А. Некрасов в стихотворении "Поэт и гражданин" "Поэтом можешь ты не быть, но гражданином быть обязан". Примерно так и здесь: файл sitemap.xml на некоротых сайтах может находиться не в корневой папке сайта, но файл robots.txt обязан там находиться с указанием, где находится sitemap.xml.Как пользоваться:1. Заходите на любую страницу проверяемого сайта.2. В консоли браузера переходите на вкладку "Консоль", как показано на инструкции выше.3. Вставляете приведенный ниже код./*5. Проверка существования robots.txt и sitemap.xml и их содержание*/ clear(); const input_rs=['robots.txt', 'sitemap.xml']; input_rs.map(async (rs)=>{ let response = await fetch(`/${rs}`); let status_file = await response.ok; let text_file = await response.text(); if (status_file) {console.log(`Файл ${rs} есть в корне сайта! Его содержимое: ${text_file}`);} else {console.log(`Файл ${rs} не найден!`);} });Пример работы кодаРезультат проверки на существование в корне сайта файлов robots.txt и sitemap.xml и их содержание Таракановский ВладимирИтог: ускорение времени на получение информации о файлах robots.txt и sitemap.xml.Проверка на наличие alt у изображенийЗадача: проверить изображения на наличие альтернативного текста (alt) и его качество.Рутина: поиск каждого изображения через вкладку "Elements" или исходный код страницы.Дополнительные проблемы: уходит много времени и изображений может быть много. Также есть высокая вероятность пропуска элемента из-за рутинности задачи.Преимущества данного кода: получение в 3 действия всех alt-ов изображений и список некачественно заполненных alt-ов. Некачественно заполненный alt не содержит букв и количество символов меньше 3-х.Как пользоваться:1. Заходите на нужную страницу сайта.2. В консоли браузера переходите на вкладку "Консоль", как показано на инструкции выше.3. Вставляете приведенный ниже код.clear(); const image_alt=[]; const image_no_alt=[]; document.querySelectorAll("img").forEach((has_alt)=>{ if (has_alt.alt.search(/(.?[a-zA-Zа-яёА-ЯЁ]{3,}\s?.*)/gm)>-1) {image_alt.push(has_alt.alt);} else {image_no_alt.push(`Alt: ${has_alt.alt}, адрес: ${has_alt.src}`);} }); if (image_no_alt.length>0) {console.log(`Атрибут alt отсутствует или некачественный у следующих изображений: ${image_no_alt.join(`\n`)}`);} if (image_alt.length>0) {console.log(`Текст атрибута alt: ${image_alt.join(`\n`)}`);}Пример работы кодаЗаполненность атрибута alt у изображений и качество заполнения Таракановский ВладимирИтог: оперативный и полный поиск альтернативного текста изображения (alt) на странице и качество заполнения атрибута.Подбор ключевых фраз в Wordstat для статейЗадача: подобрать ключевые слова для написания статей для блога через Wordstat.Рутина: каждый запрос (где, когда) надо вбивать вручную.Дополнительные проблемы: увеличение времени на подбор.Преимущества данного кода: создает список ключевых фраз для wordstat. При клике по запросу осуществляется переход в Wordstat с ключевой фразой и заданной геолокацией.Как пользоваться:1.Заходите в файл article_word.html, предварительно скачав (ссылка для скачивания будет ниже).2. Выбираете город, нужную продукцию и ключевые слова (какая, где).3. Нажать кнопку "Получить фразы для Wordstat", после чего у Вас ниже кнопки появится список фраз.4. Кликаете по получившейся ключевой фразе и переходите в новой вкладке в Wordstat.Пример работы кодаПример подбор ключевых фраз для Wordstat Таракановский ВладимирИтог: генерация ключевых фраз и прямой переход в WordstatПланируемые доработки:Добавить города. На данный момент городов от Урала и дальше на восток России нет.Возможность удалить ненужный товар или бренд. Вдруг Вы допустили ошибку или решили не использовать это?Весь код, приведенный можно будет скачать с github отсюда, нажав на зеленую кнопку "code" и выбрав "Download zip". 1-5 инструменты - файл seo.js, ключевые слова - article_word.htmlУ Вас есть:замечания по работе кода,предложения по улучшению представленных инструментовдругие рутинные задачи по seo или контекстной рекламе?Пишите об этом в комментариях, будем решать вместе!Спасибо за прочтение!
да, действительно удобно, обычно парсером делаю
Спасибо, Дмитрий! Если Вас не затруднит, можете оценить и прокомментировать эту же статью, только в разделе seo, перейдя по ссылке?