Линкуем текст в контекст.

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

Но текст линковать жуть как хочется. И уже прямо сейчас. Чтож, значит придется линки ставить вручную. 

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

Чуть покопавшись по блогу и поиграв с поиском понял, что самыми релевантными страницами будут... страницы результатов поиска! Судите сами:

  • там чаще всего встречается искомое слово
  • там ключевые слова окружены нормальным текстом (вырезками статей)
  • там они выделены
  • ... (тут впишите остальные прелести)

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

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

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

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

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

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

Теперь о том, нафиг это нужно. Точнее, "нафиг нужно" уже обсуждалось в начале поста. Так что лучше о том, как ее испрользовать.

А очень просто!

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

Ну и так далее, пока не залинкуете все нужные вам слова.

Теперь пара мыслей и замечаний.

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

Ну и наконец о том, как все это поиметь на своем блоге. Это тоже очень просто.

  1. Качаем архив
  2. Распаковываем его в папку data/php_pages
  3. Заходим в папку data и добавляем в конец файла settings.php такую строку:
    include "data/php_pages/srch.inc";
    Она должна находиться перед символами ?> Это важно!
  4. Все.

 Теперь, если вы обратитесь к странице finder.html своего блога, то получите ту самую форму поиска.

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

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


03 ноября 2008, 22:06
Спасибо!
Вот спасибо! Отличный скриптик!

Чего ещё не хватает в Ласто-блоге так это уведомлений на мыло о комментах...

Lex Nevermind =email=
Надо покопаться, возможно что и это упущение можно исправить. Точно пока не скажу - будем посмотреть.
Admin of fit-media.com
05 ноября 2008, 02:49
Уведомления
Если можно то сделайте скриптик чтобы посылал уведомления на е-майл. Буду очень благодарен. Спасибо

Василий =email=

Адрес заметки: http://fit-media.com/post_1225483176.html


Если вы не можете отправить комментарий, то прочтите как это исправить здесь

Обязательные для заполнения поля помечены карандашом.


Ваш комментарий к статье:
cod

email при указании не будет опубликован.
Адреса с http:// преобразуются в ссылки автоматически.
Для этого отделяйте их от текста ПРОБЕЛАМИ с обеих концов.
Теги запрещены.

Этот сайт полностью окупает себя, хотя его ТИЦ=10, а PR=2. Хотите знать, как он это делает? Хотите чтобы Ваш сайт чарез пол-часа тоже начал на полном автопилоте приносить деньги?
Регистрируйся здесь и здесь и начинай получать деньги со своего сайта!