Почитав отзывы в анкете, увидел несколько жалоб на поиск по блогу. Решил немного обновить. Надеюсь так будет удобнее.
Временно отключил Search Unleashed — какой то глюк в нем произошел и он перестал нормально искать. Буду разбираться. Поставил сейчас Search Everything, но он иногда сильно грузит базу т.к. в настройках выбран также поиск по комментариям (запросы бывают до 30секунд).
Под шапку блога добавил форму поиска Google, а на результаты поиска в Гугле добавил форму обычного поиска, если гугл вдруг не проиндексировал страницу.
Вот еще бы вытащить из строки запроса гугла текст запроса и сразу вставить его в форму обычного поиска…
P.S. забыл добавить что если окно поиска выглядит не так как на скриншоте — нажмите Ctrl+F5 для обновления стилей в кэше браузера
Нашел сегодня уSonika статью по поводу поиска в WordPress. Понравился плагин Search Unleashed и я его русифицировал.
Описание можно посмотреть по ссылке выше, а у меня вы можете скачать модифициированную версию, адаптированную для русскоязычных пользователей.
Из особенностей: после установки надо обязательно проиндексировать записи и комментарии — создается новая таблица в базе иначе искать вообще не будет ничего.
ОБНОВЛЕНО 2008-04-14: новая версия 0.2.16.
С версии 0.2.12 не изменилось ничего, только исправили баги.
Внес некоторые исправления: добавил определение Яндекс.Блоги и Google.Blogsearch, изменил структуру базы данных, т.к. в оригинальной версии при длинных реферерах или очень длинных поисковых запросах на странице блога выдавало ошибки превышения длины поля. Для тех кому интересно заменил в двух местах varchar(100) на longtext
Изменил немного декодирование запросов через Яндекс (при обычном поиске там идет запрос в utf8, а в Яндекс.Блоги cp1251) чтобы определялись слова корректно
Также заметил что если плагин ставится не в первый раз на блог, то при деактивации и повторной активации не создаются таблицы для поиска. Этот баг присутствует в версиях 0.2.8 и новее.
Исправляется баг в базе двумя способами:
Установить версию 0.2.2 и после активации и индексации заменить ее новой версией
Вручную в базе данных создать две таблицы через sql запрос в phpmyadmin
CREATE TABLE IF NOT EXISTS ВАШПРЕФИКС_search (
`post_id` int(11) unsigned NOT NULL,
`comment_id` int(10) unsigned NOT NULL default '0',
`content` text,
`priority` text,
PRIMARY KEY (`post_id`,`comment_id`),
FULLTEXT KEY `content` (`content`,`priority`)
) ENGINE=MyISAM CHARSET=utf8
CREATE TABLE IF NOT EXISTS ВАШПРЕФИКС_search_phrases (
`id` int(11) unsigned NOT NULL auto_increment,
`phrase` longtext NOT NULL default '',
`ip` int(10) unsigned NOT NULL,
`searched_at` datetime NOT NULL,
`referrer` longtext default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM CHARSET=utf8
где ВАШПРЕФИКС_ нужно заменить например на префикс, который прописан у вас в конфигурации WordPress. Обычно это wp_