ComparseR — новый софт для изучения и проверки индексации сайта от АлаичЪ'а!
Привет, друзья! Сегодня я наконец-то готов представить вам свой новый софт для проверки и изучения индексации сайта. Взглянул на дату и оказалось, что с момент старта разработки прошло почти 3 месяца. А мне казалось, что про краудфандинг я писал совсем недавно. Планировал успеть все за месяц, но сначала увольнение с работы, организацией свой веб-студии, конференция и т.д. и т.п. Правда и с программой в этот раз я провозился долго, захотелось сразу все учесть вплоть до мелких подробностей, при том, что полностью рабочий образец был готов уже через 2 недели после старта.
Ну да ладно, не об этом сейчас речь!
Итак, новая программа называется ComparseR! Это название получилось из слияния двух слов Comparison и Parser, т.е. сравнение и парсер. В этом и есть вся суть программы: мы парсим сайт, парсим его проиндексированные страницы в выдаче и сравниваем эти данные между собой.
Все просто, но получилось очень круто, даже сам не ожидал. Сейчас все расскажу и покажу.
Друзья, рекомендую прочитать все, что написано ниже, пусть много, но зато все по делу: что умеет программа, как это работает и мои рекомендации. Но для лентяев просто оставлю тут ссылку на промо-сайт, там есть вся основная инфа и короткое описание.
Описание и основные возможности ComparseR
Главное окно программы выглядит примерно вот так:
На данном скриншоте отображена основная рабочая область программы, где видны результаты обхода сайта краулером. Те, кто пользовался программами типа Xenu Sleuth, Netpeak Spider, Page-Weight, ScreamingFrog быстро разберутся, что к чему.
При обходе сайта, программа собирает следующие данные:
- Код ответа сервера – чтобы определить 404 ошибки, внутренние редиректы и другие ошибки.
- URL страницы – ну, тут все понятно.
- Title страницы – очень важный параметр, всегда можно будет посмотреть, например, где дубликаты, а где title и вообще отсутствует.
- Rel canonical – если на странице присутствует meta-тег canonical, программа сохранит его содержимое. Кстати, у меня есть большой пост про link rel=canonical, рекомендую прочитать.
- Глубина парсинга – так я условно назвал количество кликов от главной до исследуемой страницы. Чтобы добраться до определенной страницы необходимо совершить 3 перехода по ссылкам от главной страницы, это значит эта страница будет иметь глубину 3.
- Meta robots – если на странице будет найден метатег robots, программа сохранит его содержимое. Напомню, что и о мета роботсе я тоже писал большую полезную статью.
- Файл robots.txt – здесь может быть только 2 значения Allow и Disallow в зависимости от настроек вашего файла robots.txt. Полезно для изучения закрытых от индексации частей сайта.
- Источник – это адрес страницы, с которой был совершен переход (найдена активная ссылка) на исследуемую страницу.
- Тип контента – полезно для просмотра и поиска не html содержимого сайта (архивы, файлы и т.д.)
Я посчитал, что этой информации достаточно для изучения индексации сайта. Но в то же время нет никаких ограничений в том, чтобы добавить какой-то новый параметр или характеристику страницы. Я с радостью выслушаю предложения и пожелания от всех пользователей программы.
Благодаря тому, что при обходе сайта программа не хранит все ссылочные связи всех страниц, как это делают другие программы, а только связку «текущий url – url источник» удалось добиться высокой скорости парсинга, низкого потребления памяти и возможности парсить сайты размером в миллионы страниц. Последнее напрямую зависит от объема оперативной памяти на вашем компе, по моим прикидкам, стандартный компьютер с 8 GB RAM сможет потянуть проект размеров в 2-3 миллиона строк. А вам слабо? :) Ради эксперимента я максимум собирал 700к страниц, а потом надоело, и я решил не мучать комп и остановил парсинг.
Для желающих есть возможность отправить в программу свой список страниц для обхода или же указать для проверки sitemap.xml.
Ниже основной рабочей области расположен лог программы, где фиксируются все важные события и ошибки, если они возникают. Пользователи программы FastTrust с этой штукой уже знакомы.
Справа от рабочей области есть окно со статистикой. Пожалуй, это самая ценная вещь! Программа классифицирует и группирует собранные данные. Например, программа может показать только страницы 404, или страницы по определенному типу контента, только индексируемые или не индексируемые страницы, страницы с одинаковым title или где title отсутствует вообще. Подобные отчеты доступны и для страниц, собранных из выдачи поиска.
А вот то, ради чего вообще вся программа затевалась изначально! После парсинга сайта и выдачи поисковиков можно будет посмотреть отчеты: страницы, которые были найдены на сайте, но отсутствуют в поиске и наоборот, страницы, которые нашлись в выдаче, но не были найдены при обходе сайта. Такие отчеты доступны отдельно для Яндекса и Гугла.
Благодаря этим отчетам вы сможете узнать, какие страницы вашего сайта индексируются, а какие нет. Но это банально, да ведь? Гораздо интереснее узнать, что есть в индексе такого, чего нет на сайте! Интересно же? Например:
- Самый типичный случай – сменили структуру сайта или вообще создали новый сайт, а редиректы со старых адресов не прописали. Очень часто такое случается, когда в процессе не задействован оптимизатор, а разработчики и думать не знали про редиректы. Старые урлы сайта останутся в выдаче, и в лучшем случае будут выдавать 404 ошибку, а в худшем будут отдавать ответ 200 и создавать дубли!
- Ненужные адреса страниц могут попасть в выдачу, даже если на них нет ссылок внутри сайта. Есть масса способов поисковику узнать о наличии страницы на сайте – браузер (Яндекс.Браузер пингует адреса в Яндекс, Chrome пингует в Google), дополнение/расширение/плагин (Яндекс.Бар пингует адреса в Яндекс), счетчик (Яндекс.Метрика, если не отключить соответствующую опцию, будет отправлять адреса на индексацию). Помните же историю с индексацией SMS-сообщений абонентов Мегафона Яндексом http://www.rb.ru/article/yandeks-raskryl-lichnuyu-perepisku-abonentov-megafona/6737357.html. Может быть и у вас есть страницы, не предназначенные для индексации, но уже попавшие в индекс?
- Очень часто к адресам страниц «прилипают» параметры. Они могут генерироваться соцсетями, когда вы размещаете там ссылки на свой сайт. Для учета статистики рекламных кампаний ссылки стоит размечать при помощи UTM_ меток, это тоже параметры и они могут индексироваться. Если не использовать rel=canonical или не запретить в robots.txt индексацию параметров, то могут индексироваться полные дубли страниц, тем самым понижая основную страницу. Узнать это можно только изучив страницы в индексе.
На самом деле, подобных распространенных примеров можно привести еще штук 10, но это уже предмет отдельного разговора. Давайте отдельно рассмотрим парсинг поисковых систем.
Парсинг выдачи поисковых систем Яндекс и Google
Когда вы переключитесь на вкладку «Яндекс» и нажмете кнопку «Запустить», перед вами появится окно с настройками парсинга:
Рассмотрим чуть подробнее:
- Адрес сайта – тут все понятно, можете указывать в любом виде, с www или без www, с http:// или без, это не важно. Программа сама все поймет и начнет сканировать сайт.
- Источник – крутая фишка! Для Яндекса можно получать данные из трех источинков. Поисковая выдача – обычный парсинг выдачи с запросом типа site:alaev.info, самый универсальный метод. Яндекс XML – парсинг выдачи через XML, быстро, эффективно, без капчи, нужен только доступ в xml.yandex.ru и наличие доступных лимитов. Яндекс Вебмастера – так же быстро и без капчи, но только парсить вы можете сайты, подтвержденные в вашем аккаунте, данные для доступа к которому вы можете указать в настройках.
- Метод парсинга – как вы знаете, из поисковой выдачи можно собрать не более 1000 результатов по любому запросу. Для сайтов у которых страниц мало, нет никакой головной боли, а вот для больших сайтов возникает вопрос – что же делать? Действовать методом перебора. Для этого сначала надо спарсить краулером сам сайт, построить его структуру (вкладка «Структура» — «Построить дерево») и опираясь на эту структуру парсить сайт по частям. Метод интересный и сложный, имеет много особенностей, но это тема отдельного разговора, я этому посвящу специальный раздел на промо-сайте. Главное, что метод перебора позволяет в большинстве случаев обойти ограничение в 1000 результатов и собрать из выдачи бОльшее количество страниц.
- Таймаут – задержка между запросами к поисковой выдаче. Для парсинга выдачи нужно ставить большие задержки, для парсинга XML можно ставить минимальные задержки, так же как и для парсинга Вебмастера, т.к. там нет капчи. Для облегчения участи, разумеется, предусмотрена поддержка сервисов антикапчи.
- Ограничение количества результатов – вдруг кому-то покажется, что парсить надо не все, а только часть, или кто-то решит оказывать услуги по парсингу выдачи за деньги с оплатой за результат :) …я не знаю.
- Сортировка выдачи – есть два варианта: по релевантности, когда показывается стандартная выдача, и по дате, когда свежепроиндексированные документы отображаются вначале. Кому-нибудь эта настройка будет полезной.
- Регион поиска (код региона) – если вы не знаете код региона, можете начать вводить, программа автоматом определит город и подставит код, а можете сразу указать код сами.
- Проверять дату сохраненной копии – да, программа может парсить дату сохраненки, что очень полезно, например, для того, чтобы понять, как часто переиндексируются страницы вашего сайта.
- Учитывать правила регулярных выражений – с вашего разрешения, про регулярки я расскажу чуть дальше.
- Проверка кода ответа сервера – при парсинге страниц из выдачи программа может одновременно пинговать эти адреса и смотреть, какой ответ отдает сервер. Очень полезно, чтобы узнать, нет ли несуществующих страниц в выдаче или каких-то проблем с сайтом.
Набор настроек зависит от выбранного источника данных (выдача, xml или вебмастер), где настройка неприменима, то она и не отображается, чтобы никого не вводить в заблуждение.
Схожими настройками обладает и парсер Google:
Основные отличия в том, что у Google только один источник данных – поисковая выдача. Так же в Гугле нет сортировки результатов по релевантности или дате, нет указания региона поиска (а нужна ли она?).
Зато в Google есть одна особенная настройка – «Показать скрытые результаты». Это supplemental index, в простонародье «сопли». Если эту галку установить, то в запрос добавится параметр &filter=0 и будут парситься не только страницы, находящиеся в основной выдаче, но вообще все известные Гуглу страницы сайта. Один из примеров использования данной опции: можно просканировать сайт, спарсить выдачу Гугла без показа скрытых результатов, а потом сравнить – сразу будет видно, какие страницы вашего сайта не попадают в выдачу и не ранжируются. При помощи отчета, показывающего страницы, найденные на сайте и отсутствующие в основной выдаче Google, станет понятно, над какими страницами на сайте надо поработать и придать им большей значимости. Если в этом списке окажутся важные страницы, значит это тревожный сигнал!
И есть еще одна, к сожалению, неприятная отличительная особенность Гугла от Яндекса – запрос к сохраненной копии для проверки даты кеша является равнозначным запросу к выдаче, то есть запрашивает капчу при любой подозрительной активности. Так что данную опцию стоит использовать с осторожностью, в отличие от Яндекса, где можно парсить «сохраненки» нонстопом.
Ну вот, программу вам показал, про парсинг поисковиков рассказал. Разве что до сих пор не показал настройки парсера сайта. Секундочку…
Возможности и настройки парсинга сайта
Вот так вот выглядит диалоговое окно настроек перед парсингом сайта:
Все довольно стандартно, так что пробегусь по основным важным моментам:
- Адрес сайта – понятно, количество потоков – понятно… Максимальное количество потоков в программе – 50, это более чем достаточно. Мои эксперименты показали, что такое количество потоков адекватно держит только один сайт – это vk.com :) На контакте можно упражняться с настройками программы сколько угодно, ничего не блокируется и работает быстрее, чем вы глазом моргнете. Для обычного рядового сайта хватит 5 потоков за глаза, а то и уменьшить придется, ну, в общем, все в ваших руках.
- Следовать правилам мета robots и robots.txt – если галки установлены, то программа подобно поисковому роботу будет следовать правилам, и не будет индексировать страницы, запрещенные правилами. Если же данные галки сняты, то программа все страницы добавит в таблицу, но в соответствующих ячейках сделает соответствующие пометки о том, запрещена ли страница к индексации или нет.
- Проверка изображений – кому-то может понадобиться такая штуковина, но я ее обычно отключаю, чтобы не занимать зря поток и память. Чем эта штука может быть полена – например, поиск на сайте битых картинок.
- Учитывать атрибут rel=canonical – опять же об индексации, если галка стоит, то программа, заходя на страницу и видя там каноникал, отличный от адреса текущей страницы, не станет ее индексировать и заносить в таблицу, а перейдёт по каноническому адресу и проиндексирует только его.
- Настройка, которая показалась мне интересной, это переход по ссылкам с атрибутом rel=nofollow. Поговаривают, что поисковик не должен переходить по ссылкам с nofollow, вы согласны? Тогда и программе можно запретить это делать, просто сняв галку.
И снова мы подошли к разговору о регулярных выражениях, откладывать больше некуда, давайте и про них я, наконец, расскажу.
Использование регулярных выражений
Есть в главном верхнем меню такой пункт «RegExp» — это оно, сокращение от Regular Expressions или Регулярные Выражения. Опция для более продвинутых пользователей, хотя пользоваться ей до безобразия просто, справится и школьник. Но не суть.
Есть два вариант использования регулярок: можно прописать правила исключения или правила включения (уж не смог я подобрать другого понятного антонима к слову «исключение»). Если вы пропишете правила исключения, то все url’ы сайта, подпадающие под правила не будут заноситься в таблицу и будут исключены. Например, вам не нужно сканировать какую-то категорию или раздел сайта, или определенные служебные урлы мешаются, тогда исключения – это то, что вам надо!
Включения – это прямая противоположность, вы задаете правила и согласно этим правилам в таблицу попадают только удовлетворяющие адреса страниц.
Дотошный юзер спросит, «Ха-ха, а чё будет если одновременно использовать и то и другое? А?». Ну как че! Этот момент, конечно же, был рассмотрен нами при проектировании. Если вы укажете одинаковые правила для включения и исключения, то программа будет работать впустую, т.к. программа сначала будет искать и собирать только адреса согласно разрешающей маске, а потом сразу же отбрасывать их, потому что они попадают под исключение. То есть по шагам это работает так – сначала ищем разрешающие совпадения, потом смотрим на исключающие. Так что одновременно использовать правила имеет смысл, когда вы хотите разрешить для проверки какой-то конкретный раздел сайта, но уже внутри этого раздела исключить какие-то его части – вот так будет правильно!
Еще одна важная вещь, которая была учтена при написании алгоритмов исключения адресов – это обход краулером запрещенных страниц. Все известные мне программы для сканирования сайтов действуют так: если url попадает под запрещающую маску, то он даже не попадает в очередь, а просто отбрасывается. У нас иначе, исключающее правило лишь отменяет запись адреса в таблицу, но не отменяет сканирование самой страницы и проверку ссылок на ней. Таким образом, сайт при любом раскладе будет просканирован целиком и полностью, но просто не все адреса будут записаны. Это очень и очень важно, если вы понимаете, о чем я!
Вот вроде и все об основных функциях программы.
Хотя напоследок я припас один секретик – в программе есть функция пакетного удаления url-адресов из индекса Яндекса! Для этой цели в панели вебмастера Яндекса есть специальный инструмент. Им можно пользоваться и вручную, только поштучно вбивать пусть даже 50 урлов задача не для слабонервных. Зато с ComparseR – только составил список, ctrl+c, ctrl+v, ок – все готово за три клика для любого количества адресов!
А можно попробовать, сколько стоит, как купить?
Конечно, у программы есть промо-сайт — parser.alaev.info — да-да, выдерживаю единый стиль в цветах и оформлении!
Стоимость одной копии программы составляет 2000 р. Правила и процедура покупки подробно описана на специальной странице. В этот раз я решил продавать по одной лицензии для активации одного компьютера, но и стоимость так же снизил.
And one more thing. Та самая крылатая фраза, которую говорил Стив Джобс, когда в финале своего выступления хотел преподнести аудитории сюрприз. У меня тоже есть для вас сюрприз – ЭТО ДЕМО-ВЕРСИЯ!
Ну все, друзья, более я вас не задерживаю. Спасибо вам за внимание! Надеюсь, я вас порадовал моей новой разработкой. Жду от вас вопросов, интересных предложений и других комментариев. До связи!
Скачать демо-версию ComparseR Бесплатно без регистрации и смс :)))
Вот уже 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).