Если у Вашего хостера установлен Apache, а чаще всего так и есть, то для устранения дублирования Вам поможет небольшой код, который нужно прописать в файле .htaccess
Есть несколько способов и первый из них такой.
RewriteEngine On RewriteRule ^index.php$ / [QSA,R]
Способ номер два:
RewriteEngine On RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://www.имя сайта.com/ [R=301,L]
Для того чтобы убрать index.html, понадобится такой код:
RewriteEngine On RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://www.имя сайта.ru/ [R=301,L]
Добавлено 22.10.2017
Недавно столкнулся с проблемой, где нужно было убрать index.php внутри ссылок. Ссылки были типа http://ваш_сайт/blog/index.php?id=2bgg5. Я перепробовал все что можно, но проблема не решалась. Помог только такой код:
RewriteCond %{THE_REQUEST} /index\.php(/(.*?))? [NC] RewriteRule ^(.*?)index\.php(/(.*?))?$ /$1$2 [L,R=301,NC,NE]
Вот такими простеньким способами можно решить проблему с дублированием страниц.
На этом все, спасибо за внимание. 🙂