TOPchik — открытый плагин WordPress для бесплатной проверки позиций сайта по поисковым запросам, через API Яндекс.XML


Когда то раз, я задумал написать плагин, для быстрой и бесплатной проверки сайта в поисковой выдаче Яндекса и гугл, прямо из админки Wordpress. Задача плагина давать понимание: как чувствует себя сайт, какие страницы потеряли ТОП и требуют доработки, какие страницы вообще не приносят трафик, + внедрить KPI SEO, при этом экономить деньги (используя бесплатные лимиты Яндекс.XML и парсить поисковую выдачу гугл)

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


Конечно, как юный стартапер, решил написать и заработать на нем миллионы, но со временем мотивация падала, изменилось понимание, а внимание переключилось на другие проекты. Данный плагин остался в полу-готовом виде, но, т.к. он уже около года мной не дорабатывается, я решил выложить его в открытый доступ.




Демо


Временная ссылка, логин и пароль: demo

Так выглядит подробрый анализ позиции по КС прямо из статьи:


Статистика поисковой выдачи


Это основная страница с визуализацией, на ней мы видим, как в целом чувствует себя сайт и динамику по основным показателям:
  • Видимость сайта
  • Запросов в топ 3, 10, 30
  • Позиций улучшилось/ухудшилось


На данной странице, хотелось бы добавить возможность кликнуть конкретный показатель или день в графике и получить информацию о странице и поисковым запросам, которые дали основную положительную и отрицательную динамику, чтоб понимать — ага вот эти запросы/страницы выпала из индекса, а тут наоборот вошли.

Поисковые запросы


Тут в разбивке по статьям, мы видим все ключевые слова, можем снять позицию по конкретному запросу или документу в целом. Имеется динамический поиск и возможность свернуть/развернуть все.


Расписание проверок


На данной вкладке реализована возможность запустить проверку в ручную, выставить шедуллер, который будет проверять в определенное время позиции, так же посмотреть сколько в текущий момент проверено КС(Ключевых фраз), а так же увидеть ошибки, если таковые есть.

Тут планируется реализовать более гибкую настройку проверок: по дням недели, по дням месяца, раз в месяц, после апдейтов Яндекса, через Х часов.

Подключения(API)



В данном случае заполняем данные полученные от сервиса Яндекс.XML, указываем ваш внешний IP и домен, который будем искать в выдаче. Напротив в неактивных элементах, я постарался определить ваш внешний IP и домен автоматически, но т.к. не уверен в работе данных функций, пока требуется продублировать их вручную.

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

Тут необходима добавить возможность указания ProxyServer`a и внести соответствующую настройку в yandex-xml.php

Как настроить


Для настройки, все что осталось сделать, это указать ключевые слова для каждой из статей, тут необходимо добавить возможность автоматической подгрузки данных КС из яндекс или гугл метрики или возможность загрузить их в ручную — в удобном формате.

На данный момент, можно зайти во вкладку со списком КС и добавить их вручную, используя опцию, «добавить несколько»:



Как пользоваться


После того как все нужные настройки сделаны, осталось запустить проверку, для этого переходим во вкладку расписание проверок, и например запустим проверку вручную:

Для того что-бы проверка запустилось, нужно или обновить данную страницу или просто открыть любую страницу на сайте.


Нужно реализовать


Что бы я реализовал в первую очередь:
  • Запросы к Яндекс.XML, через прокси, т.к. если у вас нет выделенного IP адреса, то он может быть уже занят;
  • Загрузка КС из метрики или из файла, с возможностью задавать формат файла;
  • Нужно разобраться с багом при проверке, на некоторых сайтах, пока работает проверка, админка подвисает;
  • Возможность анализировать ТОП страниц, которые дали улучшение и ухудшение позиций, показ страниц, которые например вообще выпали из иднекса и т.д. и т.п.;
  • Добавить счетчик посещений на каждую из страниц или подгрузить данные из метрики, затем необходимо подтягивать откуда то частотуку КС (либо дать возможность задавать в ручную), для анализа KPI-SEO. Ведь главная задача, понимать, сколько трафика должна приносить статья, сколько она принесла, сколько она может принести на той или иной позиции;
  • Добавить возможность загружать информацию о доходах в разрезе каждой статьи из яндекс метрики (РСЯ) и адсенс;
  • Включить возможность съема позиций в Google;
  • Добавить локализацию на EN.



Мой вижин


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

Сделав данный минимум, я планировал продавать плагин, но понял, что «рожденный летать, ползать не может», если у вас есть к этому, талант, то велком.

В моем понимании, то что я реализовал, подойдет только для людей, у которых мало сайтов и мало статей на них, подобное решение будет крайне не удобно, для владельцев крупных сайтов и сеток сайтов, а именно на них я бы сейчас и делал упор. Ведь их задача, сокращение расходов на съем позиций и своевременный точечный анализ положения сайта в поисковой выдаче — это для них важная и непростая задача.

Поэтому, я вижу развитие данного плагина именно в этом направлении, а это значит, что нужен внешний сторонний сервис, где будут агрегироваться данные со всех сайтов и плагин, будет выступать только в качестве прослойки — а может и вообще потерять актуальность и тут нужно думать, чем данный сервис будет отличаться от остальных.

Так же можно адаптировать данный плагин для англоязычных вебмастеров, сделав его перевод на EN, и добавив возможность съема позиций в Gooogle. (Естественно не бесплатно, как минимум нужно уже будет поддерживать свои сервисы)

Прошу простить меня за столь сумбурное описание, надеюсь, что данный плагин найдет своих последователей. Задавайте вопросы, все непонятные моменты я буду освещать в комментариях и готов оказать поддержку по коду (через github — по мере своей возможности). Так же приветствуются негативная критика, если вы считаете, что я где то, в чем неправ с обоснованием, почему.

PS. Код был написан мной без какого либо глубокого изучения языка PHP, на крайне низком уровне начинающего энтузиаст, поэтому прошу прощения за возможные косяки в архитектуре(ее отсутствии), ошибки и вообще отсутствие, какого либо подхода или код-стайла.

Ссылка на репозиторий GitHub (Если там чего-то не настроено, дайте знать, я не опытный пользователь гита)




К сожалению, не доступен сервер mySQL