Пишем сервис анализа SEO Характеристик
Возникла у меня мысль написать сервис анализа SEO характеристик сайта. В перспективе, акцентируя на тенденциях русскоязычного сектора сети, есть задумка сделать из него полноценный инструмент для мониторинга позиций по регионам, релевантности, актуальности и ещё куче параметров.
Естественно решил не ограничиваться одним лишь Яндексом. Сервис предусматривает мониторинг позиций по ключевым в топе и чекер мер тИЦ, PageRank, AlexaRank, проверка количества страниц в индексе, ссылок, картинок и прочего прочего прочего.
Собственно, следующая серия постов будет посвящена написанию такого сервиса. Все функции я конечно не спалю, да и вам самим, уловив суть, будет легко их дописать.
Начнём с реализации и планирования архитектуры приложения.
Проектирование архитектуры взаимодействия
Представим себе будущее приложение. Оно должно состоять из трёх элементов.
- Точка отправки запроса и вывода результатов обработки
- Слой транспорта данных к обработчику и обратно
- Обработчик запроса

Всё просто. Имеем страницу с формой запроса, кнопкой сабмита и предопределённым элементом, в который будет выводится результат.
Используем PHPLiveX
Поскольку тенденции нашего времени диктуют проектировать удобные интерактивные интерфейсы, то мы прибегнем к помощи AJAX. В частности удобна библиотека PHPLiveX.
Подключим её к странице.
<?php include "./phplivex.php"; // <<< this automatically connect the phplivex.js $ajax = new PHPLiveX(); $ajax->Run(); ?>
Сделаем форму отправки.
<form> <input type="text" value="" id="host" onkeyup="if (event.keyCode==13 & this.value!='') check();" /> <input type="button" value="enter" onclick="check();"> </form>
Определим блок для вывода результата обработки и элемент для показа процесса транспорта.
<span id="preloader" style="visibility:hidden;"><img src="/misc/preAjax.gif"></span> <div id="outrender"></div>
В <head> документа подключим JavaScript конфигурирующий процесс отправки и приёма данных.
<script type="text/javascript"> /* Analyzer Init */ function check() { var host = document.getElementById("host").value; var plx = new PHPLiveX(); return plx.ExternalRequest({ "url": "\/processor.php", /* <<< config of request target */ "preloader": "preloader", /* <<< Bind preloader DOM element ID */ "method": "get", /* <<< Bind request method */ "target": "outrender", /* <<< Bind target DOM element id to include result */ "params": {"host":host } /* <<< get parameters from ??? and include to ??? */ }); } </script>
Пишем обработчик
Далее нужно подготовить сам обработчик processor.php.
extract($_GET); $outrender = bla_bla($host); // for test bind $outrender = "wow! it works!"; echo $outrender; // <<< this will be transport back in <div id="outrender"></div> function bla_bla($_host) { ... .. some operations; .. ... return $processedResult; }
Собсно, первая часть готова. Осталось вписать нужные функции обработки должным образом настроить вывод. В следующей статье мы сделаем обработчики вычисления тИЦ и PageRank.
Привет. Делаю подобный сервис, все библиотеки готовы, а с визуализацией (выдача контента) не определился до сих пор - так что эта библиотека будет очень и очень кстати! спасибо
Привет, привет. Вообще через друпал было бы изящнее AHAH'ом сделать, но мне кажется так проще, доступнее и что важно сохраняется независимость от платформы
// до версии 2.6 var plx = new PHPLiveX (); return plx.ExternalRequest({ .....
// с версии 2.6 PLX.Request({.....}) достаточно
Спасибо. Посмотрю
Отправить комментарий