WordPress: настройка связанных сообщений

WordPress

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

Кроме того, я был очень удивлен, что плагин «Похожие сообщения» предоставил только список связанных сообщений. до пост, который вы читаете! Что, если вы передумаете (как я часто это делаю!)… Не следует ли вам также предоставлять сообщения, которые были выпущены после оригинала, но все еще связаны?

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

. «И post_date> = '$ now'» до (ОБНОВЛЕНО: 11):. «И post_date! = '$ Сейчас'». «И post_date <= CURDATE ()»

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

. "И post_author! = 4"

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

Преимущества отображения связанных сообщений

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

Связанные сообщения - это не просто SEM инструмент, хотя. Связанные сообщения - это инструмент для удержания пользователей на вашем сайте. Они могут не найти то, что искали там, где приземлились, но если вы предоставите им дополнительные рекомендации, они могут остаться!

20 комментариев

  1. 1

    Классный трюк. Я не понимал, что «Связанные сообщения» выбирают только предыдущие записи блога… Мне придется отредактировать плагин. Спасибо за внимание и инструкции 🙂
    …и счастливого Нового года!

  2. 2

    Хороший прием - хотя лично я использую простые теги для связанных сообщений на основе тегов, но я полностью согласен с тем, что связанные сообщения являются обязательными.

  3. 3

    вау .. это изящный трюк. Несмотря на то, что у меня нет плагина постов, связанных с васаби, у меня есть плагин Simple Tags для связанных постов, и я предполагаю, что он должен использовать то же условие postdate <. Спасибо за совет, позвольте мне проверить код моего плагина и посмотреть, смогу ли я настроить его для получения лучших результатов.

  4. 4

    Chandoo, Simple Tags не использует условие postdate - я считаю, что он создает связанные сообщения в реальном времени при каждом просмотре страницы (если у вас не включен кеш). Это не самая эффективная вещь для сервера, но это означает, что он получит лучшие совпадения, независимо от того, были ли они опубликованы до или после просматриваемой публикации.

    Дуг - извините, что немного отклонился от темы ...

  5. 6

    Отличный пост! Но я хочу выбрать несколько гнид.

    Ваше оправдание для "(не) присоединение к другому столу" так как:

    это может снизить скорость, с которой отображаются эти результаты, и замедлить время загрузки

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

    Соединение SQL, о котором вы говорите, при условии, что у вас есть разумные индексы, увеличит время ответа не более чем на микросекунд. У вас должны быть тонны трафика, прежде чем кто-либо заметит разницу даже в полсекунды. Теперь да, если вы заставите себя, вы можете написать настолько глупый код SQL, который будет работать ужасно, но дополнительное соединение с ключевыми данными не является примером этого.

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

    JMTCW. В противном случае продолжайте в том же духе. 🙂

    • 7

      Привет Майк!

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

      Я также сказал, что это может влияют на производительность. Я не стал тестировать или пытаться, потому что в этом не было необходимости, учитывая способ, которым я оптимизировал плагин. Еще раз - я получил 100% необходимой мне функциональности без объединения, добавления индексов и т. Д. Это правильное решение в моей книге.

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

      PS: Исправлено редактирование! 🙂

      • 8

        @ Дуглас: Я не уверен, что согласен. Я не оптимизировал раньше времени? Еще раз - я получил 100% нужной мне функциональности без объединения, добавления индексов и т. Д.

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

        Это похоже на то, как бухгалтер или юрист говорит владельцу бизнеса: «Я бы не стал этого делать», А владелец бизнеса, не вникая во все разветвления, которые профессионалы осознают как« потенциальные », игнорирует их советы, потому что они кажутся слишком большими, и продолжает двигаться вперед. Видит Бог, я был владельцем этого бизнеса в прошлом и продолжал идти вперед вопреки всем советам, хотя позже это было очень важно. 🙂

        @Douglas: Я с подозрением отношусь к повторной публикации плагинов,…

        Нет, я не совсем это говорил. Я говорил, что, поскольку это открытый исходный код, вы можете передать свои изменения исходному автору, и они примут его, и вы можете сделать это проактивно, связавшись с ним и предложив. В настоящее время я работаю консультантом по маркетингу и разработчиком веб-сайтов для нишевых издателей печати и использую Drupal для веб-технологий, и сообщество Drupal всегда связывается с авторами плагинов (Drupal называет их «модулями») и предлагает помощь в улучшении других модулей.

        Просто мысли.

        PS Спасибо за исправление редактирования.

        • 9

          Хорошие моменты, Майк!

          Я могу повозиться с плагином, чтобы добавить эту опцию «Отображать сообщения только до отображения сообщения». Я думаю, что второй вариант более проприетарный для моего блога, но я проверю и посмотрю, он может быть интересен автору.

  6. 11
  7. 13

    Дуг, возможно, я что-то упускаю. Кажется, что

    AND post_date <= '$now'

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

    Надеюсь, что это имеет смысл, и спасибо за отличный блог.

  8. 15

    @Mike: Ну, я думаю, в этом разница между тем, кто смотрит на программирование с точки зрения совершенства профессии и ремесла, и кем-то, кто практикует, просто пытается что-то сделать.

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

    Я стремлюсь сделать минимум, чтобы достичь цели, которую я пытаюсь достичь. Тратить больше времени было бы нерентабельно.

    Короче говоря, если бы эта потеря эффективности не была заметна в моем блоге, я бы не стал тратить дополнительное время. Если это заметно, я бы решил, стоит ли дополнительное время результата. Совершенство - не всегда лучшее решение.

    • 16

      @ Дуэйн: Я стремлюсь сделать минимум, чтобы достичь цели, которую я пытаюсь достичь. Тратить больше времени было бы нерентабельно.

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

      @Dwayne: Короче говоря, если бы эта потеря эффективности не была заметна в моем блоге, я бы не тратил лишнее время. Если это заметно, то я бы решил, стоит ли дополнительное время того, чего стоит. Совершенство - не всегда лучшее решение.

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

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

      Тратить больше времени на производительность? Ба, вообще не нужен. Тратить дополнительное время на ремонтопригодность? Да, в конечном итоге это часто окупается.

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

  9. 17

    Я должен сказать одно; Я действительно думаю, что хак Дуга был бы хорошим дополнением к WordPress, по крайней мере, в качестве пользовательского варианта. Кажется довольно глупым ограничивать связанные сообщения только теми, которые были ранее.

    ТАКЖЕ, я хотел бы попросить Дуга писать о том, как публикуются его ежедневные сообщения с del.icio.us; это была бы интересная тема.

  10. 20

Как вы думаете?

Этот сайт использует Akismet для уменьшения количества спама. Узнайте, как обрабатываются ваши данные комментариев.