Квадратные скобки в URL

12 3
F
На сайте с 02.12.2015
Offline
52
686

Здравствуйте!

На сайте есть страницы фильтров с квадратными скобками такого вида:

https://site.com/category/?filter[selected][16][0]=554

В открытом коде квадратные скобки заменены на %5d и %5b , то есть URL имеет такой вид:

Однако в Google Search Console появилось много ошибок в отчете "Ошибка переадресации" - http://i.prntscr.com/AvFJ1a7QRF2udknrPZfhCQ.png

Есть теория, что:

1. Поисковый бот видит в урлах спецсимволы "%5b" / "%5d" и понимает, что это квадратные кавычки, но интерпретирует их как "%5B" и "%5D" (то есть в верхнем регистре) и пытается перейти по ним.

2. Срабатывает редирект верхнего регистра на нижний.

3. Поисковый бот снова интерпретирует спецсимволы в верхний регистр.

4. Снова срабатывает редирект.

Так и происходит зацикливание редиректа, из-за которого возникла ошибка сканирования страниц фильтров.

Подскажите, пожалуйста, возможно у кого-то уже была подобная проблема? Или, возможно, кто-то знает имеет ли значение нижний/верхний регистр в спецсимволах квадратных кавычек? 

Заранее спасибо!

http://derevo-kazok.org/ - сказки для всей семьи! https://discover.in.ua - познавательный интернет-журнал!
LEOnidUKG
На сайте с 25.11.2006
Offline
1598
#1
Реальные примеры урлов в студию вместе с сайтом. Никто тут в угадайку играть не хочет.
✅ Трастовых площадок под размещение статей и ссылок. Опыт 12 лет! ( https://searchengines.guru/ru/forum/675690 ) ⭐ Купить вечные трастовые ссылки для сайта ( https://getmanylinks.ru/?srh ) ⭐ Ускорение ваших сайтов (WP, Opencart и др.) + Настройка сервера ( https://searchengines.guru/ru/forum/997205 )
Антоний Казанский
На сайте с 12.04.2007
Offline
312
#2

Странно, что у вас спецсимволы передаются как данные. Спецсимволы - это элемент оформления (если я правильно понял заявленный пример).

Страницы фильтров должны формироваться через параметры, в параметры - заносить значение выбранных пользовательских данных. Не используйте в URL мусор. Должно быть примерно так,

/list?filter=одно_значение%дополнительное_значение%еще_значение

Словом, кодов элементов оформления в URL быть не должно, иначе оформление сменили - URL не совпадают, в результаты будут многочисленные дубли.

√ SEO консалтинг, маркетинговые изыскания, поиск новых точек роста, экспертный аудит сайтов ( http://akazansky.ru/audit-sajtov ), внедрение эффективных решений цифрового маркетинга. Отзывы (https://searchengines.guru/ru/forum/992763/page15).
SeVlad
На сайте с 03.11.2008
Offline
1474
#3
Fantazerwm :
Есть теория, что:

Дурацкая теория.

А вот сама конструкция

filter[selected][16][0]=554

выглядит... как минимум странно. Есть вариант что движок не правильно работает.
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Топики помощи с ⓌordPress (https://searchengines.guru/ru/forum/1032910 ) и основы безопасности сайтов ( https://searchengines.guru/ru/forum/774117 ). *** Помощь\консультации в топиках форума - БЕСПЛАТНО. Платные услуги ( https://wp.me/P3YHjQ-3 ) - с бюджетом от 150$ ***
LEOnidUKG
На сайте с 25.11.2006
Offline
1598
#4

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

ТС, какая CMS так делает или самопис?

богоносец
На сайте с 30.01.2007
Offline
702
#5
SeVlad #:

filter[selected][16][0]=554

выглядит... как минимум странно.

Ещё один неправильный бутерброд  

А иногда как бы правильное преобразование символов урла приводило к странным последствиям.

SeVlad
На сайте с 03.11.2008
Offline
1474
#6
Ну тут скобки (и пр. срань) в значениях параметра. Хрень конечно, но понятная. А вот скобки в названии параметра - это какой-то ппц.
W1
На сайте с 22.01.2021
Online
29
#7
Fantazerwm :
имеет ли значение нижний/верхний регистр

Не имеет.

Когда-нибудь здесь будет форум - https://webinfo.guru –Там я всегда на связи
LEOnidUKG
На сайте с 25.11.2006
Offline
1598
#8
SeVlad #:
Ну тут скобки (и пр. срань) в значениях параметра. Хрень конечно, но понятная. А вот скобки в названии параметра - это какой-то ппц.

Не вижу ничего такого, обычный массив передаётся.

SeVlad
На сайте с 03.11.2008
Offline
1474
#9
LEOnidUKG #:

Не вижу ничего такого, обычный массив передаётся.

Какой массив в имени параметра? Кинь ман про такие конструкции в Query_string.
LEOnidUKG
На сайте с 25.11.2006
Offline
1598
#10
SeVlad #:
Какой массив в имени параметра? Кинь ман про такие конструкции в Query_string.

<?php

$filter=$_GET['filter'];

print_r($filter);

Вывод:

Array
(
[selected] => Array
(
[16] => Array
(
[0] => 554
)

)

)


т.е. PHP умеет напрямую в код такой массив считывать.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий