Работая над усовершенствованием системы комментариев в блоголёте, пришел к выводу, что необходимо отделить пингбеки от комментариев. Сейчас они визуально отделены. Осталось еще и данные развести. Все же это дурное наследие wordpress, где комментарии свалены в одну кучу. Например для пингбека отсутствует e-mail, и в блоголёте я сделал отсутствие самого коммента, по простой причине: то, что например пытается делать wordpress, вырезая фразу около ссылки, меня никогда не устраивало, ибо там бывает зачастую плохочитаемый мусор. Я решил, что вполне достаточно прямого линка.

Далее: приходится постоянно отфильтровывать пингбеки от обычных комментов, когда как проще было бы вообще не фильтровать. Далее, в существующей модели адрес пинга добавлялся к авторам комментов, хотя по своей сущности адрес пинга не является автором. Для пингбеков следует отказаться от двухзвенной структуры данных (это когда текст комментария и автор хранятся в разных таблицах). Думаю, что в файловой версии достаточно будет хранить пингбеки в той же папке где пост и комментарии - файл будет называться pingbacks. Также в этой папке будет и сырой контент комментов - сейчас в файловой версии все в одном месте, что минимум на треть увеличивает размер файла.

Далее я задумался о менеджере комментариев. В файловой версии хранятся все индексы комментов и id постов. Думаю от этого отказаться, а в менеджере хранить последний id и еще id еще не одобренных комментов. Либо сделать еще более строгую модель - неодобренные комментарии хранятся все в одном месте, и только после одобрения будут добавлены в список комментов к посту. Удаление же комментариев к посту сведется к банальному удалению файла comments.php в папке поста. И соответственно удаление поста не потребует симметричного удаления комментов в менеджере, но разве что останется по прежнему удалять из неодобренных (задержанных = hold).

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

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