Дублирование страниц является одним из проблемных мест на работающих сайтах. По умолчанию проблема дублей страниц актуальна для всех CMS. Эта проблема не обошла CMS Joomla, где одно из слабых мест - дублирование страниц. Увидеть дубли можно, если на сайте одна и таже страница имеет разные ссылки. В большинстве случаев новичок, создавший сайт на Joomla не подозревает, что с появлением нового сайта, появились дубли созданных страниц. Осознание приходит со временем и опытом. К сожалению, нельзя создав сайт, не получить дубли страниц, но можно с этим поработать.

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

При создании сайта важно определиться с его структурой, с именами, которые вы даете меню, категориям, подкатегориям и именам статей. Это нужно для того, чтобы впоследствии не менялись соответственно имена ссылок на сайте. Нужно определиться, в каком виде должна быть конечная ссылка на статью. Далее нужно определиться с сайтом, будет это www, просто http или https. 

Соответственно боремся с дублями страниц в CMS Joomla:

1. Прежде всего используем файл .htaccess, благодаря которому можно производить дополнительную конфигурацию веб-сервера (меняем название site.ru на свое имя).

RewriteEngine On

# перенаправление с www на https (если сайт доступен по https)
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

# перенаправление с http на https:
RewriteCond %{HTTP_HOST} ^site\.ru [NC]
RewriteCond %{HTTP:X-Forwarded-Proto} ^http$
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# убираем полный дубль по адресу site.ru/index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]

# 301 редирект на окончание .html
REDIRECTMATCH 301 (.*/[^/.]+)($|\?)$ http://site.ru$1.html

# 301 редирект с .html на без .html
REDIRECTMATCH 301 (.*)\.html$ http://site.ru$1

2. Используем файл robot.txt, благодаря которому можно ограничить доступ роботу к содержимому сайта.

User-agent: *
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /log/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?
Disallow: /*%
Disallow: /*&
Disallow: /*tag
Disallow: /*print=1
Disallow: /*sovety-k/
Disallow: /*sovety/

User-agent: Yandex
Disallow: /administrator/
Disallow: /bin/
Disallow: /cache/
Disallow: /cli/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /layouts/
Disallow: /libraries/
Disallow: /log/
Disallow: /logs/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?
Disallow: /*%
Disallow: /*&
Disallow: /*tag
Disallow: /*print=1
Disallow: /*sovety-k/
Disallow: /*sovety/

Host: site.ru
Sitemap: https://site.ru/sitemap.xml

Можно использовать различные плагины для Joomla.

 

Читайте также:

Установка и настройка Open Server Panel, установка joomla, wordpress на локальном компьютере

Обновление Joomla

Joomla 3 - как убрать content "Joomla! - Open Source Content Management"

Joomla 3 - как удалить "Подробности" в статье

Joomla 3 - переносим файл configuration.php в другую папку