• Главная
  • Оглавление
  • Обратная связь
  • Лента 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, скрипт, внутренняя перелинковка, генерация страниц, тэги, ссылки
Комментариев: 10

Усиливаем внутреннюю перелинковку.

30 октября 2008, 11:50

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




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

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

Но мысль пошла дальше. Вот ее-то (мысль) и хочу тут вынести на обсуждение.

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

Это простое "нововведение" позволит нам поиметь следующее:

  1. появится возможность забабахать на странице такую популярную сейчас фишку как "облако тэгов". Ссылки с облака можно будет направить либо на стандартные генерируемые блогом страницы результатов поиска по тэгам, либо на специально генерируемые (опять же статические) списки статей с такими же тэгами.
  2. можно будет встроить механизм, который будет на полном автомате парсить статьи и, если найдет в них слова, совпадающие с глобальным массивом тэгов, превращать эти слова в линки. Получим контекстные, размещенные прямо в тексте, ссылки. Куда их направить еще не решил. Либо на теже результаты поиска, либо на другие статьи с этими тэгами. Тут можно еще пофантазировать.

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

Хотелось бы услышать мнения о плюсах и минусах этой идеи. Добро пожаловать в комменты.

Тэги: внутренняя перелинковка, ссылки, тэги, ласто-блог, повышение релевантности
Оставить комментарий

Привратник-младший. Турбо-решение.

26 октября 2008, 04:08

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




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

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

Назовем сего отпрыска для простоты «Швейцаром». Да, я знаю, что у меня с фантазией туго, так что я с удовольствием выслушаю ваши варианты обзывания этого скрипта. Однако, вернемся к проблеме.

Задача.

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

И и фиг на них. Дальше речь пойдет о простом (и действенном!) способе раз и навсегда избавиться от попингуев (точнее — способе не допустить их хиты до целевого скрипта).

Суть.

Для решения поставленной задачи нужно обратить внимание на следующую мысль: фактически прямой доступ к блогу нужен только ботам поисковых систем, все остальные прихожане запросто могут попасть туда же, но не напрямки, а через лес. Говоря по-русски, для обеспечения достаточной защиты от «левых» хитов нужно всех, кроме ботов искалок слать на сайт редиректом. Всё!

Реализация.

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

Коль уж нам все равно придется копаться в юзер-агенте, то за одно можно там же отсеять нежелательных ботов, например появившегося совсем недавно паука от rulink project.

Итак, если реф пустой и вышеописанные проверки прошел, значит это — истинный бот и отправляем его на запрашиваемую им страницу — пусть себе индексит. Ежели на проверках спалился — получи фигу с татушкой «404». Ну а коли не спалился и реф не пустой, то пришла пора покопаться в содержимом этого самого рефа.

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

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

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

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

С пинго-ботами положение веселее — он на запрос получит тот же ответ, что и серфер и останется довольным, т.к. посчитает что его хит достиг цели. Однако на самом деле никакого хита никто кроме «Швейцара» не видел. Этакий извращенный клоакинг получается!

Ну в общем как-то так. Теперь о грустном.

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

  • первый хит любого серфера будет защитываться как хит с SE-искалки.
  • информация в «Друзьях сайта» больше не будет накапливаться и этот список постепенно вычистится совсем.

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

Если вас эти отрицательные моменты не пугают, то переходим к установке.

Установка

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

Тут надо сделать маленькое отступление. Дело в том, что наблюдая за поведением попингуев, была замечена «грамотная» реакция их на «код 404». Т.е. получив в ответ на очередной запрос «фигу 404-го размера», попингуи на некоторое время прекращают пинговать сайт. Оно и логично — раз пришло 404, значит либо попингуя вычислили и заблокировали, либо сервер лёг — в любом случае пинговать данный ресурс уже бесполезно.

Таким образом, було бы здорово послать «код-404» вместе в редиректом — реальный броузер выполнит редирект, а попингуй получит фигу — всем хорошо. И эта схема даже работает! Но не везде.

Любимый народный броузер Internet Explorer (в простонародье - «ишак»), как только получает 404, просто тупо игнорирует остальное содержимое страницы. В результате, если он получает сэндвич из редиректа с кодом-404, то вместо выполнения ожидаемого редиректа он радостно выводит серферу корявое окно с текстом «Страница не найдена» и умывает руки. Поэтому, для разруливания этой ситуации в скрипт введена переменная $allow404, которая управляет отправкой «кода-404». По умолчанию его отправка отключена. Но если вам важен каждый процент нагрузки сервера и плевать вы хотели на случайных серферов, пользующихся неправильными броузерами, то замените в файле pr.php строку
$allow404 = false;
на строку
$allow404 = true;

Далее. Второе, что нужно сделать — вписать домен своего блога. Делается это в строчке:
dom = 'http://fit-media.com';

Если блог стоит не в корне сайта, а, например, в подпапке 'blog', то значение должно быть таким
$dom = 'http://fit-media.com/blog';

Чуть ниже в файле идет список стоп-слов, найдя которые в юзер-агенте скрипт безаговорочно выплюнет 404. Сюда вписываем идентификаторы всяких ненужных ботов и контенто-качалок. Но будьте осторожны. Анализ идет по вхождению указанного слова в юзер-агент. Это значит, что если, например, вы впишете слово 'bot', то все хиты с юзер-агентом 'googlebot', 'rambler-bot', 'super-puper-mega-yandex-bot', 'bottom and top' больше никогда не увидят ни одной страницы вашего блога. Поэтому думайте головой. Или ничего там не трогайте.

Так, со скриптом разобрались. Сохраняйте изменения и закачивайте его на сервер в папку с блогом (это папка, в которой расположены файлы functions.php, index.php, key.php, rss.php).

Теперь, чтобы подключить скрипт к блогу, необходимо внести изменения в файл .htaccess. Настоятельно рекомендую скопировать куда-нибудь этот файл до того, как вы начнете его редакторовать. Он вам может понадобиться, если при работе «Швейцара» будут наблюдаться какие-нить аномалии или глюки. В этом случае чтобы отключить «Швейцара» вам достаточно будет вернуть родной файл .htaccess в папку с блогом.

Итак, вот содержимое файла .htaccess, который поставляется Вадимом в комплекте Lasto-Blog-B:

Исходный файл .htaccess
RewriteEngine on
RewriteRule ^.htaccess$ - [F]

RewriteRule ^(.*).shtml$ index.php?show=all
RewriteRule ^(.*).html$ index.php
RewriteRule ^(.*)/$ index.php

А вот то, что должно быть после изменения:

Модифицированный файл .htaccess
RewriteEngine on
RewriteRule ^.htaccess$ - [F]
RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*).shtml$ pr.php?show=all
RewriteRule ^(.*).html$ pr.php
RewriteRule ^(.*)/$ pr.php

После изменений сохраните файл .htaccess на вашем сервере. С этого момента все хиты к блогу будут идти через «Швейцара».

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

!!! ВНИМАНИЕ !!!
Вы используете данный скрипт на свой страх и риск. Автор не несет никакой ответственности за прямой или косвенный ущерб, нанесенный использованием данного скрипта. Скрипт поставляется незашифрованным, чтобы вы могли изучить его код или проверить на предмет внедрения вредоносного кода.

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

Дополнение

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

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

Тэги: привратник, отлов и блокировка, попингуй, ласто-блог, хиты, пинги
Оставить комментарий

Page: 04 05 06 07 08 09 10 11 12 13 14
Fast: 10 20 30

Календарь

сентябрь, 2010
пн вт ср чт пт сб вс
    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      

Меню

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

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

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

Категории

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

Сервисы

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

Реклама


pos
Голограммы и голографические - скотч с логотипом . Ищете нанесение логотипа?
Интернет-бутик Z95: винный бутик . INCITY - женская одежда.
psp 5
Ремонт ноутбуков HP. Запчасти и ремонт ноутбуков .

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

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

Статистика

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