Искать или не искать - вот в чем вопрос.
Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)
Все продукты Вадима Ласто в той или иной степени ориентированы на монетизацию. Заработок любыми средствами, удобство посетителей на втором плане - почти эталон спартанского минимализма в действии. Но жаловаться грех - хотите "рюшечек" - берите другой движок, благо их в сети навалом. И большинство даже раздаются бесплатно. Однако ж давайте поговорим о том, чем уже активно пользуемся - о Ласто-блоге и Ко.
Как уже сказано, этот софт ориентирован в первую очередь на притягивание поискового трафика, а не на номинирование в конкурсе "Мега комфорт-2010". Отсюда и весьма ограниченные удобства для пользователей. И это касается не столько владельцев сайтов, сколько посетителей. Например блог не обладает такой (практически ставшей уже стандартом для блогов) вещью как облако тэгов. И хотя скрипт имеет достаточно развитый механизм для автоматического наращивания количества страниц и создания лабиринта для поисковиков, облако тэгов в этом плане тоже не плохо смотрится. Но ко всему оно еще и очень удобно для пришедших серферов.
Вторым заметным недостатком является поиск по сайту. Вот об этом и поговорим.
Автора блога здесь винить не в чем, он и так сделал все достаточно грамотно, пытался соблюсти некий баланс удобства с ресурсопотребления. И вышло, надо сказать, довольно удачно. Но все же...
Я думаю, что никто не станет спорить, что на сегодняшний день ни один более-менее крупный сайт (естественно сделанный для людей) не может обойтись без качественной поисковой системы. Навигация по сайту - это основа удобства работы. И если посетители вашего сайта не могут найти на нем нужную им информацию, то не ждите от них благосклонности и уважения. А следовательно и повторных заходов.
К слову сказать, серьезные сайты тоже страдают этой проблемой - кривым поиском. Частично проблему позволяет решить такая штука как карта сайта. Но если ресурс действительно крупный (а даже средние блоги могут легко заиметь несколько сотен докуметов), то в карте сайта уже нет места для прописки каждой страницы - только разделы и секции, что не есть хорошо, т.к. серферы ленивы и капризны и если в первые две минуты они не смогли получить то, что хотят - поминай их как звали.
Ситуация с созданием качественного поиска осложнена тем, что "великий и могучий" очень фигово поддается машинному анализу и построить серьезную поисковую систему весьма трудоемко. Англоговорящим буржуям в этом смысле повезло гораздо больше - у них слова практически не изменяются и даже банальный LIKE в SQL-запросе способен дать вполне приемлемые результаты. Но вот с русским такая фишка не проходит - два слова, различающиеся всего одной буквой будут расценены как разные. Наши падежи, роды, времена, склонения, спряжения и прочие приставки-суффиксы портят всю малину.
Поскольку сравнение "в лоб" не проходит, приходится искать другие, обходные пути. Например использовать для сравнения строк так называемое расстояние Левенштейна.
Если не вдаваться в подробности, то этот алгоритм просто сравнивает два слова и выдает число, которое является показателем, сколько нужно сделать вставок, замен и удалений символов, чтобы из первого слова получить второе.
Т.е. для организации поиска можно использовать, например, такой подход: если расстояние Левенштейна между двумя словами меньше 2, то считаем, что слова одинаковы (совпадают по смыслу, являются однокоренными). Кстати, похоже именно этот алгоритм используется механизмом поиска в Ласто-блоге.
Этот подход дает достаточно приемлемые результаты. Так например слова "блог", "блога", "блогу", "блоге" получаются совпадающими. В принципе не плохо, Но (как обычно) есть и подводные камни. Причем сразу несколько.
- Алгоритм довольно медленный, а учитывая какую гору информации необходимо перелопатить использование его ставится под вопрос.
Допустим, что на сайте сотня страниц, каждая из которых содержит примерно 1000 слов. Да еще посетитель ввел в запросе не одно слово, а сразу три. Получается, что нужно произвести 300 000 сравнений, чтобы получить полный результат. Естественно, что процесс можно оптимизировать - удалить заведомо ложные (неискомые) слова, прекращать поиск при первом совпадении, хранить словари и т.д... Но все равно, даже если придется проделать в 50 раз меньше сравнений, нагрузка получается довольно большая. И это для сайта всего из сотни страниц.... - Анализ количества действий для преобразования одного слова в другое на самом деле все же довольно туп, т.к. в приведенном выше примере слово "блог" совпадет не только с реально однокоренными словами, но и со словами, совершенно никакого отношения к искомому не имеющими. Например слово "блоК" так же будет учтено. Соответственно результаты поиска будут захламлены нерелевантными документами, которые просто содержат слова похожие на искомые. Что собственно и наблюдается в результатах поиска по блогу.
Для поисковиков такое захламление только в плюс - увидят лишние ссылки на внутренние документы. А вот посетителям врядли понравится листать десятки страниц выдачи, наблюдая практически полное отсутствие релевантности найденного искомому.
Вторая крупная проблема, возникающая при создании поискового механизма для крупного сайта, состоит в неоднородности содержимого этого самого сайта. Тут тебе и магазины и форумы и блоги и новости и еще черт знает что. И каждый модуль хранит свои данные в своем собственном формате и в своих базах. Поэтому создать по настоящему универсальный поиск для большого разнородного сайта - та еще задача.
Какие же могут быть варианты решения?
- Написать свой мега-умный алгоритм анализа, учитывающий специфику славянского языка, понимающий фигову кучу форматов и самостоятельно отделяющий зерна от плевел.
- Использовать сторонние разработки, специально для такой работы заточенные.
Собственно реально приемлемый вариант только один, т.к. врядли кому-то придет в голову идея писать нейронные сети на PHP, да и мозг можно повредить, занимаясь таким неблагодарным делом. Не говоря уж про хостера, которому очень не хочется отдавать 99% ресурсов сервера под ваш скрипт.
Остается только второй вариант - использование сторонних сервисов. Благо их в достатке - все поисковые машины только для того и рождены, чтобы реализовывать этот самый поиск. И разрабатывались они не пионером-одиночкой, а целыми командами дипломированных специалистов, специально для такой работы обученных. Нам же остается только лишь придумать способ использования их ресурсов для наших целей.
Тут так же есть варианты.
Почти каждый из поисковиков предоставляет возможность хозяевам сайтов разместить у себя на страницах специальный код, который соорудит в броузере формочку для комфортного поиска по вашему ресурсу. Последние варианты этих поделок даже умеют интегрировать результаты работы в существующий дизайн сайта, для еще большего комфорта.
К недостаткам же стоит отнести то, что такие механизмы либо платные, либо будут втихаря крутить на вашем сайте разную рекламу, либо не позволят встроиться в дизайн и будут тупо перенаправлять ищущих на свои сайты, где опять же будут крутить рекламу....
К тому же даже во встроенном варианте результаты поиска будут генерироваться java-скриптом, а значит не могут являться сырьем для создания сети внутренних линков, поскольку поисковикам они будут не видны.
Вот, собственно, и задача сформировалась: создать нечто, что будет использовать для поиска по сайту ресурсы какой-либо из поисковых машин и при этом результаты будет встраивать в страницу сайта в виде полноценных статичных и видимых всеми ссылок.
Убиваем сразу четырех зайцев:
- не нужно ломать ум над сверх-интеллектуальным алгоритмом анализа текста
- не нужно жрать ресурсы хостера на реализацию поиска по сверх-интеллектуальному алгоритму и соответственно заставлять серфера ждать, пока наш "мега-сыщик" найдет что-нить подходящее.
- не нужно крутить бесплатно чужую рекламу и надеяться, что у серфера не отключена поддержка java-script в броузере.
- получаем добавочную внутреннюю перелинковку, опять же дико-релевантную, которю видят поисковики.
Теперь, внимание, вопрос! А нужно ли все это?
Точнее, ставить его нужно так: а много ли сайтов, построенных на ласто-блогах, реально сделаны для людей, а не для тупой продажи ссылок?
Если действительно много, тогда стоит заняться реализацией вышеописанной приблуды. Ну а если нет, то... на "нет" и суда нет.
Отписывайте свои пожелания и мысли в комментах, а заодно вот тут можете пронаблюдать черновичек, реализующий поиск по этому сайту с помощью гугля.
Пихаем абзацы в комментарии
Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)
С самого начала использования этого блога меня бесило полное отсутствие возможности форматирования текста в комментариях. И как оказалось, не меня одного.
За несколько лет пользователи придумали несколько способов «борьбы» с этим неудобством. Кто-то тупо создает пустые строчки с точками, а кое-кто умудряется впихнуть HTML-тэг перевода строки...
Кстати, я до сих пор не знаю, как удается обмануть вырезалку тэгов в блоге
...
Проблема состоит в том, что блог, без зазрения совести, режет все, вставленные в текст комментария, HTML-тэги (по крайней мере парные). Оно и правильно — дай возможность любому, случайно зашедшему, вставлять в страницу чистый HTML и очень скоро найдутся желающие напихать туда всякого, от надписей гигантскими буквами до java-скриптов, накручивающих счетчики и махающих баннерами порносайтов. Короче, резка тэгов — это есть гуд, но вот тупая резка абсолютно всех тэгов — это неуважение к посетителям. Можно оставить хотя бы возможность делить текст на абзацы — это уже намного приятнее. Вот этим сейчас и займемся.
Хочу сразу сказать, что предлагаемое здесь решение я красивым бы не назвал (сказывается отсутствие возможности покопаться во внутренностях блога), но ничего умнее в голову не пришло. Потому всё сделано через задницу, но работает (по крайней мере у меня
).
Итак, что б не дурить вам голову всякими разъяснениями, просто опишу, что нужно сделать, чтобы блог начал распознавать «двойной Enter» как начало нового абзаца. Все изменения укладываются всего в два шага:
- в конец файла data/settings.php (предпоследней строкой) вставляем вот такую строчку:
if(isset($_POST['ms'])) $_POST['ms'] = '[[['.str_replace("\r\n\r\n", ']]][[[', $_POST['ms']).']]]'; - в файл data/tpl/рабочий_шаблон/comment.php (перед строкой switch($title)) вставляем такую строчку:
$comment = str_replace(array('[[[', ']]]'), array('<p>', '</p>'), $comment);
Все. Пользуйтесь на здоровье. Теперь абзацы в комментариях обрамлены стандартными HTML-тэгами <p>.
Недостатки:
- Этот «патч» действует только на вновь создаваемые комменты, старые останутся без изменений.
- Текст комментариев, которые будут приходить вам по электронной почте, будет содержать мусор в виде кучи квадратных скобок.
- Не уверен в корректной работе на блогах, использующих UTF-8, хотя теоретически должно работать нормально.
- Возможно найдется какой-нить тупой броузер, с которым этот патч не будет работать. В этом случае комментарий отправиться по-старому.
Друг ты мне или не друг?
Автор будет очень признателен, если Вы кликнете по одной из белых ссылок выше.
Вам это ничего не стоит, а автору сайта будет приятно ;)
Вчера выкачал с блога файлы логов, сегодня их вдоль и поперек проанализировал и могу сказать, что результатами работы "Привратника" я вполне доволен. И, хотя то и дело находятся мелкие недочеты, в общем фильтрация на "наших и не наших" идет вполне успешно.
Поэтому с сегодняшнего дня я объявляю массовый отстрел хитов с сайтов, которые только прикидываются друзьями: теперь "Привратник" умеет опознавать ссылки экранированные с помощью тэгов NOINDEX, а также имеющие аттрибут rel="nofollow". И, хотя сайт, передающий хиты по таким ссылкам, нельзя расценивать на уровне попингуя, но и прямую обратную ссылку на него ставить тоже как-то глупо. Потому, хиты с подобных сайтов в блог все же пропускаются, но с напрочь кастрированным рефом. Таким образом реальные юзеры с таких сайтов могут без проблем попасть на блог, однако сами сайты никогда не попадут в список друзей блога. Ибо нефиг.
Да и вообще в связи сболее серьезным анализом обратных ссылок количество друзей сайта сейчас должно очень резко сократиться. И скоро мы эту тенденцию сможем увидеть - статистика Привратника снова обнулена. 
