Принцип и порядок работы Портатора:
Сам по себе Портатор представляет собой статичный ресурс блогового типа, ведущий многостраничный список статей с краткими анонсами. Клик по заголовку статьи открывает полный текст статьи. Разделов (тематик, категорий) в этом псевдоблоге может быть много.
Следует уяснить, что новости могут браться со многих донорских ресурсов, по разным категориям (обычно у донора тематик многие десятки). И раскладываться по тематическим папкам Портатора. Причём никто не запрещает назначить соответствие, статьи по каким темам нужно брать с каких доноров, и куда именно их помещать. Это универсальный механизм формирования самозаполняющегося ресурса. При желании можно объединить в нём узкотематическую информацию со всего Инета, и получить небывалый респект у поисковых систем.
Функционально алгоритм наполнения контентом выглядит так:
- Каждые 12 часов Портатор наносит визит на страницу со списком новостей донорского ресурса, и получает там листинг статей, присутствующих в этом списке.
Как вариант, смотрится RSS лента, если донор оборудован таковой.
Обратите внимание, что листинг не равнозначен самим документам.
Получение листинга новых статей не равнозначно забиранию самих статей. - Листинг статей сверяется с документами, уже присутствующими в базе Портатора.
Вновь появившиеся статьи заносятся в очередь на импорт.
Уже присутствующие в индексе портатора игнорируются. - По срабатыванию крона, либо при движении серфера по сайту (если крон недоступен) скрипт импортирует очередной документ в очереди на импорт, и по его заголовку определяет, уникальный он, или уже содержится в базе Портатора.
Не уникальность документа может проистекать из-за дублирования информации различными донорами. Понятно, что повторяющиеся статьи нам не нужны- оставляется лишь одна из них, с отсевом дубликатов. - Импортированный документ тут же передаётся в работу, становясь доступным для наблюдения в файловой структуре Портатора как серферу, так и ботам поисковых систем. Ресурс наращивает свой объём постепенно, как и подобает сайту.
- Раз в сутки Портатор сотворяет отчёт о вновь добавленных документах, и отсылает на мыл админу для контроля. Админу не нужно ежедневно посещать сайт Портатора, и пересчитывать статьи внутри каждой категории по головам, пытаясь вспомнить, сколько их тут было вчера.
- Для полноты картины Портатор ведёт статистику посещений, отмечая в ней каждый визит серфера и бота поисковика, а также протоколируя все поисковые запросы, по которым на сайт Портатора поступал поисковый трафик. Статистика доступна для анализа в текстовом и графическом виде, по каждому поисковику отдельно.
Сразу обозначим то, что очень часто не понимается:
Автор технологии постоянно получает письма типа: "Я записал в сеттингах донорским сайтом страничку Папы Римского, а скрипт на меня ругается. Ладно, патриотично прописываю сайт Вовы Путина- то же самое. Чего делать?"
Отвечаю ярко красным: вы можете брать контент только с тех ресурсов, для которых у Вас есть сигнатуры.
Если Вам хочется брать контент с произвольных ресурсов, для которых в природе вообще нет никаких сигнатур, то Вам нужен не портатор, а сплог. Тогда Ваш путь пролегает в другую сторону- Splog.name
Это тоже зачастую остаётся не понятым:
Видимо, пункты с раз по три данного раздела не осознаются. Давайте изложим их доступно пониманию:
- Портатор смотрит за обновлением донорского ресурса периодически.
Если там появился новый артикль, это не значит, что он тут же появится и у Вас.
Портатор производит рекогносцировку два раза в сутки. Не чаще.
И именно в этот момент модуль синхронизации выдает в браузер:
Loaded list of XX new articles.
Обратите внимание- получен ЛИСТИНГ новых артиклей.
Не сами артикли- это потом. - Рекогносцировка также не подразумевает, что всё, что на доноре замечено нового, тут же попадёт в Портатор.
Скрипт просто отметит, какие новые артикли по нужной теме появились.
Не царское это дело, взваливать их на плечи и тащить до хаты. - Когда разведка произведена, и стало ясно, чего, сколько и откуда надо тащить, только тогда приходит черёд потаскуна. Именно тогда контент переносится с донора в Портатор. И именно в этот момент модуль синхронизации рассказывает про то, что
parsing of article ... -
и далее, добавлен он или нет. И если нет, то почему.
Почему пункт раз выполняется, а до третьего пункта дело не доходит?
Ваш портатор может содержать уйму сигнатур с тьмой открытых категорий в каждой из сигнатур. Их так много вовсе не для того, чтобы организовывать копию донорского ресурса у себя- читайте вот этот пост моего блога: Хаос минус один и понимайте, что тематический сайт- это то, что доктор прописал. Если вебмастер это понимает, то проблем не имеет.
Если понимание напрочь отсутствует, вебмастер берет сигнатуру с 300 категориями, и тупо делает все категории активными, то на этапе из пункта раз (синхронизация категорий) он имеет 300 срабатываний Крона, ушедших на утаскивание списка артиклей в каждой категории донора на текущий момент.
Теперь допустим, что вебмастер заставил Крона срабатывать раз в пять минут. Это означает, что все категории на предмет синхронизации списка артиклей скрипт обойдёт за 25 часов. Однако синхронизацию велено проводить раз в 12 часов, и так получается, что скрипт только тем и будет занят, что станет непрерывно обходить все категории донора, и смотреть, что в них новенького.
Пункты раз и два выполняются. Но не три- при указанной частоте сработки Крона дело до импорта артиклей не доходит.
Как же часто тогда нужно запускать Крон?
Помножьте среднее число новых артиклей в каждой категории донора, появляющихся там ежедневно, на число открытых категорий. И прибавьте к этому удвоенное число открытых категорий. Вот столько раз в сутки нужно отправить Крона на урл синхронизатора, чтобы успешно утащить к себе всю новую информацию.
Можно сказать и иначе- удвоенное число открытых категорий- вот именно столько сработок Крона в сутки спалится на обновление листинга артиклей. Что останется сверх того, то уйдёт на утягивание контента самих статей.
Пожалуйста, читайте данный мануал вдумчиво, с первого раза понимая, что в нём говорится.