Принцип и порядок работы Портатора:

Сам по себе Портатор представляет собой статичный ресурс блогового типа, ведущий многостраничный список статей с краткими анонсами. Клик по заголовку статьи открывает полный текст статьи. Разделов (тематик, категорий) в этом псевдоблоге может быть много.

Следует уяснить, что новости могут браться со многих донорских ресурсов, по разным категориям (обычно у донора тематик многие десятки). И раскладываться по тематическим папкам Портатора. Причём никто не запрещает назначить соответствие, статьи по каким темам нужно брать с каких доноров, и куда именно их помещать. Это универсальный механизм формирования самозаполняющегося ресурса. При желании можно объединить в нём узкотематическую информацию со всего Инета, и получить небывалый респект у поисковых систем.

Функционально алгоритм наполнения контентом выглядит так:

  1. Каждые 12 часов Портатор наносит визит на страницу со списком новостей донорского ресурса, и получает там листинг статей, присутствующих в этом списке.
    Как вариант, смотрится RSS лента, если донор оборудован таковой.
    Обратите внимание, что листинг не равнозначен самим документам.
    Получение листинга новых статей не равнозначно забиранию самих статей.

  2. Листинг статей сверяется с документами, уже присутствующими в базе Портатора.
    Вновь появившиеся статьи заносятся в очередь на импорт.
    Уже присутствующие в индексе портатора игнорируются.

  3. По срабатыванию крона, либо при движении серфера по сайту (если крон недоступен) скрипт импортирует очередной документ в очереди на импорт, и по его заголовку определяет, уникальный он, или уже содержится в базе Портатора.
    Не уникальность документа может проистекать из-за дублирования информации различными донорами. Понятно, что повторяющиеся статьи нам не нужны- оставляется лишь одна из них, с отсевом дубликатов.

  4. Импортированный документ тут же передаётся в работу, становясь доступным для наблюдения в файловой структуре Портатора как серферу, так и ботам поисковых систем. Ресурс наращивает свой объём постепенно, как и подобает сайту.

  5. Раз в сутки Портатор сотворяет отчёт о вновь добавленных документах, и отсылает на мыл админу для контроля. Админу не нужно ежедневно посещать сайт Портатора, и пересчитывать статьи внутри каждой категории по головам, пытаясь вспомнить, сколько их тут было вчера.

  6. Для полноты картины Портатор ведёт статистику посещений, отмечая в ней каждый визит серфера и бота поисковика, а также протоколируя все поисковые запросы, по которым на сайт Портатора поступал поисковый трафик. Статистика доступна для анализа в текстовом и графическом виде, по каждому поисковику отдельно.

Сразу обозначим то, что очень часто не понимается:

Автор технологии постоянно получает письма типа: "Я записал в сеттингах донорским сайтом страничку Папы Римского, а скрипт на меня ругается. Ладно, патриотично прописываю сайт Вовы Путина- то же самое. Чего делать?"

Отвечаю ярко красным: вы можете брать контент только с тех ресурсов, для которых у Вас есть сигнатуры.

Если Вам хочется брать контент с произвольных ресурсов, для которых в природе вообще нет никаких сигнатур, то Вам нужен не портатор, а сплог. Тогда Ваш путь пролегает в другую сторону- Splog.name

Это тоже зачастую остаётся не понятым:

Видимо, пункты с раз по три данного раздела не осознаются. Давайте изложим их доступно пониманию:

  1. Портатор смотрит за обновлением донорского ресурса периодически.
    Если там появился новый артикль, это не значит, что он тут же появится и у Вас.
    Портатор производит рекогносцировку два раза в сутки. Не чаще.
    И именно в этот момент модуль синхронизации выдает в браузер:
    Loaded list of XX new articles.
    Обратите внимание- получен ЛИСТИНГ новых артиклей.
    Не сами артикли- это потом.

  2. Рекогносцировка также не подразумевает, что всё, что на доноре замечено нового, тут же попадёт в Портатор.
    Скрипт просто отметит, какие новые артикли по нужной теме появились.
    Не царское это дело, взваливать их на плечи и тащить до хаты.

  3. Когда разведка произведена, и стало ясно, чего, сколько и откуда надо тащить, только тогда приходит черёд потаскуна. Именно тогда контент переносится с донора в Портатор. И именно в этот момент модуль синхронизации рассказывает про то, что
    parsing of article ... -
    и далее, добавлен он или нет. И если нет, то почему.

Почему пункт раз выполняется, а до третьего пункта дело не доходит?

Ваш портатор может содержать уйму сигнатур с тьмой открытых категорий в каждой из сигнатур. Их так много вовсе не для того, чтобы организовывать копию донорского ресурса у себя- читайте вот этот пост моего блога: Хаос минус один и понимайте, что тематический сайт- это то, что доктор прописал. Если вебмастер это понимает, то проблем не имеет.

Если понимание напрочь отсутствует, вебмастер берет сигнатуру с 300 категориями, и тупо делает все категории активными, то на этапе из пункта раз (синхронизация категорий) он имеет 300 срабатываний Крона, ушедших на утаскивание списка артиклей в каждой категории донора на текущий момент.

Теперь допустим, что вебмастер заставил Крона срабатывать раз в пять минут. Это означает, что все категории на предмет синхронизации списка артиклей скрипт обойдёт за 25 часов. Однако синхронизацию велено проводить раз в 12 часов, и так получается, что скрипт только тем и будет занят, что станет непрерывно обходить все категории донора, и смотреть, что в них новенького.

Пункты раз и два выполняются. Но не три- при указанной частоте сработки Крона дело до импорта артиклей не доходит.

Как же часто тогда нужно запускать Крон?

Помножьте среднее число новых артиклей в каждой категории донора, появляющихся там ежедневно, на число открытых категорий. И прибавьте к этому удвоенное число открытых категорий. Вот столько раз в сутки нужно отправить Крона на урл синхронизатора, чтобы успешно утащить к себе всю новую информацию.

Можно сказать и иначе- удвоенное число открытых категорий- вот именно столько сработок Крона в сутки спалится на обновление листинга артиклей. Что останется сверх того, то уйдёт на утягивание контента самих статей.

Пожалуйста, читайте данный мануал вдумчиво, с первого раза понимая, что в нём говорится.