Пожалуй, не было сайта под управлением Joomla, которому Яндекс Вебмастер не прислал бы предупреждение о том, что некоторые страницы с GET-параметрами в URL дублируют содержимое других страниц (без GET-параметров). Сегодня предлагаю рассмотреть небольшой плагин, который решает эту проблему.

Начнем с раскрытия вопроса: что же такое GET параметр? И для чего он нужен?

GET параметры нужны для передачи серверу определенных данных.

Они указываются в адресной строке вместе с URL сайта.

Разберем условный сайт: https://example.com/

Предположим с помощью GET параметра мы решили передать логин пользователя, который будет храниться в переменной «LOGIN»

В таком случае URL сайта будет выглядеть так: https://example.com/?LOGIN=you_login

Где «you_login» - логин пользователя, который мы передаем обработчику на сервере.

Передача GET параметров начинается всегда с вопросительного знака. Каждый последующий параметр разделяется символом «&»

Например, если мы хотим передать еще и пароль, то URL страницы будет выглядеть так:

https://example.com/?LOGIN=you_login&PASSWORD=you_password

Итак, мы выяснили, что GET параметры нужны для передачи определенных данных и бывают порой весьма и весьма полезны.

Уходим от GET запросов в Joomla

На сегодняшний день вебмастер и разработчик CMS стараются избегать GET параметров в URL

В первую очередь делается это дабы адрес страницы стал человеко понятным.

Чтобы вместо:

https://example.com/index.php?option=com_content&view=article&id=1

Было, к примеру:

https://example.com/mypage

Согласитесь, второй вариант выглядит значительно приятнее. Более того, второй вариант понравится не только человеку, но и поисковому роботу.

В Joomla произвести такую операцию достаточно просто. Для этого в общих настройках сайта, в разделе «Параметры SEO» необходимо активировать параметры «Включить SEF» и «Перенаправлять URL»

Не забудьте проследовать инструкции и переименовать файл htaccess.txt или web.config.txt (в зависимости от установленной на сервере операционной системы) так, как это показано на рисунке выше.

GET параметры и безопасность

Неконтролируемое использование GET параметров на сайте и их видимость не самым лучшим образом сказывается на безопасности сайта.

Позволяя кому угодно и как угодно добавлять GET параметры к URL вашей страницы, вы упрощаете работу взломщикам и прочим вредителям, имя которым — легион.

Поэтому там, где использование дополнительных GET параметров не требуется, оно должно программным образом пресекаться.

Можно ли отказаться от использования GET параметров?

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

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

https://example.com/?parthner_id=443

В таком случае, сайт должен принимать и обрабатывать параметр «parthner_id» и игнорировать все остальные.

Ситуаций, где использования GET параметров не избежать — превеликое множество. Однако, правило при работе с ними должно быть одно:

Если параметр необходим для работы сайта и его обработка прописана в коде сайта — обрабатываем.

Если — это чужеродный параметр, игнорируем и редиректим на страницу без этого параметра.

Почему наличие GET параметров в адресе страницы вредно для продвижения сайта?

С точки зрения поисковых систем страница https://example.com/ и страница https://example.com/?param=1 — это две уникальных страницы.

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

Для живого человека — это одна и та же страница, для поисковых роботов — две разные.

Соответственно, в ближайшем будущем Яндекс вебмастер пришлет вам предупреждение о том, что на сайте огромное количество дубликатов и с этим нужно что-то делать.

 

Резюмирую вышеописанное

1) Адреса страниц вашего сайта должны быть максимально избавлены от GET параметров

2) Если есть острая необходимость принимать и обрабатывать GET параметры, то для этого необходимо выделять отдельные страницы закрытые от индексации поисковыми роботами

Работа с плагином «Очистка GET параметров» для Joomla

Для решения вопросов и проблем, связанных с GET параметрами был разработан плагин «Очистка GET параметров».

Плагин продается в интернет-магазине и доступен по ссылке ниже:

Купить плагин «Очистка GET параметров» для Joomla

После приобретения плагина, необходимо будет скачать архив plg_system_sitogongetredirecter.zip и установить его через стандартный менеджер расширений Joomla.

Далее, в административной панели Joomla переходим в раздел «Плагины». В списке плагинов указываем, что мы ищем плагин тип, которого «system».

Далее откроем плагин на редактирование и приступим к изучению его настроек.

Вкладка «Плагин»

Как видим, настройки плагина разбиты по трем вкладкам и мы начнем изучение с первой, которая посвящена редиректу.

Давайте разберем: как же плагин «сражается» с ненужными и нежелательными GET запросами?

Происходит все очень просто.

Если пользователь откроет ссылку вида: https://example.com/mypage , то не произойдет ровным счетом ничего.

Однако, если открыть ссылку вида: https://example.com/mypage?param=value, то произойдет редирект на страницу https://example.com/mypage.

То есть, на страницу без GET параметров.

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

1) Адреса страниц приведены к человеко-понятному виду

2) Страницы содержат контент, который необходимо проиндексировать поисковыми роботами и вы очень хотели бы увидеть эти странички в поисковой выдаче Яндекса или Гугла.

Поэтому мы включаем редирект не везде, а только для определенных компонентов. Для этого предназначен параметр «Использовать редирект со страниц с GET параметрами на страницы без параметов в указанных компонентах»

Нужно отметить, что вся эта история с GET параметрами важна и нужна в первую очередь для поисковых роботов. А роботы видят только ту часть сайта, которая разрешена не авторизованным пользователям.

Достаточно часто бывает так, что для авторизованного пользователя на сайте создан мощный личный кабинет с огромным количеством функций, где активно используются GET запросы.

Поэтому имеет смысл отключить редиректы в плагине, за что отвечает переключатель, показанный на рисунке ниже:

Также есть острая необходимость отключать редирект при наличии в URL определенных параметров. В частности, при наличии параметра «tpl» в значении «component» нередко во фреймы или ajax скрипты подгружается определенная часть сторонних страниц. И происходит это с помощью GET запроса.

Для отключения редиректа при наличии определенных параметров в заданных значениях и необходимо текстовое поле, показанное на рисунке ниже:

Наконец, есть необходимость игнорировать определенные параметры в GET запросе.

Постараюсь, привести пример. На странице постраничной навигации (пагинации) в Joomla используется параметр «start».

В итоге ссылка разбиения на страницы может выглядеть так:

https://example.com/mypage?start=20

Мы не желаем производить редирект при данном URL, однако не хотим, чтобы в этом URL оказались другие GET параметры.

Поэтому укажем плагину, что параметр «start» мы игнорируем.

Однако если URL вдруг окажется вот таким:

https://example.com/mypage?start=20&parametr=value

То редирект произойдет, но произойдет он на страницу:

https://example.com/mypage?start=20

Вкладка «Индексация»

В Joomla предустановлено много полезнейших компонентов. Причем, о существовании многих владелец сайта не имеет никакого понятия.

При этом, страницы этих компонентов успешно индексируются поисковыми роботами.

Достаточно распространенная ситуация, когда на 20-30 полезных страниц сайта несущих хоть какую то полезную информацию, поисковые роботы умудрились проиндексировать более 200 страниц с данного сайта. И продолжают это делать.

Нет никакой необходимости индексировать компонент «com_users», отвечающий за регистрацию, авторизацию и работу с зарегистрированными пользователями. Также нет никакого смысла отдавать на индексацию компонент «com_mailto», который в списке статей отображает ссылку на форму «Поделиться с другом»

Поэтому очень рекомендую воспользоваться параметром «Закрыть индексацию от поисковых роботов указанных компонентов» и выбрать все запрещенные к индексации компоненты.

Иногда возникает необходимость закрыть для индексации не весь компонент, а отдельное его представление.

Представление (ВИД или VIEW) — это часть программного кода, которая формирует то, что видит пользователь.

В Joomla имя представления задается параметром VIEW. Увидеть какое представление отвечает за формирование вывода у пункта меню можно в блоке «Ссылка»

В данном случае имя представления — category.

Вернемся в наш плагин.

Рассмотрим параметр, который показан на рисунке ниже и отвечает за запрет индексации для указанных через запятую представлений:

Как видим, в моем случае запрещены к индексации представления «cart» и «orders».

Это означает, что если у любого установленного в системе компонента присутствуют представления с указанными выше названиями, то они будут запрещены к индексации.

Поэтому!

Будьте осторожны с настройкой данного параметра. Если сомневаетесь, задайте вопрос в группе VK по ссылке ниже:

https://vk.com/sitogon

Вкладка «Пагинация»

Пагинация на сайте — это разбиение на страницы и постраничная навигация.

Практически всегда пагинация разрабатывается при использовании GET параметров.

Например, в стандартном менеджере материалов Joomla (com_content) для этого используется параметр «start». Например, ссылка на моем сайте до включения плагина выглядела, как:

https://sitogon.ru/dlya-tech-kto-delaet-internet?start=9

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

Для этого в плагине есть возможность перевода пагинации в режим без GET параметров.

В текстовом поле «Класс списка пагинации» необходимо указать класс, который используется в вашем списке пагинации.

Увидеть его можно при просмотре HTML кода страницы.

Чем плоха пагинация с GET параметрами?

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

Если перейти в режим «Пагинация без GET параметров», то адрес страницы будет всегда один, однако возможность постраничной навигации и перехода с одной страницы останется

Заключение

Честно говоря, не планировал писать целый опус на тему GET параметров в Joomla. В итоге вышло, как вышло.

Я постарался максимально описать не только плагин, но и нюансы при работе с GET параметрами. Очень надеюсь, что я никого не запутал и раскрыл обсуждаемую в статье тему.

При этом, готов ответить на любые вопросы. Пишите в группе VK. Буду рад общению:

https://vk.com/sitogon

С уважением, Владимир Егоров