Page 2 of 3

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

Posted: Mon Mar 16, 2020 8:55 am
by ulan
А возможно ли сделать чтобы смарт в серч лог не писал спец символы? это намного проще, сегодня я экранирую один символ а завтра вылезет другой

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

Posted: Mon Mar 16, 2020 8:58 am
by admin
думаю я вряд ли смогу составить конкуренцию интернету, уже очень много написали документации на эту всю тему, все бесплатно ...

спец символы - это и есть символы которые в запросе нужны, например "+" это ж символ ?

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

Posted: Mon Mar 16, 2020 9:06 am
by ulan
Ну так тут проблема даже и не в +
проблема в том что инпут формы экранирует кавычку в запросе valentine's day и шлет на сервер как положено valentine%27s+day
А вот откуда потом система берет охулиард бекслешей уже намного интересней

Image

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

Posted: Mon Mar 16, 2020 9:35 am
by admin
конечно, давайте разберемся
сделайте запрос который другие юзеры не делали
например

search=valentine's+day+12345678

есть по итогу у этого запроса масса слешей?

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

Posted: Mon Mar 16, 2020 9:39 am
by ulan
search=valentine's+day+12345678
у этого запроса один слеш в серч логе
хотя не должно быть не одного верно?
после этого каноникал получается <link rel="canonical" href="/search/?q=valentine\'sday12345678"
по которому ходят боты и на втором запросе там уже
?q=valentine\\'sday12345678"

дальше можно не продолжать))) почистил кодом это
но он пишет в серч лог слеш даже от первого раза

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

Posted: Mon Mar 16, 2020 9:45 am
by admin
"search=valentine's+day+12345678
у этого запроса один слеш в серч логе"

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

как именно вы выводите каноникал?

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

Posted: Mon Mar 16, 2020 9:47 am
by ulan
а причем тут каноникал и запись в базу серч лога?
тут я решил кодом <?=str_replace(array("\\", " "), array("","+"),"<!--ESCAPED_SEARCH_QUERY-->");?>

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

Posted: Mon Mar 16, 2020 9:50 am
by admin
ну так вот ваша проблема

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

верно ?

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

Posted: Mon Mar 16, 2020 9:54 am
by ulan
причем тут запись в серч лог даже когда одна кавычка и каноникал который я уже решил?
кстати каноникал решился еще проще <!--URLENCODE_SEARCH_QUERY-->

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

Posted: Mon Mar 16, 2020 10:00 am
by admin
Решился конечно, потому что вы сами себе устроили проблему а виноватым хотите сделать других

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

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

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

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

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

виноват как обычно "кто угодно только не я"