1 (01.01.2016 15:14 отредактировано ds8880)

Тема: Дубли с множественными слешами в конце адреса

Здравствуйте.

версия 10.6

Как избавиться от таких дублей?

site.ru// и больше слешей в конце
site.ru/tags// и больше слешей в конце
site.ru/категория// и больше слешей в конце

В общем от множественных слешей в конце и других адресов.

Внес правки по мануалам из 4 частей и еще кое какие. В яндекс вебмастере висят такие страницы site.ru/tags/бла-бла-бла/page/2345/ и при переходе по этим несушествующим ссылкам идет 301 редирект на адрес site.ru/tags//

2

Re: Дубли с множественными слешами в конце адреса

У вас страница с тэгами "открыта" для поисковиков?

3 (02.01.2016 04:32 отредактировано ds8880)

Re: Дубли с множественными слешами в конце адреса

sorusnomad,
У вас страница с тэгами "открыта" для поисковиков?

Да, открыта, так как мне нужно, чтобы индексировались все теги. Хотя, думаю, что если закрыть страницу со свеми тегами, то это не помешает поисковикам индексировать страницы с определенными тегами. Может ошибаюсь?

Однако это не решит проблему о которой написал, так как при добавлении слеша или нескольких к указанным адресам не выдает ошибку, а появляется дубль страницы. И это на всех DLE, на оптимизированных и неоптимизированных.

Хотелось бы сделать, чтобы с site.ru/tags/бла-бла-бла/page/2345/ был сразу 301 редирект не на site.ru/tags//, а на site.ru/tags/

В остальных случаях добавления лишних слешей в конец адреса выдавало бы ошибку 404 или 301редирект на адрес с одним завершающим слешем.

4

Re: Дубли с множественными слешами в конце адреса

ds8880 пишет:

Хотя, думаю, что если закрыть страницу со свеми тегами, то это не помешает поисковикам индексировать страницы с определенными тегами. Может ошибаюсь?

Не помешает, но 99%, что в выдаче их не будет.

Описанная погрешность DLE имеет место. Только что проверил - в индексе нет ни одной такой страницы (со "//" в конце)...

По моему (могу ошибаться), это не те дубли, которых стоит опасаться.

ds8880 пишет:

В яндекс вебмастере висят такие страницы site.ru/tags/бла-бла-бла/page/2345/ и при переходе по этим несушествующим ссылкам идет 301 редирект на адрес site.ru/tags//

Нужно копать под то, откуда взялись ссылки с несуществующими страницами тэгов...

5 (02.01.2016 06:02 отредактировано ds8880)

Re: Дубли с множественными слешами в конце адреса

В общем обнаружил, что все ссылки в яндекс вебмастере, да и в гугл вебмастере ведут на страницы с несуществующими уже тегами (когда-то может и были такие теги, сейчас уже нет - удалил, поменял или еще что-то).

В общем, сделал так.

В файле /engine/engine.php задал условие, что если тега не существует, то выдавало 404 ошибку.

Для этого находим:

$url_page = $config['http_home_url'] . "tags" .'/'. urlencode ( $tag );

выше добавляем:

            if(!$tag){
                @header("HTTP/1.0 404 Not Found");
                @header("Status: 404 Not Found");
                @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
                exit();
            }

Теперь если тег удален или изменен, при переходе по какой нибудь ссылке с несуществующим тегом, будет выдавать ошибку 404 и содержание своей страницы 404.html  (своя страница 404.html должна быть в корне сайта. если ее нет, необходимо создать).


Однако остается актуальной проблема с множественными слешами в конце разных адресов, которые должны заканчиваться одним слешем, ведь кто-то, ссылаясь на сайт, может по ошибке указать, например, два слеша в конце и получится дубль. Хотя это маловероятно и проблема не очень серьезная, но все же...