Пишем сервис анализа SEO Характеристик

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

Естественно решил не ограничиваться одним лишь Яндексом. Сервис предусматривает мониторинг позиций по ключевым в топе и чекер мер тИЦ, PageRank, AlexaRank, проверка количества страниц в индексе, ссылок, картинок и прочего прочего прочего.

Собственно, следующая серия постов будет посвящена написанию такого сервиса. Все функции я конечно не спалю, да и вам самим, уловив суть, будет легко их дописать.

Начнём с реализации и планирования архитектуры приложения.

Проектирование архитектуры взаимодействия

Представим себе будущее приложение. Оно должно состоять из трёх элементов.

  • Точка отправки запроса и вывода результатов обработки
  • Слой транспорта данных к обработчику и обратно
  • Обработчик запроса

архитектура приложения seo анализатора

Всё просто. Имеем страницу с формой запроса, кнопкой сабмита и предопределённым элементом, в который будет выводится результат.

Используем 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.

E-Will

Привет. Делаю подобный сервис, все библиотеки готовы, а с визуализацией (выдача контента) не определился до сих пор - так что эта библиотека будет очень и очень кстати! спасибо Nice

shift-web

Привет, привет. Вообще через друпал было бы изящнее AHAH'ом сделать, но мне кажется так проще, доступнее и что важно сохраняется независимость от платформы Nice

Аноним

// до версии 2.6 var plx = new PHPLiveX (); return plx.ExternalRequest({ .....

// с версии 2.6 PLX.Request({.....}) достаточно

shift-web

Спасибо. Посмотрю

Отправить комментарий