URL перенаправляет (301), когда строка запроса передается через URL

Вопрос или проблема

301 редирект происходит, и перенаправленный URL теряет параметры, передавая строку запроса через URL.

Когда я пытаюсь передать строку запроса “type=Brochure”, как показано в следующем URL
https://www.edgeverve.com/resources/?type=Brochure

Он перенаправляется на https://www.edgeverve.com/resources/,
и строка запроса теряется.

Но это работает нормально, если я изменю поддомен с www
(оба URL www и test доступны для тестирования, попробуйте заменить www на test)

Я не могу понять, почему этот редирект происходит в случае www.

Примечание:
Мы не смогли решить проблему, даже следуя шагам ниже:
– Все URL в БД правильные.
– Мы пробовали ту же настройку на локальном сервере (с записью в файле hosts, сопоставляющей edgeverve.com)
– Мы пытались обновить WordPress до 4.8
– Также мы пытались решить это через .htaccess

Столкнулся с той же проблемой. В моем случае фильтр WooCommerce использует get параметры для сохранения настроек фильтрации продуктов. В любом случае

Как было упомянуто @sudarshan-g-hedge, редирект был вызван плагином Yoast SEO

Причина – настройки оптимизации обхода‘s очистки URL в этом плагине

Чтобы предотвратить такие редиректы, вам нужно выполнить следующие действия:

  • перейти в панель администратора
  • открыть “Yoast SEO” -> “Настройки”
  • перейти к заголовку “Дополнительно” и выбрать там “Оптимизация обхода”
  • прокрутить до раздела “Дополнительно: очистка URL”
  • добавить необходимые get параметры (например, type, как в вопросе) в поле “Дополнительные параметры URL для разрешения”
  • сохранить изменения

Проблема была решена отключением плагина Yoast SEO. Какова может быть причина, по которой плагин Yoast SEO вызывает эту проблему?

Ответ или решение

Проблема, с которой вы столкнулись, заключается в том, что при редиректе 301 теряются параметры запроса в URL. Это ситуация, когда запрос к вашему сайту с параметрами, такими как type=Brochure, перенаправляется на URL, где эти параметры не передаются, например, с https://www.edgeverve.com/resources/?type=Brochure на https://www.edgeverve.com/resources/.

Причины проблемы:

  1. Проблемы конфигурации плагина Yoast SEO:
    Как вы правильно заметили, проблема может возникнуть из-за настроек плагина Yoast SEO, особенно в разделе "Оптимизация краулинга" (Crawl Optimization). Этот плагин может иметь активированные параметры очистки URL, которые удаляют ненужные параметры, чтобы сделать URL более лаконичными. Это и может быть причиной потери параметров запроса при редиректе.

  2. Настройки плагина и базы данных:
    Иногда может быть общая проблема с конфигурацией URL в базе данных, когда сохраняются только "чистые" URL без параметров. Кроме того, если кэширование включено, это также может вызвать запутанность в редиректах, поскольку кэшированные версии URL могут не содержать актуальные параметры.

Решения:

  1. Добавление параметра в Yoast SEO:
    Для решения проблемы, как вы уже заметили, нужно зайти в админку WordPress, затем в настройки Yoast SEO, в разделе "Расширенные" переходим к "Оптимизация краулинга" и в секцию "Очистка URL" добавляем необходимый параметр (type). Это позволит плагину не удалять этот параметр из URL, когда выполняется редирект.

  2. Отключение плагина:
    Если после выполнения всех необходимых настроек проблема не решается, вы можете временно отключить плагин Yoast SEO, чтобы проверить, исчезает ли проблема. Если после отключения редиректы работают корректно и параметры передаются, это подтверждает, что именно плагин вызывает конфликт.

  3. .htaccess настройки:
    При необходимости вы можете проверить настройки .htaccess для вашего сайта. Убедитесь, что в этих настройках нет правила, которое может влиять на параметр type в строке параметров URL. Если правила перенаправления написаны неверно, это может вызвать потерю параметров при редиректах.

Заключение:

Тщательное изучение настройков вашего плагина, конфигурации базы данных и кода на уровне сервера поможет решить вашу проблему с потерей параметров запроса при 301 редиректе. Поскольку работа с URL и их параметрами критически важна не только для функциональности сайта, но и для SEO, целесообразно тщательно отслеживать такие изменения. Хорошее понимание работы плагинов, таких как Yoast SEO, а также использование инструментов диагностики (таких как консоль разработчика или логирование серверных ответов) может помочь вам избежать подобных ситуаций в будущем.

Оцените материал
Добавить комментарий

Капча загружается...