29.06.2016

Первая версия плагина


Кэширование страниц

В плагин встроен механизм сжатия страниц gzip. При первом обращении к странице она архивируется в gzip и сохраняется на диск. При повторном обращении отдается сразу заархивированная страница, при этом WordPress даже не запускается. Это эксклюзивная функция, во всех других плагинах кэширования для отдачи кэша все равно происходит запуск движка WP, а это отнимает очень много драгоценных ресурсов и времени. У такого кэша есть своя особенность, он не обновляется и не имеет срока годности. Такой подход позволяет отдавать кэш быстрее чем если бы это даже был статичный html.


Кэш базы данных

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


Уменьшение нагрузки

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


SEO и оптимизация

Плагин обладает богатыми настройками SEO оптимизации. Позволяет перезаписывать заголовки страниц (title), автоматически создавать описания (description), очищать заголовки удаляя различные неиспользуемые теги. Так же есть возможность управления индексацией структуры, можно закрывать от индексации (noindex, follow) страницы архивов, категорий, меток и т.д. для избежания дублирования контента. Так же есть функция, которая позволяет грамотно наследовать траст предыдущего домена, если сайт расположен на дроп домене.

Транслитерация ссылок актуальна для сайтов с кириллическим содержимым (аналог плагина rus to lat advanced). Функции для работы с темами позволяют автоматически активировать первую найденную в папке с темами тему, удалять копирайты из шаблона в виде исходящих ссылок на сайты авторов, удалять комментарии из html, в том числе html копирайты других плагинов, а так же сжимать html (минифицировать) для увеличения скорости загрузки (в самом конце страница еще сжимается в gzip).


Функционал сайта

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

В d этот вопрос решен кардинально - все статьи публикуются в обход встроенного в WP механизма публикации одним запросом к БД. Такой подход накладывает свои ограничения, например, не будет происходить пинг новый статей, но это снимает нагрузку и при массовом использовании спасает сервер от перегрузок.

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


Виджеты

Плагин так же позволяет выводить автоматически генерируемые виждеты, которые подойдут для дорвеев. Это замена стандартным виджетам с автоматическим выводом в шаблон в случайном месте. Виджеты так же оптимизированы для быстрой работы. Доступны виджеты поиска, меню, случайных постоа и счетчика liveinternet (при первом обращении к сайту генерируется один из всех доступных на li.ru дизайнов счетчиков и в дальнейшем используется на сайте).


IFrame

В плагине так же есть функция для вывода iframe поверх сайта. Эта функция конечно же используется на дорвеях. Особенность реализации в том, что js, который выводит iframe при первом обращении обфусцируется и записывается в файл и в дальнейшем используется на сайте. Таким образом каждый домен выводит iframe разным кодом. JS, который выводит iframe можно подгружать с помощью ajax, а так же перед загрузкой iframe сайт можно накрывать белым блоком (код то же уникализируется), для того, чтобы во время загрузки iframe не было видно самого сайта. Так же в iframe можно передавать в качестве параметра title текущей страницы.


Список настроек