Related posts и русский блог
Один из наиболее востребованных плагинов для WordPress.
Идея в том, чтобы автоматически (”на лету”) создавать большое число качественных внутренних линков для привлечения посетителей в глубину сайта.
Преимущества очевидны:
- Интерконнект.
Когда блог концентрируется вокруг узкого круга тем, неизбежно будут появляться статьи, дополняющие написанное ранее. Можно, конечно, по памяти включать ссылки на старые материалы, но лучше, когда это происходит автоматически. К тому же, автоматические ссылки будут появляться и на старых страницах. - Рецикл (повторное использование) накопленных материалов сайта.
Обычно, архивные статьи имеют плохую видимость и, пожалуй, единственным для них выходом на читателя являются внешние поисковые системы. - Увеличение количества показов страниц на посетителя в среднем.
- Начинающий блоггер может использовать блоки “Статьи по теме” (”Related reading”) как модель рекламных блоков и детально изучить различные аспекты их применения и эффекта.
- Даже для популярного сайта эта технология весьма полезна.
Вспомните, например, сколько эфирного времени платные телеканалы (т.н. “Премиум ТВ”, которое продвигается как commercial-free, т.е. “без рекламы”) уделяют саморекламе в виде анонсов и описаний своих сериалов и программ.
Тема настолько горячая, что уже появилось несколько реализаций плагина. Рекомендую обратить внимание на Similar Posts, хотя в определённом смысле все реализации схожи – они основаны на конструкции SQL
SELECT ... MATCH ... AGAINST ...
Вот тут-то славянско- украинско- русского пользователя WordPress и поджидает сюрприз.
Дело в том, что традиционно WordPress использует систему управления базами данных исключительно для хранения данных. Вся обработка производится в среднем ярусе (middle tier) – PHP скриптах-сценариях. Когда-то это было довольно инновационно, по сравнению с хранением данных в файлах, но теперь пришло время и для WordPress переходить на трёхуровневую схему – всё больше и больше необычайно мощных и полезных функций реализуется в свободно распространяемой СУБД MySQL. Функция контекстного сравнения строк является, пожалуй, самой “коммерческой” функцией серьёзных СУБД и оставаться в стороне от её использования было бы опрометчиво.
Однако WordPress в стандартном варианте пока к этому не готов. Из-за присущего проекту приоритета простоты использования, WordPress получил в наследство от ранних версий конфигурацию, блокирующую корректную работу БД с языками, отличными от английского, но которая упрощала автоматизацию начальной установки системы WordPress на сервере.
Если бы программисты WordPress реализовали алгоритм контекстного поиска в ядре WordPress, то Similar Posts и родственные плагины работали бы отлично, как и весь старый добрый WordPress, но алгоритм оказался очень сложным и, самое главное, появилась его реализация в MySQL. Единственная проблема – наследственная несовместимость конфигураций наборов символов WordPress и MySQL.
Поэтому для красивой (об этом – ниже) работы Similar Posts с не-английскими языками нужно сконвертировать соответствующие текстовые колонки БД WordPress (в первую очередь колонки post_content и post_title таблицы wp_posts, но во избежание проблем, лучше конвертировать все вместе) в корректную кодировку (очень рекомендуется UTF-8) из latin1, которая по-умолчанию используется в MySQL.
Конвертирование charset в любой БД – дело, на первый взгляд тривиальное, требует понимания происходящего и определённой аккуратности. Для автоматизации процесса можно воспользоваться плагином UTF-8 Database Converter. Только имейте ввиду – если по какой-либо причине произойдёт сбой, доделывать работу скрипта придётся вручную, он недостаточно интеллектуален. Т.е. скрипт, скорее всего, не решит за вас проблему, он предназначен помочь вебмастерам, уже во всём разобравшихся и просто ленящихся сделать конвертацию БД полностью вручную.
Если вы не ощущаете особой уверенности в способности исправить вероятные проблемы – не беспокойтесь, этот этап (конвертацию БД) для начала можно пропустить.
Так и я – настолько увлёкся идеей, что установил plugin за считанные секунды и пошёл смотреть, что получилось.
Это что-то вроде программирования какой-нибудь (полу-)интеллектуальной штуковины – итерационно дописываешь пару строчек кода и с нетерпением начинаешь смотреть насколько “оно” стало умнее. Web 2.0, будучи “бета” “по жизни”, ещё больше провоцирует подобные недоделки: главное – внедрить “фичу”, а корректность её работы можно оттачивать потом.
Первое впечатление, конечно же, – восторг. Смотрю одну статью сайта, другую – чудеса, на каждой по пять новых забавных аккуратненьких ссылок, и не куда-нибудь на псевдо-новостной синдикативный портал, а на свои же страницы! (Начинаю понимать переживания хозяев Premium TV телеканалов, смотрящих рекламу самих себя на своих же каналах, за которую подписчики ещё и деньги платят.)
Но начинают бросаться в глаза, мягко говоря, несоответсвия в “рекомендуемых” статьях. Делаю скидку на то, что статей, возможно, слишком мало и алгоритм испытывает затруднения в поиске хоть чего-нибудь подходящего.
Всё же, восторг от внедрённой новой технологии не проходит, и я принимаю решение включить разграничение по категориям. Тяжелое решение, сводящее на нет половину преимуществ – продвижение материалов сайта, посетителем изначально не искомых, но необходимое, т.к. некоторые разделы сайта друг с другом совершенно несовместимы, а Similar Posts упорно продолжал рекомендовать статьи из таких противоположных разделов.
Дальше обнаружилась довольно неприятная странность, которая и подтолкнула на поиск проблемы и последующие заботы с конвертированием БД – практически никакие изменения на административной страничке параметров плагина не оказывали влияния на его функционирование.
По всей видимости, причина была в том, что слова, хранимые в БД имели формат UTF-8, в то время как БД считала их latin1, из-за чего длинные, в обычных условиях уникальные слова разбивались на множество маленьких фрагментов (многие элементы кодировки UTF-8 воспринимаются как разделители слов, если их интерпретировать вне контекста кодировки) и база данных наводнялась многократно повторяющимися которткими неинтересными “словами”.
Т.е. если оригинальный текст состоял из тысячи русских слов, из которых 200 могло быть разных, система контестного поиска, работая в “неправильной” кодировке, могла воспринимать его как набор из 30 разных, очень часто повторяющихся слов.
Грубо говоря, “похожие статьи” рекомендовались не по совпадающим словам, а по совпадающим слогам.
Тем не менее, даже если бы не удалось победить “словарную проблему”, Similar Posts лучше, чем ничего.
Во многих популярных темах WordPress читатель, прочитавший статью, подходит, буквально, к концу сайта – ссылку на домашнюю страницу он уже видел, да и был там, ссылки на RSS и подобные фокусы мало кем воспринимаются всерьёз, список разделов сайта часто отсутсвует на стриницах индивидуальных постов.
Поэтому плагин Related Posts или Similar Posts вполне можно рекомендовать и начинающим пользователям WordPress, с той лишь оговоркой, что вместо претенциозного заголовка блока “Статьи по теме” следует писать что-то пообыденней – “Случайные статьи”, или уж совсем прямолинейно – “Реклама”.




May 8th, 2008 2:58pm
Спасибо за плагины, давно искал. Хорошее и подробное описание.
May 27th, 2008 11:00am
А Виктор спамер, он и у меня на блоге уже заспамил, я лично же искал этот плагин и успешно установил. Спасибо за описание
May 28th, 2008 9:03am
[...] того, что капчу вводят, так ещё и стали читать посты и предыдущие комментарии и писать свой спам в [...]
August 8th, 2008 4:03pm
И от меня спасибо большое
February 6th, 2010 5:58pm
Особенное спасибо авторам за подробное описание.Даже чайнику вроде меня помогло!
March 21st, 2010 2:41pm
и стали читать посты ?
March 23rd, 2010 12:26am
Как ни странно, стали меньше читать
Статистика:
Июль 2007 – 2.33 страницы/визит, 75% визитов имели продолжительность до 30 сек.
Сентябрь 2007 – 1.64 страницы/визит, 78% визиты до 30 сек.
(В августе был этот пост написан, и где-то в то же время установлен плагин)
Правда, количество уникальных посетителей в сентябре было в 3.5 раза больше, чем в июле