• Главная
  • Оглавление
  • Обратная связь
  • Лента RSS
  • Правила
Что здесь уже нашли

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

31 октября 2008, 15:59

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

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

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

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

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

Но Вадим - автор скрипта блога, к величайшему сожалению, не предусмотрел возможности получить адрес страницы с результатами поиска по определенному слову или сочетанию - прямого линка туда не существует, попасть можно только отправив 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 своего блога, то получите ту самую форму поиска.

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

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

Тэги: php, скрипт, внутренняя перелинковка, генерация страниц, тэги, ссылки

№ 1: Спасибо!

Вот спасибо! Отличный скриптик!

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

Lex Nevermind (03 ноября 2008, 14:06)
№ 2:

Надо покопаться, возможно что и это упущение можно исправить. Точно пока не скажу - будем посмотреть.

Admin of FIT-Media Blog
№ 3: Уведомления

Если можно то сделайте скриптик чтобы посылал уведомления на е-майл. Буду очень благодарен. Спасибо

Василий (04 ноября 2008, 18:49)
№ 4: Уведомления

А разве уведомления не приходят?
У меня всегда приходит письмо, если кто-то коммент оставил, приходит текст коммента и варианты: разрешить или нет, или я не совсем понял...
Вот чего мне не хватает в ласто блоге - сделать по умолчанию страницу поста с комментариями -так было бы удобнее, и в форму комментариев добавить поле "сайт"
Я раньше вордпресом пользовался - коменты чаще были, а как на ластоблог перешел -посещаемость выросла а коментов меньше - люди любят ссылочки лепить :-) вот и я прилеплю...
http://rodovoe-pomestye.ru/blog/

Валерий (16 апреля 2009, 11:16)
№ 5: Уведомления

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

Админ (16 апреля 2009, 12:54)
№ 6: память

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

Kudesnik (08 июня 2009, 13:19)
№ 7:

Это не из-за тэгов. Сама страница (без графики и CSS) весит всего 15 кБт, а 15 метров жрет скрипт на сервере для ее построения. Видимо парсит большое количество больших файлов.
.
Память замерить можно (как я уже писал здесь: http://fit-media.com/comment_1243946280.html ) с помощью php-функции memory_get_usage(TRUE). Она возвращает количество (на момент вызова) съеденной скриптом оперативки в байтах.

Admin of FIT-Media Blog
№ 8: в новом движке блога

Отличная находка для грамотной перелинковки! Но вот хотел узнать, в новом движке от Ласто (тот который Pepetun), алгоритм работы такой же? Сделал всё, как указал автор, в адресной строке браузера появляется как бы всё правильно (типа my-site.com/srch_45rtfrgc6fg.html), но кажет страницу с индексом контента. Блог расположен в папке (my-site.com/blog/), может чего надо добавить в srch.inc? Пути, или ещё чего? Можете подсказать? А то с php я на ощупь ((

Сергей (29 января 2010, 11:00)
№ 9:

Ну тут все просто. Раз блог находится в папке, то и пути должны вести в папку. Правим файл srch.inc (измененя выделены жирным и подчеркнуты):

  1. Строку if(strpos($_SERVER['REQUEST_URI'], 'srch_')===1)
    меняем на if(strpos($_SERVER['REQUEST_URI'], '/blog/srch_')===0)[/l i]

  2. ниже по тексту
    array('/srch_', '.html')
    меняем на
    array('/blog/srch_', '.html')
  3. и наконец в самом конце
    '/search.html'
    меняем на
    '/blog/search.html'
    или на просто
    'search.html'
    тоже должно работать.

Admin of FIT-Media Blog
№ 10: Вопрос

Такой вопрос. Возможно ли задействовать поиск за пределы блога. К примеру сайт построен на движке наноCMS и имеет вложеную папку /blog/ с которой и будет работать скрипт на базе блога?

виталий (18 февраля 2010, 05:31)
Адрес заметки: http://fit-media.com/post_1225483176.html
Ваш комментарий к статье

 cod


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

Календарь

октябрь, 2008
пн вт ср чт пт сб вс
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Меню

  • Главная страница
  • Оглавление блога
  • Лента новостей
  • Обратная связь
  • Правила блога

Анонсы по темам

  • Все посты блога
  • С миру по нитке
  • Мысли вслух
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Категории

  • Все посты по порядку
  • С миру по нитке
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Сервисы

  • Поиск по блогу
  • Поиск по всему сайту
  • Шпионское досье

Реклама


Стоимость сайта

Мой вебсайт стоит 865 404,18 руб

Статистика

    Widgetize!
  • Время работы: 0,01597 сек.
  • Память: 4 864 кБт
  • Статистика привратника
Copyright FIT-Media.com, © 2007-2012
Главная | Общее оглавление | Обратная связь | Правила блога | Лента RSS