20июня
2007

Как вывести список наиболее релевантных записей?

Есть такой замечательный популярный плагин для WordPress - Related Posts (за авторством Alexander Malov и Mike Lu), который предназначен для отображения списка релевантных постов, подходящих по теме для выбранной записи. Как правило, он (список) располагается сразу же после текущей заметки, дабы удержать посетителя на сайте предложением прочесть другие статьи на обозначенную тематику.

Да, это подходящий плагин. Да, он решает свою задачу. Но! Он решает эту задачу, по моей приблизительной оценке, не более, чем на 30%. И в этом его существенный минус.

Почему такая низкая оценка?

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

Хочу Вас обрадовать - нашелся разработчик, который представил публике усовершенствованный плагин Related Posts (за основу был взят оригинал). Протестировав его, я пришел к выводу, что эффективность (релевантность списка) повысилась до порядка 70%, что весьма не плохо.

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

Причем в данном релизе предусмотрена настройка веса ключевых слов в указанных элементах. Параметры находятся в районе 65-70 строк файла related-posts.php:

  1. $w = array(
  2.                'title' => 2,
  3.                'name' => 2,
  4.                'content' => 1,
  5.                'cat_name' => 3
  6.               );

Примечание: с параметром 'name' => 2, имеет смысл экспериментировать, если в ссылках Ваших постов имеются ключевые слова, причем на английском языке. В обратном случае он особого значения не имеет.

Неофициальный автор плагина предусмотрел также список "стоп-слов", которые не учитываются при оценке релевантности записей. Перечень находится в 99 строке кода related-posts.php. Если есть желание, то можно русифицировать этот список.

Установка плагина

  1. Сохраняем усовершенствованный плагин Related Posts на свой ПК.
  2. Переименовываем файл в related-posts.php.
  3. Копируем его в папку с плагинами (...wp-content\plugins\).
  4. Активируем в админ-панели.
  5. Данный плагин требует добавления дополнительной таблицы в базу данных MySQL. Сделать это можно двумя способами:
    • После активации плагина зайти во вкладку Плагины -> Related Posts Options и кликнуть внизу на ссылку "this script". Вполне вероятно, что скрипт выдаст Вам ошибку: "Sorry, you must be at least a level 8 user." Чтобы избежать ее, можно закомментировать 20-ю и 21-ю строки плагина:
      1. //if ($user_level < 8)
      2.             //die ("Sorry, you must be at least a level 8 user."); // Make sure that user has sufficient priveleges
    • Ежели поступать по-другому, то нужно импортировать в базу данных Вашего wp-сайта следующую таблицу:
      1. ALTER TABLE `wp_posts` ADD FULLTEXT `post_related` (
      2.     `post_name` ,
      3.     `post_content`
      4. )

Использование плагина

Для вывода списка релевантных записей, используется следующий код:

  1. <?php related_posts(); ?>

К сожалению, мне никак не удалось заставить работать параметры, указываемые прямо в этой функции. Но это дело легко поправляется через страницу настроек плагина (Плагины -> Related Posts Options).

Вот что означают параметры:

  • How many related posts would you like to show? - сколько постов отображать в списке.
  • Before / After (Post Title) - html-код до и после заголовка поста.
  • Show excerpt? - показывать ли анонс поста.
  • Excerpt length (No. of words) - длина анонса (количество слов).
  • Before / After (Excerpt) - html-код до и после анонса поста.
  • Show password protected posts? - отображать ли защищенные паролем посты.

Хотелось бы в комментариях "услышать" мнение и опыт читателей по следующим вопросам:

  1. Какие плагины релевантности постов используете Вы и насколько они эффективны?
  2. Если Вы уже экспериментировали с данной версией плагина и "игрались" с параметрами веса ключевых слов, какое их сочетание стало для Вас наиболее результативным?

Эта запись опубликована в Среда, 20 июня 2007 г. в 21:49 в рубрике Плагины для WordPress. Вы можете получать обновления комментариев к этой записи с помощью RSS 2.0. Также можно оставлять комментарии или trackback с вашего сайта.

автор: Dimox

Комментариев: 53 »

  1. :

    Действительно полезный плагин. Спасибо за грамотное разъянение. Правда, к сожалению, ничего не могу сказать о других плагинах, потому как к WordPress только присматриваюсь.

    Беру на заметку!

  2. :

    Спасибо, хороший плагин

  3. :

    ////Ежели поступать по-другому, то нужно импортировать в базу данных Вашего wp-сайта следующую таблицу:...
    Как это сделать и где?

  4. :

    Таблица импортируется через phpMyAdmin в админ-панели хостинга.

  5. :

    Классный плагин, спасибо!

  6. :

    Гранд мерси :)
    Очень полезный пост,
    все грамотно расписано.

  7. :

    Статья хороший, и плагин полезный. Спасибо за разъяснения!

  8. :

    Можно попробовать выводить релевантные посты при помощи плагина Ultimate Tag Warrior. Анализируются похожие теги.

  9. :

    Опробуем, спасибо

  10. :

    Анализаторы качества поиска...

    Андрей Иванов от лица компании "Ашманов и Партнеры" представил сайт Analyzethis.ru, на котором собраны все разработки компании по анализу качес...

  11. :

    Посоветуйте пожалуйста плагины под ВордПресс для оптимизации под поисковики и увеличения трафика, например трансляция блога на ЖЖ.

  12. :

    Очень интересно, будет хорошо, если этот плагин действительно будет давать достаточно релевантные ссылки, а то я постоянно забываю указывать похожие посты.

  13. :

    А как бы сделать, чтобы в плагине анализировались еще и теги?

  14. :

    Feelov, этого плагин, к сожалению, не умеет.

  15. :

    Покой нам только снится...

    Нашел себе новое занятие. Если прошлой зимой я зависал в WoW по вечерам, то этой буду зависать на подмосковных горках, катаясь на сноуборде. ...

  16. :

    Скажите, а этот плагин (усовершенствованная версия) может искать по русским словам в постах? Или, как и оригинальный Related Posts, он работает только с английскими словами? Нет ли какой-нибудь доработки с полнотекстовым поиском по-русски?

  17. :

    Катя Куликова, да, эта версия работает и с русским. Я бы не сказал, что работает на отлично, но хорошо - это точно.

  18. :

    установил, на месте вывода появляется

    WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1] SELECT ID, post_title, post_content,MATCH (post_name, post_content) AGAINST ('xxxx xxx') AS score FROM bblogs_posts WHERE MATCH (post_name, post_content) AGAINST ('xxxx xxx') AND post_date = '2007-11-22 01:08:31' AND (post_status IN ( 'publish', 'static' ) && ID != '459') ORDER BY score DESC LIMIT No related posts
  19. :

    Delpher, это скорее всего из-за того, что вы не выполнили 5-й пункт процесса установки.

  20. :

    А куда вставлять этот код ?
    Че то пробовал, так и ненашел куда его сувать...

  21. :

    () я имею ввиду

  22. :

    Да блин, вот этот [?php related_posts(); ?]

  23. :

    Этот код вставляется в то место, где нужно вывести список похожих записей.

  24. :

    Мне надо вставить, чтобы он выводился после каждой статьи, как это и в каком файле сделать?

  25. :

    В таком случае код нужно вставлять в файлы index.php, single.php, archive.php, search.php. Вставляется под кодом поста.

  26. :

    Разместил у себя на сайте, "релевантность" - не доволен, может быть сейчас статей для выбора мало. В любом случае, очень полезно, когда под постом формируются ссылки на дополнительные материалы проекта.

    В ворпрессе версии 2.2.3 надо добавлять в файлы:

    1. "Архивы" под строкой:

    2. home.php под строкой:

    3. "Основной шаблон" под строкой:

    4. "Шаблон страницы" под строкой:

  27. :

    сорри, строки PHP кода порезались, короче, ищите в шаблоне строку с текстом: "Читать полностью", под этой строкой и вставляйте вызов функции с релевантными комментариями.

  28. :

    Недавно веревел этот плагин на русский язык, возможно читателям этой записи будет интересно: Related Posts 2.04. Русская версия

  29. :

    с новой версией worpress отказывается работать, при активации пишет:

    Plugin could not be activated because it triggered a fatal error.

    кто нибудь знает как вылечить?

  30. :

    в новой версии работает такой
    http://fairyfish.net/2007/09/12/wordpress-23-related-posts-plugin/
    ну он не так хорошо как вышеописаный работает

  31. :

    LCD, я использую этот плагин на версии 2.3.2 и никаких проблем не наблюдаю. Причина, скорее всего, в чем-то другом.

  32. :

    страно, рядом просто стоят блоги не обновленые до 2.3.2 и на них все ок, а на обновленом не хочет..
    надо разбираться тогда.

  33. :

    Поставил этот плагин на новый блог. Пока существует всего 2 записи: "Привет мир!" и "Привет тебе, Мир!". По идее у каждого из них второй должен указываться как схожий... Но у меня просто пишет "no related posts"(( Подскажите, пожалуйста, в чем проблема?

  34. :

    Спасибо за статью. Очень помогла. Прикрутил этот плагин к своему блогу.

  35. :

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

  36. :

    Полностью был выполнен пятый пункт, т.е. и 20 и 21 строчки прописаны и в базу импортировано. Но почему-то плагин не работает??? В чем может быть проблема?

  37. :

    У меня все ок - работает - сенк

  38. :

    Очень хороший плагин, спасибо что рассказал как использовать. Поставил на блог - нарадоваться не могу!

  39. :

    Хорошо легла. Даже не пришлось в БД лезть. Хороший плагин, правда с определением релевантных постов слабовато.

  40. :

    Огромное спасибо за плагин.
    Ко всем его полезностям можно прибавить увеличение количества страниц блога, что благоприятно скажется на его монетизацию в сапе...

  41. :

    Спасибо, как раз искал плагины.

  42. :

    А у меня вот какой вопрос по плагину: Заголовки постов у меня выводит плагин всё в одну строку. А как сделать, чтобы он выводил каждый заголовок с новой строки? Спасибо!

  43. :

    Ну это же в настройках написано. Введите теги списков / и будет списком

  44. :

    Да-да... Уже сообразил, всё получилось. Спасибо!

  45. :

    А есть ли похожий плагин, но который будет выводить не только записи одного блога, но и других, выбранных тобою в настройках?

  46. :

    А есть ли похожий плагин, но который будет выводить не только записи одного блога, но и других, выбранных тобою в настройках?

    Да интересная была бы реализация, да и перелинковать таким образом блоги.

  47. :

    Я такого не встречал.

  48. :

    а как сделать чобы показывались ссылки на другие статьи только из той рубрики, в которой сейчас эта запись?

  49. :

    а как сделать (изменить этот плагин), чтобы выводились посты конкретного автора?
    Например, открываю статью, а под ней выводится список других статей данного автора..

  50. :

    я использую Simple Tags, он достаточно ощутимо упрощает работу с тэгами... и кроме того умеет выводить Related Posts (причем, не только в записях - но и в фиде). Неплохо настраивается.

    Единственная проблема, которую я не могу решить - мне нужно, что бы Related Posts вставлялся после меты (метки, трэкбеки, рсс), а он отрабатывает на фильтр the_content.
    Не знаете, как сделать?

  51. :

    и еще хотел спросить, как можно сделать, вот как у вас на блоге с комментариями: что бы можно было по клику вставлять в форму ник, и что с кнопочками кодов ?

  52. :

    и еще хотел спросить, как можно сделать, вот как у вас на блоге с комментариями: что бы можно было по клику вставлять в форму ник, и что с кнопочками кодов ?

    WP-CAL - http://a-bishop.com/wordpress/
    WP Comment Quicktags Plus (ссылку не знаю)

  53. :

    Использую Simple Tags, а в нем связные посты, работает на все 100%, бо ручками метки проставляю :)

 Оставить комментарий



 

Разрешенные тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>