Как сделать поиск по сайту
Создавая сайт компании или частного лица, всегда следует думать об удобстве пользователей. Для этого стоит ненадолго поставить себя на место человека, впервые посетившего неизвестную ему ранее страницу. Каждый автор стремится сделать свой продукт уникальным, продумывая дизайн и оригинальный интерфейс. Однако часто такие задумки на некоторое время усложняют для целевой аудитории выполнение основной задачи — получения нужной информации.
Существующая статистика утверждает: площадку быстро покидают, если при переходе на нее из поисковой выдачи невозможно сразу отыскать требуемый раздел. Это негативно сказывается на репутации ресурса — поисковик воспринимает ситуацию как несоответствие запросу или низкое качество контента. Дальнейший прогноз неутешительный — снижение позиций выдаче.
Именно поэтому разработчики задумываются, как сделать поиск по сайту. Это не только обеспечивает эффективное взаимодействие пользователей со страницей, но и положительно отражается на позициях площадки. Посетителям не придется разбираться в сложных каталогах и классификациях, они не покинут ресурс за считаные секунды.
Специалисты по продвижению говорят, что при количестве страниц, которое равно или больше двадцати, необходимо позаботиться о внутреннем поисковом механизме. Далее рассмотрим, как именно это можно реализовать.
Показатели качества
Прежде чем перейти непосредственно к методам разработки, стоит задуматься о том, как должна быть устроена идеальная с точки зрения пользователя форма поиска. Опросы и юзабилити-тестирования показали, что ценится:
- Видимость. Поле для введения данных обязано быть заметным и броским. Если разместить его в футере, мало кто догадается о существовании такого элемента. Оптимально расположить форму в самом верху сайдбара или хедере, то есть в верхних частях странички.
- Яркость. Строка должна отличаться от общего дизайна, сразу давая понять, что здесь расположено окно для поисковых запросов. Иконка в виде лупы, подсказывающий текст Search или другие опознавательные элементы сразу указывают на место для введения фразы с целью получения соответствующего ответа.
Также важно продумать параметры выдачи:
- Учет морфологии. Особенно в русском языке много словоформ, поэтому важно знать, как сделать поиск по словам на сайте.
- Механизм выделения искомых фраз. Подсветка — стандартный инструмент в любом приложении, достаточно привычный и удобный.
- Вариант выдачи результатов в зависимости от соответствия. Первыми всегда демонстрируются самые подходящие и популярные ответы, что повышает шансы удовлетворить пользовательский запрос.
Еще одна хитрость: лучше закрывать страницы с поиском от индексации глобальными системами. Google считает, что качество ссылок в таком случае хуже, чем в ситуации с обычным текстовым блоком.
Способы
Четыре главных метода, позволяющих эффективно организовать поисковый процесс:
- установка аналогичных программ от Яндекс или Гугл;
- прописывание скрипта для «чистого» HTML;
- использование встроенных средств CMS;
- конструктора сайтов со встроенным поиском.
Рассмотрим особенности каждого из них подробнее.
Сервисы от поисковых систем
Сложно усомниться в действенности алгоритмов, которые работают во всем мире. Yandex и Google учитывают морфологические особенности языка, дают специальные подсказки, исправляют орфографические ошибки. Также они ведут статистику, что позволяет более эффективно ранжировать (распределять по позициям) полученные результаты.
Бесплатный инструмент подсказывает, как сделать поиск по сайту Яндекс. Он способен просто и удобно интегрировать все важные функции:
- можно менять внешний вид;
- автоматически предлагает список смысловых подсказок;
- существует возможность добавить параметры и фильтры;
- благодарность за установку — повышение рейтинга в выдачах Яндекса.
Соответствующий инструмент от Google платный, однако во многом оправдывает потраченные средства. Дополнительные возможности, которые предлагает конкурент:
- персонализированное изменение внешнего вида строки для ввода;
- неограниченное использование языков с автоматическим механизмом его определения;
- применение графического контента;
- отсутствие рекламных материалов;
- каталог синонимов;
- одновременное участие нескольких ресурсов.
Сервисы для аналитики позволят создать личную статистическую базу, анализ которой послужит хорошей платформой для дальнейшего усовершенствования.
Ручная работа
Если говорить о том, как сделать поиск по сайту HTML, стоит отметить, что в последнее время процессы программирования существенно упростились. Сегодня можно найти около десятка готовых форм кодов, которые просто копируют. Переписыванию в таком фрагменте подлежит только название площадки. Однако знания никогда не лишние — при помощи CSS можно создать необходимый размер, цвет, настроить анимации и другие особенности поля или кнопки. Соответствующие скрипты позволяют исчезать замещающему тексту, создавать динамично изменяющийся фон, менять толщину линий, создавать объемы.
Язык PHP тоже остается популярным, главное условие — его поддержка сервером хостинга, где расположен указанный ресурс. Такой способ в большинстве случаев сопряжен с оформлением баз данных, проверки выборок и другими сервисами.
Если же навыки программирования находятся еще не на должном уровне, то лучше не читать советы, как сделать поиск по сайту PHP, а выбрать более простой вариант. Так вы будете уверены в качестве собственных трудов.
Конструкторы и системы управления содержимым
На конструктореах сайтов поиск часто включен в функционал изначально. На конструкторе 1С-UMI поиск уже встроен в сайты, ничего устанавливать и подключать не нужно. Это значит, что создав сайт на этом конструкторе, вы сразу получите веб-ресурс с работающим поиском.
Многие сайты работают на CMS (движке) — специальной программе, предназначенные для управления сайтами. Они сложнее, чем конструкторы и предусматривает наличие базовых навыков, но если в CMS встроен готовый шаблон, то разобраться можно и без посторонней помощи. Рассмотрим в качестве примера работу с модулем «Поиск» на системе UMI.CMS. Как сделать поиск текста по сайту? Во все редакции системы включен модуль «Поиск», который позволяет:
- находить контент с учетом морфологии или же отключить эту функцию;
- искать по заголовкам, метатегам, и текстам;
- определять, какие разделы будут индексироваться, при необходимости индексировать принудительно или исключать страницы из поиска;
- смотреть данные о дате последнего обновления индекса, а также запустить его в ручном режиме;
- использовать инструмент Sphinx, подходящий для работы фраз, состоящих менее чем из трех букв;
- включить отбор по любому участку слова или фразы, нестандартного для обычных ситуаций;
- оформить количество выводимых результатов, формат их отображения.
Модуль является ответом на вопрос о том, как сделать поиск слова по сайту.
Вопросы и ответы — Поиск для сайта. Помощь
Если вы используете обычный Яндекс.Поиск для сайта, вы можете добавить в область поиска до 50 сайтов.
Если вы используете Поиск для интернет-магазинов, область поиска может включать в себя только один сайт — тот, на котором размещен поиск.
Нет. Вы можете настроить поиск только для тех сайтов, права на которые вы можете подтвердить.
Результаты поиска будут вести на главное зеркало сайта.
В поиске будут участвовать только те страницы сайта, которые проиндексированы Яндексом.
Мы не рекомендуем вставлять код формы в HTML-редакторах, входящих в состав в CMS.
Некоторые HTML-редакторы стремятся обезопасить введенный текст перед публикацией. Поэтому, даже если вы переключитесь из режима визуального редактирования в режим редактирования HTML, скрипт формы на отредактированной странице может оказаться нерабочим.
Чтобы гарантировать правильную работу скрипта формы, вставляйте код формы непосредственно в HTML-код нужной страницы. Если ваш сайт использует HTML-шаблоны, то вставьте код формы в файл шаблона.
Вы можете показывать рекламу на странице вашего сайта, содержащей результаты поиска. Для этого вам нужно будет самостоятельно разместить на странице как код результатов поиска, так и необходимые рекламные блоки.
Рекламные блоки можно получить, зарегистрировавшись в Рекламной сети Яндекса.
Нет. Яндекс.Поиск для сайта не поддерживает фреймы.
Внешний вид стандартных форм Поиска для интернет-магазинов не настраивается. Чтобы использовать собственные формы, настройте получение результатов поиска в формате JSON с помощью API Яндекс.Поиска для сайта.
Для веб-хостингов со стандартными настройками IP-адрес сайта узнать можно следующими способами:
Воспользоваться сервисом «IP lookup». Например, вот этим: http://www.whois-service.ru/lookup.
Выполнить в консоли команду
ping
для домена вашего сайта. (Чтобы открыть консоль в Windows, нажмите Windows+R, введитеcmd
в открывшемся окне и нажмите кнопку ОК).Пример вызова команды
ping
:ping example.com
Система автоматически определит IP-адрес сайта и отобразит его в консоли.
В некоторых случаях IP-адрес сайта не совпадает с IP-адресом сервера, отправляющего ваши HTTP-запросы. В этом случае обратитесь за информацией в службу поддержки вашего хостинга.
Как сделать поиск по сайту на php и html
Трудно сейчас представить сайт без функции внутреннего поиска. Она жизненно необходима не только на коммерческих ресурсах, но и на личных блогах. Рассмотрим несколько простых вариантов создания поиска по сайту.
Обратимся к готовым формам
Как сделать поиск по сайту быстро и без особых усилий? Этот вопрос часто задают себе владельцы сайтов, не знающие язык html настолько глубоко, чтобы написать скрипт поиска самостоятельно. Специально для них известные поисковые системы предусмотрели простую установку стандартизированных поисковых форм. Имеются в виду функции внутреннего поиска от Яндекс и Гугл. Давайте рассмотрим, как их установить.
Для инсталлирования поиска от Яндекс необходимо зайти на «Яндекс-сайт» и кликнуть на ссылку «Установить поиск» в шапке страницы.
Зарегистрировавшись (если еще нет аккаунта в Яндексе) или введя логин и пароль, пользователь попадает на страницу пошаговой установки поиска по сайту.
В поле «Название поиска» нужно будет объяснить предназначение установки формы. Особой роли это не играет, и на процесс поиска не повлияет, но система сделала заполнение этого поля обязательной процедурой. Кликнув на ссылку «Добавить сайты», следует внести адрес своего ресурса. Кроме того, система попросит пользователя ввести электронный адрес. На него будут приходить сервисные сообщения от Яндекс, статистика и прочая информация. Если в этом поле указать почтовый ящик, созданный не в Yandex, на него придет ссылка для подтверждения работоспособности.
Второй этап — определение внешнего вида поискового модуля.
Ничего сложного в этом нет — нужно определиться с размером и цветом формы, чтобы она нормально вписалась в интерьер сайта. Примеры поисковых форм согласно внесенных пользователем настроек будут демонстрироваться в нижней части диалогового окна. Таким образом, можно будет подобрать оптимальный вариант.
На третьем этапе пользователю необходимо настроить отображение результатов поиска.
После внесения необходимых настроек пользователю будет предложено проверить работу поиска.
Для этого нужно ввести в поисковую строку любой запрос и нажать «Найти». После этого загрузится страница с результатами поиска. Если появились вопросы — пользователь сможет вернуться назад и изменить настройки. Если все удовлетворило — можно переходить на последний этап установки.
Система предложит пользователю скопировать код собственного поискового модуля и вставить его исходный код сайта. На этом установка заканчивается.
Установить поисковую форму от Google еще проще. Но для этого обязательно необходимо зарегистрировать собственный аккаунт в этой системе.
После регистрации пользователю откроется вход в систему пользовательского поиска. Все, что нужно для начала — нажать кнопку «Создать» в правой части страницы.
Открывшееся первое диалоговое окно предложит внести настройки имени и описания поиска, определить сайт для организации внутреннего поиска. Кроме того, пользователю будет предложено выбрать поисковую версию — бесплатную стандартную, либо же платную.
Те, кто заходят получать дополнительный доход, должны учесть, что пользователи их сайтов при выводе результатов поискового запроса сначала увидят рекламные ссылки от Google и лишь ниже — результаты поиска по сайту.
На следующем этапе установки нужно выбрать дизайн поисковой формы на основе стиля сайта пользователя. В нижней части диалогового окна доступен предпросмотр настроенного модуля.
Вот, собственно, и все — на финальном этапе нужно скопировать готовый код и установить его в исходники сайта.
Если дизайн сайта изменится, всегда можно изменить внешний вид поискового модуля — все внесенные настройки хранятся на личной странице пользователя.
Самостоятельная установка скрипта для поиска
Сайт Поиск.ру предлагает установить поиск по сайту на html, используя около десятка готовых форм. Все, что нужно пользователю — скопировать код, изменить в нем настройки (вписать адрес собственного сайта) и установить модуль на необходимую страницу.
Тестирование скрипта на локальном сервере
Можно организовать поиск по сайту на php, установив собственный скрипт. Обязательным условием при этом является поддержка языка php сервером хостинга, на котором находится сайт пользователя.
В качестве примера используем бесплатный скрипт «Поиск по сайту 1.1».
Архив скрипта search.zip нужно скачать и распаковать. После распаковки файлы скрипта будут выглядеть таким образом:
В папке search находятся файлы дистрибутива скрипта:
Перед установкой нелишним будет проверить работоспособность скрипта. Для этого можно попробовать установить его на локальном сервере Denwer.
В корневую папку сайта нужно скопировать файлы дистрибутива скрипта, а также файл htaccess. При установке скрипта на хостинг нужно обязательно определить атрибуты папок и файлов скрипта равными 777. В случае тестирования скрипта на локальном сервере это делать необязательно.
Определив страницу, на которой должна находится поисковая форма, нужно добавить на нее следующий код:
Обновив страницу, мы увидим следующую поисковую форму:
Все, что остается — протестировать скрипт. Если все устроит — можно устанавливать его на рабочий сайт.
Поисковые технологии или в чем загвоздка написать свой поисковик / Habr
Когда-то давно взбрела мне в голову идея: написать свой собственный поисковик. Было это очень давно, тогда я еще учился в ВУЗе, мало чего знал про технологии разработки больших проектов, зато отлично владел парой десятков языков программирования и протоколов, да и сайтов своих к тому времени было понаделано много.Ну есть у меня тяга к монструозным проектам, да…
В то время про то, как они работают было известно мало. Статьи на английском и очень скудные. Некоторые мои знакомые, которые были тогда в курсе моих поисков, на основе нарытых и мной и ими документов и идей, в том числе тех, которые родились в процессе наших споров, сейчас делают неплохие курсы, придумывают новые технологии поиска, в общем, эта тема дала развитие довольно интересным работам. Эти работы привели в том числе к новым разработкам разных крупных компаний, в том числе Google, но я лично прямого отношения к этому не имею.
На данный момент у меня есть собственный, обучающийся поисковик от и до, со многими нюансами – подсчетом PR, сбором статистик-тематик, обучающейся функцией ранжирования, ноу хау в виде отрезания несущественного контента страницы типа меню и рекламы. Скорость индексации примерно полмиллиона страниц в сутки. Все это крутится на двух моих домашних серверах, и в данный момент я занимаюсь масштабированием системы на примерно 5 свободных серверов, к которым у меня есть доступ.
Здесь я в первый раз, публично, опишу то, что было сделано лично мной. Думаю, многим будет интересно как же работают Яндекс, Google и почти все мне известные поисковики изнутри.
Есть много задач при построении таких систем, которые почти нереально решить в общем случае, однако с помощью некоторых ухищрений, придумок и хорошего понимания как работает железячная часть Вашего компьютера можно серьезно упростить. Как пример – пересчет PR, который в случае нескольких десятков миллионов страниц уже невозможно поместить в самой большой оперативной памяти, особенно если Вы, как и я, жадны до информации, и хотите кроме 1 цифры хранить еще много полезностей. Другая задача – хранение и обновление индекса, как минимум двумерной базы данных, в которой конкретному слову сопоставляется список документов, на которых оно встречается.
Просто вдумайтесь, Google хранит, по одной из оценок, более 500 миллиардов страниц в индексе. Если бы каждое слово встречалось на 1 странице только 1 раз, и на хранение этого надо было 1 байт – что невозможно, т.к. надо хранить хотя бы id страницы – уже от 4 байт, так вот тогда объем индекса бы был 500гб. В реальности одно слово встречается на странице в среднем до 10 раз, объем информации на вхождение редко когда меньше 30-50 байт, весь индекс увеличивается в тысячи раз… Ну и как прикажите это хранить? А обновлять?
Ну вот, как это все устроено и работает, я буду рассказывать планомерно, так же как и про то как считать PR быстро и инкрементально, про то как хранить миллионы и миллиарды текстов страниц, их адреса и быстро искать по адресам, как организованы разные части моей базы данных, как инкрементально обновлять индекс на много сотен гигов, ну и наверное расскажу как сделать обучающийся алгоритм ранжирования.
На сегодня объем только индекса, по которому происходит поиск — 57Gb, увеличивается каждый день примерно на 1Gb. Объем сжатых текстов – 25Gb, ну и я храню кучу другой полезной инфы, объем которой очень трудно посчитать из-за ее обилия.
Вот полный список статей которые относятся к моему проекту и описаны здесь:
0. Поисковые технологии или в чем загвоздка написать свой поисковик
1. С чего начинается поисковик, или несколько мыслей про crawler
2. Общие слова про устройство поиска в Web
3. Dataflow работы поисковой машины
4. Про удаление малозначимых частей страниц при индексации сайта
5. Методы оптимизации производительности приложения при работе с РБД
6. Немного про проектирование баз данных для поисковой машины
7. AVL деревья и широта их применения
8. Работа с URL и их хранение
9. Построение индекса для поисковой машины