Клуб Яндекс.Поиска для сайта

Проблема с поиском на русском языке

andrey.alexandr.s
28 ноября 2012, 11:17

Установил на сайт поиск в тестовом режиме http://www.c-a.ru/test.htm

Код страницы: 

<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body >
тест проверка поиска
<div class="ya-site-form ya-site-form_inited_no" onclick="return {'bg': 'transparent', 'target': '_self', 'language': 'ru', 'suggest': true, 'tld': 'ru', 'site_suggest': true, 'action': 'http://c-a.ru/yandex_poisk.htm', 'webopt': false, 'fontsize': 12, 'arrow': false, 'fg': '#000000', 'searchid': '1964833', 'logo': 'rb', 'websearch': false, 'type': 3}"><form action="http://yandex.ru/sitesearch" method="get" target="_self"><input type="hidden" name="searchid" value="1964833" /><input type="hidden" name="l10n" value="ru" /><input type="hidden" name="reqenc" value="" /><input type="text" name="text" value="" /><input type="submit" value="Найти" /></form></div><style type="text/css">.ya-page_js_yes .ya-site-form_inited_no { display: none; }</style><script type="text/javascript">(function(w,d,c){var s=d.createElement('script'),h=d.getElementsByTagName('script')[0],e=d.documentElement;(' '+e.className+' ').indexOf(' ya-page_js_yes ')===-1&&(e.className+=' ya-page_js_yes');s.type='text/javascript';s.async=true;s.charset='utf-8';s.src=(d.location.protocol==='https:'?'https:':'http:')+'//site.yandex.net/v2.0/js/all.js';h.parentNode.insertBefore(s,h);(w[c]||(w[c]=[])).push(function(){Ya.Site.Form.init()})})(window,document,'yandex_site_callbacks');</script>
</body>
</html>

 

Коректные результаты поиска выдает только по запросам на английском языке, например: "valuation". На любой запрос (например "оценка недвижимости") на русском языке  выдает:"Искомая комбинация слов нигде не встречается". Понятно, что это как-то связано с кодировкой при передаче запроса. Сейчас установлен Яндекс-код с автоматическим определением кодировки, но и прямое указание на кодировку 1251 ничего не меняет.

 

 

 

Подскажите, кто знает.

 

 

4 комментария
Подписаться на комментарии к посту
Вульбрун Дмитрий
28 ноября 2012, 18:13

Проблема в кодировке.

Попробуйте при получении кода формы поиска и результатов принудительно указать кодировку вашего сайта (есть опция "кодировка сайта"). И заново вставить на страницу новый код (и формы и результатов). Должно помочь. В любом случае это проблема с кодировкой - ощущение такое, что запрос просто дважды конвертируется в urlencode.

Изменил обе страницы, взял код Яндекса для 1251, результат не изменился.

http://www.c-a.ru/test_1251.htm

 

 

Вульбрун Дмитрий
28 ноября 2012, 21:37

Мы нашли, в чем причина. У вас в настройках "Результатов поиска" стоит адрес для отображения результатов - http://c-a.ru/yandex_poisk.htm. С этого адреса производится редирект на http://www.c-a.ru/yandex_poisk.htm - то есть на домен с www. Исправьте этот адрес в настройках, обновите код поимковой формы, и все зарабаотет.

Большое спасибо! Все работает !!!