Фильтр поиска

ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Фильтр поиска

Post by ulan »

А возможно ли сделать чтобы смарт в серч лог не писал спец символы? это намного проще, сегодня я экранирую один символ а завтра вылезет другой
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Фильтр поиска

Post by admin »

думаю я вряд ли смогу составить конкуренцию интернету, уже очень много написали документации на эту всю тему, все бесплатно ...

спец символы - это и есть символы которые в запросе нужны, например "+" это ж символ ?
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Фильтр поиска

Post by ulan »

Ну так тут проблема даже и не в +
проблема в том что инпут формы экранирует кавычку в запросе valentine's day и шлет на сервер как положено valentine%27s+day
А вот откуда потом система берет охулиард бекслешей уже намного интересней

Image
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Фильтр поиска

Post by admin »

конечно, давайте разберемся
сделайте запрос который другие юзеры не делали
например

search=valentine's+day+12345678

есть по итогу у этого запроса масса слешей?
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Фильтр поиска

Post by ulan »

search=valentine's+day+12345678
у этого запроса один слеш в серч логе
хотя не должно быть не одного верно?
после этого каноникал получается <link rel="canonical" href="/search/?q=valentine\'sday12345678"
по которому ходят боты и на втором запросе там уже
?q=valentine\\'sday12345678"

дальше можно не продолжать))) почистил кодом это
но он пишет в серч лог слеш даже от первого раза
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Фильтр поиска

Post by admin »

"search=valentine's+day+12345678
у этого запроса один слеш в серч логе"

и поиск 1 по нему?

как именно вы выводите каноникал?
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Фильтр поиска

Post by ulan »

а причем тут каноникал и запись в базу серч лога?
тут я решил кодом <?=str_replace(array("\\", " "), array("","+"),"<!--ESCAPED_SEARCH_QUERY-->");?>
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Фильтр поиска

Post by admin »

ну так вот ваша проблема

вы выводите каноника юзая таг <!--ESCAPED_SEARCH_QUERY-->

верно ?
Don't forget to run script update
ulan
Posts: 1437
Joined: Fri Nov 23, 2018 2:49 pm

Re: Фильтр поиска

Post by ulan »

причем тут запись в серч лог даже когда одна кавычка и каноникал который я уже решил?
кстати каноникал решился еще проще <!--URLENCODE_SEARCH_QUERY-->
admin
Site Admin
Posts: 38004
Joined: Wed Sep 10, 2008 11:43 am

Re: Фильтр поиска

Post by admin »

Решился конечно, потому что вы сами себе устроили проблему а виноватым хотите сделать других

итого ситуация была такая

каноникал выводился с <!--ESCAPED_SEARCH_QUERY-->
те там каноникал получался грубо говоря ?search=valentine\'s+day

бот кликал на этот урл и там уже каноникал получался ?search=valentine\\'s+day
и так шло по кругу добавляя слеши

и все это писалось ессно в лог как новые поисковые запросы

сейчас вы заменили на <!--URLENCODE_SEARCH_QUERY-->, так как и надо было сделать с самого начала

виноват как обычно "кто угодно только не я"
Don't forget to run script update
Post Reply