CRM + Робот для автоматизации SEO продвижения сайтов
SitePositions + SiteAnalyzer + PageAnalyzer = “автоматизация рутины для сеошников”
Интересный и технически сложный проект, разработанный для лидирующей московской компании в сфере продвижения сайтов. Разрабатывался проект с 2011 по 2014. Сейчас работает и активно используется. Большинство требований рождались по ходу создания системы и опыта её использования. Хороший пример использования Гибкой (Agile) методологии. Проект только для внутреннего использования в компании.
Framework: Symfony2
Основные «хотелки»:
- Система должна работать на сервере в полностью автоматическом режиме(apache+php).
- Нужен административный интерфейс, позволяющий пользователю, наделенному нужными правами, быстро и удобно управлять всем хозяйством.
- Система должна иметь простой, интуитивно понятный интерфейс, множество подсказок. Потому что сеошники далеко не всегда технически грамотные люди.
- Система не имеет публичной части(только форма логина). Вход только по логин/паролю.
- Требуется ежедневно, в автоматическом режиме, «снимать» позиции ключевых слов для продвигаемых сайтов с яндекса. Сохранять эти позиции в базу, анализировать, показывать…
- В автоматическом режиме, по преднастроенному расписанию, полностью скачивать и анализировать продвигаемые сайты. Выдавать отчёты/графики/проблемы/советы по продвигаемым сайтам. Всё это сохранять в базе в виде «слепков» сайтов(например скачивать раз в неделю и следить за динамикой изменений на сайте(это нужно когда над сайтом работает сразу 2-10 человек(добавляют контент), и за этим колхозом нужен присмотр)). Слепки сайтов сравнивать между собой, выдавать изменения/аналитику.
- Нужна система пользователей.
Пользователя можно создавать/изменять/удалять (CRUD) через админку, назначать ему роль(role-based access control); точечно давать ему права на определённые кусочки системы + на динамически создаваемый контент (ACL). Права на динамически создаваемый контент имеют иерархическое наследование и должны автоматически распространяться на дочерние элементы. - Иметь систему комментариев, позволяющую комментировать почти каждый кусочек информации.
Это нужно для общения между сотрудниками и отчётности для руководства. Когда в компании на активном продвижении 50-100 сайтов и 15 продвиженцев пытаются упомнить все изменения, которые они вносят в сайты, то комментарии ой как нужны. И начальство видит проводимые работы. - Нужно логгировать переходы пользователей с поисковых систем на продвигаемые сайты.
Собирать поисковые запросы, страницы на которые совершаются переходы. Всё это сохранять в базу, анализировать, сопоставлять и выводить в детальных отчётах по сайтам и в других местах. Отслеживать динамику и эффективность проводимых работ по сайту. В общем, такой конкретный анализ фактической эффективности продвижения сайта. - Нужен инструментарий для анализа исходного кода конкретной, одной страницы.
Сео-анализ: вычислить насколько эффективно расставлены ключевые слова, где они проставлены, найти переспам ключевиками. Вывести рекомендательные подсказки от нашего робота. - Нужен анализ конкурентов, с которыми мы конкурируем за топ. Также нужно отслеживание их позиций.
- ...
Основной экран:
Настройка инфо-колонок:
Возможность выбирать временной диапазон отображаемого содержимого:
Основные понятия:
Дополнительные указатели:
Выпадающие меню:
Экран "Детальный анализ сайта"
Вкладка "Дерево сайта": при наведении на все элементы показывается доп информация.
Вкладка "Исходящие ссылки" показывает все внешние исходящие ссылки с сайта
Вкладка "title" показывает все meta title с сайт (с группировкой в кучки)
Вкладка "размеры страниц" - размер html кода страниц, группировка по 25кб
Экран "Детальный анализ страницы"
В процессе создания проект подвергался трём крупным рефакторингам.
Удалось разобраться во множестве тонкостей магии seo-продвижения. Действительно интересный проект!
PS. Заказчик дал согласие на размещение здесь информации о системе.