Как избавиться от %20 в URL? Из-за этого создаются дубликаты страниц.

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

Сегодня я заметил это на каждом сайте WordPress. Когда я ввожу %20 в URL любой страницы до или после, за исключением корневого домена, открывается аналогичная страница, тогда как должна быть показана страница 404 not found. Может кто-нибудь решить эту проблему? Дополнительные перенаправления также не работают.

Пример:
https://islamicqurancenter.com/courses/learn-noorani-qaida-online/

Дублирование:
https://islamicqurancenter.com/courses/learn-noorani-qaida-online%20/

ИЛИ:
https://islamicqurancenter.com/courses/%20learn-noorani-qaida-online/

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

Проблема, описанная вами, связана с использованием в URL кодировки символа пробела как %20, что фактически представляет собой проблему канонизации URL. Когда различные версии одного и того же URL вызывают отображение одной и той же страницы, это может привести к возникновению нескольких проблем, таких как дублирование контента для поисковых систем. Рассмотрим, как можно решить эту проблему в контексте WordPress.

Теория

Символ %20 в URL является кодированной версией пробела. Когда в URL добавляется пробел (или кодированный %20), сервер обрабатывает его как часть пути к ресурсу и, если правило маршрутизации сервера позволяет, успешно отображает страницу. Это может создать проблему дублирующего контента, поскольку отдельные страницы могут быть доступны через несколько URL-адресов.

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

  1. Настройки сервера. Сервер может быть настроен так, что он не различает URL с кодированием символов пространств и без.
  2. Маршрутизация в WordPress. WordPress обрабатывает пути URL благодаря своему механизму пермалинков, но может не являться достаточно строгим в отношении лишних символов.
  3. SEO последствия. Дублированный контент может негативно сказаться на SEO рейтинге, так как поисковые системы могут рассматривать такие страницы как повторяющиеся понятия, что снижает универсальность и авторитет ресурса.

Пример

Изначальная ссылка: https://islamicqurancenter.com/courses/learn-noorani-qaida-online/

Дубль с %20 перед URL: https://islamicqurancenter.com/courses/%20learn-noorani-qaida-online/

Дубль с %20 после URL: https://islamicqurancenter.com/courses/learn-noorani-qaida-online%20/

Как видно из вышеуказанных примеров, добавление %20 до или после любой части URL создает отдельный доступ к странице, что не является ожидаемым поведением.

Применение

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

  1. Использование редиректов на уровне сервера. На уровне конфигурации сервера (например, Apache или Nginx) можно настроить редиректы, которые будут перенаправлять любые URL с %20 на оригинальные канонические URL без %20.

    • Apache: В файле .htaccess можно добавить правило перенаправления:
      RewriteEngine On
      RewriteCond %{THE_REQUEST} "^[A-Z]{3,9}\ /.+\%20.*\ HTTP/" [NC]
      RewriteRule ^(.*)\%20(.*)$ /$1$2 [L,R=301]
    • Nginx: Можно добавить правило в конфигурацию:
      server {
        if ($request_uri ~* "%20") {
            return 301 $scheme://$host$request_uri;
        }
      }
  2. Использование плагинов в WordPress. Существует множество плагинов для SEO и канонизации ссылок, которые могут помочь решить эту задачу, например, Yoast SEO или Redirection. Через них можно настроить правила канонических URL.

    • Примите за практику регулярную проверку и настройку всех URL-адресов пересекающегося контента.
  3. Канонические теги. Убедитесь, что все страницы вашего сайта имеют корректно установленные канонические теги, чтобы помочь поисковым системам распознать правильную версию страницы.

  4. Мониторинг и тестирование. Используйте инструменты вебмастера, такие как Google Search Console, для отслеживания проблем с дублированием контента и тестирования правильности выполнения 301 редиректов.

Эти шаги помогут вам обеспечить, что ваш WordPress сайт более надежно обрабатывает URL без дублирования страниц и способствует улучшению SEO без использования лишних и несогласованных ссылок.

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

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