Page Promoter Bar (SEO-bar для ForeFox) и наличие в DMOZ

firefox logoДля браузера FireFox существует большое количество SEO-баров, их легко найти в каталоге расширений по ключевому слову SEO. Но в большинстве случаев они собирают слишком много ненужной информации, поэтому для быстрого анализа SEO-параметров сайтов (ТИЦ, PR + наличие в каталогах и страницы в индексе) вполне достаточно отчественного расширения с богатой историей Page Promoter Bar.

В одной из последних версий (на момент написания заметки 3.3.1.) он перестал показывать наличие в каталоге DMOZ, и при клике на ссылку поиска по каталогу, осуществляет некорректный поиск по нему же. Т.к. нам не все равно (почти как mvideo :) ) осуществим экспресс-починку.

Во-превых найдем неправильный запрос поиска по DMOZ и исправим его. Для этого разархивируем архив со скриптами тулбара pagepromoterbar.jar (по умолчанию находится тут c:\Documents and Settings\Admin\Application Data\Mozilla\Firefox\Profiles\xyz123.default\extensions\toolbar@netpromoter.ru\chrome\) и найдем в нем файл \pagepromoterbar\content\js\searchengines.js:

DmozCAT.prototype.getURL=function(url)
{
  var h=this.host(url).replace(/^www\./i,'');
  return "http://search.dmoz.org/cgi-bin/search?search="+h; // вырезали лишние символы
}

Теперь если выключить FireFox, и заменить скрипт в архиве обновлением, клик по ссылке будет открывать странцу поиска по DMOZ с найденным сайтом (если он там есть), но в самом тулбаре не показывается категория, в которой находится сайт.
Для исправления ситуации немного подправим регулярки, эта необходимость вызвана наличием символом переноса строки, табуляций и пробелов между тегами <li> (которые мы вырежем далее), и тегами ссылок:

DmozCAT.prototype.extractResponse=function(url,response)
{
  var rank="-";
  var responseText=response.responseText;	
 
  var h=this.host(url).replace(/^www\./i,'');
  var f=/<a\s+href\=\"([^\">]+)\">/.exec(responseText); // теперь мы найдем хоть какую-то ссылку на странице поиска по ДМОЗ
  if(f)	
  {
  	    var m=/<a[^>]+><strong>([^<]+)<\/strong><\/a>\s*/.exec(responseText); // а следовательно найдем и текст названия категории
  		if(m)
 		{	 
  			rank=m[1].replace(/&nbsp;/g,' ').replace(/:/g,'>');
 		} 	  
  }
 
 var obj=new Object();
 obj.rank=rank;
 obj.url=this.getURL(url);
 return obj;
}

Вот теперь все в порядке, показывается нужная категория в ДМОЗ:
page promoter bar наличие в dmoz

Кстати если категория так и не показалась, надо всего лишь удалить все строки с упоминанием вашего сайта из журнала истории FireFox.
Установить Page Promoter Bar с работающим наличием в DMOZ можно просто кликнув по ссылке.
В случае с FireFox Portable после клика на ссылку надо указать файл FirefoxPortable.exe для открытия .xpi-файла расширения.

1 Комментарий


Добавление комментария:

 css.php