Как избавится от ненужных get параметров и дублей в урлах

Главные вкладки

Аватар пользователя Boozenok Boozenok 14 января 2017 в 23:19

Ребята помогите навести порядок в урлах. Есть каталог, выведенный через Вьюху с пагинацией. Урлы пагинации соответственно имеют вид ?page=1, ?page=2, ?page=3 и т.д.
Так вот, трабл в чем:

1) Если ввести в урл запрос типа ?page=test, ?page=chtoto-tam мы получаем первую страницу каталога. А мне нужно что бы отдавалась ошибка 404.
2) Первая страница каталога также отображается по адресам типа mebel?ooops= , mebel?kakoito-text=. Как можно задать использование только допустимых урлов типа ?source=, ?page=, ?keys= , а на все остальные отдавать 404 ошибку?

Буду признательна за любой совет!

Комментарии

Аватар пользователя bumble bumble 14 января 2017 в 23:58

Дублями страницы станут только если на них будет явная ссылка. Иначе откуда ПС'ы добудут адрес?

Как вариант - можно запретить индексацию страниц с гет-параметрами в роботс:
Disallow: /*?

Детальнее тут.

Аватар пользователя Boozenok Boozenok 15 января 2017 в 0:12

есть доброжелатели, которые могут постить такие ссылки(((
роботс не вариант.
Уверенна есть решение более правильное

Аватар пользователя OFS OFS 5 февраля 2017 в 6:56

Если я Вас правильно понял....

/**
* Implements hook_views_pre_render()
*/
function NAME_views_pre_render(&$view) {
if ($view->total_rows && $view->query->offset && $view->query->offset >= $view->total_rows) {
drupal_not_found();
exit;
}
}

Аватар пользователя gun_dose gun_dose 5 февраля 2017 в 12:49

Метатеги как бы тоже не влияют на работу цмс, но про них же не забывают.

А я скажу почему:
1. Забанив гет-параметры в урлах, рано или поздно наткнёшся на то, что в админке не работает одна из функций, например добавление компонента в вебформу.
2. Еcли сеошник не лох, то рано или поздно он поймёт, что для получения нормальных отчётов о конверсии, нужно использовать utm-метки, которые по своей сути те же гет-параметры.

Поэтому мой вердикт такой - с гет-параметрами в урлах борятся только тупицы.

Аватар пользователя Van'Denis Van'Denis 5 февраля 2017 в 13:02

В таком случае единственный правильный вариант/решение:
Массив разрешенных параметров на сайте – просто, быстро и надежно.
Lol
Всё.

Аватар пользователя multpix multpix 5 февраля 2017 в 14:38

Boozenok wrote:

1) Если ввести в урл запрос типа ?page=test, ?page=chtoto-tam мы получаем первую страницу каталога. А мне нужно что бы отдавалась ошибка 404.

2) Первая страница каталога также отображается по адресам типа mebel?ooops= , mebel?kakoito-text=. Как можно задать использование только допустимых урлов типа ?source=, ?page=, ?keys= , а на все остальные отдавать 404 ошибку?
Буду признательна за любой совет!

по соответствующему запросу первые страницы каталогов открываются - это правильно;
указываем не валидные, не обязательные параметры, они не отрабатывают - это правильно;
указываем не валидные, не обязательные параметры и получаем 404 - это не правильно, ибо ваш валидный путь ведет никак не на 404.

совет простой - поменьше сеорастии,
хотите улучшить - копайте структурированные данные, это интересно.

Аватар пользователя Van'Denis Van'Denis 5 февраля 2017 в 17:30

Тут ты не прав.
а) Именно благодаря get параметрам мне удалось взломать (точнее подобрать нужный параметр для потокового радио) Smile
б) без "сеорастии" сегодня никак, если хочешь иметь хорошие позиции в SERP (1-2 стр. в выдаче).
Если отбросить б), то - да. Сайт прекрасен Lol
И вообще ушли в сторону от вопроса ТС.
Да и сам вопрос не очень связан с друпалом.

Аватар пользователя Boozenok Boozenok 7 февраля 2017 в 23:11

Интересные мнения собрались)

По поводу того, что с этим бороться не нужно:..
Реальный пример. Сайт взломали, записали на него права владения аккаунтом в Эдвордсе. там наплодили кучу нереальных урлов. Если бы я не увидела, к примеру, спустя 10 минут что что-то не так, гугл их проиндексил и была бы сотня дублей. А так, у меня получилось отдавать 404 ошибку несуществующим страницам и естественно, что бы там боты не делали, даже если бы гугл проиндексил те страницы, что они создали, он бы видел только 404.

Все-таки это не просто так придумали Smile

Я поборола пока только цифры в урлах, символы остались

Аватар пользователя tmp tmp 8 февраля 2017 в 11:19

Оффтоп:
Вопрос очень интересный по поводу взлома. (И не совсем оффтоп, как бы)
А как взломали сайт? Приватная уязвимость? Новый сплойт? Каким образом? Такой ситуации просто не должно быть.

Аватар пользователя Boozenok Boozenok 30 марта 2017 в 14:28

как взломали до сих пор болит голова у меня, у сео-компании и у хостинга. Везде все чисто и только сам факт говорит о взломе. Все обновлено, пароли негде не хранятся.. Просто произошло все быстро и очень качественно. За 10 минут закачали файлы, подавали доступы и начали менять всякие мелочи в эдвордсе. Я только успевала читать оповещения на почте))

Такие себе сео-маняки))