Помощь ЧПУ и борьба с дублями.

Тема в разделе "DLE", создана пользователем hug0s, 11 июн 2013.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. hug0s

    hug0s

    Регистр.:
    15 дек 2008
    Сообщения:
    378
    Симпатии:
    50
    Добрый день!двиг версии 8.0 на сайте изначально был тип ЧПУ2(сайт.ру/категория/подкатегория/id-новость), потом со временем перешел на первый тип(сайт.ру/id-новость). печаль в том что новости доступны сейчас по 3м адресам, в зависимости от вложенности категорий и в поисковиках одна и та же страница доступна под разными адресами.


    вот тут как бы неплохая инфа относительно оптимизации, но опять же она не решает моего вопроса. подскажите пожалуйста как быть в данной ситуации?
     
  2. exlite

    exlite Создатель

    Регистр.:
    23 апр 2013
    Сообщения:
    10
    Симпатии:
    1
    Удаляем дубли новостей в DLE:
    • Открываем .htaccess в корне сайта.
    • Находим следующие строки:
    Код:
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
    RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]
     
    RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
    RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]
    RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L]
    RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]
     
    RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
    RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]
    RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L]
    RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]
    
    заменяем их на

    Код:
    RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
    RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]
    RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]
    Теперь новости будут доступны только по id. Дубли новостей мы убрали.
     
  3. hug0s

    hug0s

    Регистр.:
    15 дек 2008
    Сообщения:
    378
    Симпатии:
    50
    окей, это все хорошо, можно ли сделать редирект(потому что новости не доступны более по адресу сайт.ру/категория/подкатегория/id-новость) на новость просто по ID

    так же еще интересует и обратная цепочка от сайт.ру/id-новость к сайт.ру/категория/подкатегория/id-новость
     
  4. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    hug0s, версия 8.0 уже морально устарела, имеет множество критических уязвимостей. Обновитесь на 9.8, решите сразу все проблемы: 1) не будет дырок 2) функционал редиректов и удаления дублей уже включён.
     
  5. hug0s

    hug0s

    Регистр.:
    15 дек 2008
    Сообщения:
    378
    Симпатии:
    50
    Не поленился просмотрел список изменений в ЧПУ начиная с версии 8.0


    9.7

    30. Дополнены механизмы контроля неверных ЧПУ. Исключено появление дублей страниц по адресам site.ru/page,1,id-post.html и site.ru/id-post.html, если новость разбита на несколько страниц. Если ссылка ведет на неверный номер страницы публикации, то будет осуществляться 301 редирект на первоначальный адрес публикации. Если для публикации комментарии разбиты на несколько страниц, то исключено дублирование первой страницы site.ru/page,1,1,id-post.html будет использоваться всегда site.ru/id-post.html, а также при обращении к несуществующей страницы с комментариями, производится автоматический 301 редирект на первую страницу.

    9.6
    18. Добавлены новые механизмы в режим контроля ЧПУ, позволяющие не только контролировать неверные URL, но и смену типа ЧПУ. При смене типа ЧПУ все ссылки на старые ЧПУ будут автоматически перенаправляться на новый тип ЧПУ. Также при этом контролируется включение и отключение ЧПУ. Тем самым вы можете безболезненно сменить тип ЧПУ, включить его, на уже проиндексированном поисковиками сайте. Поисковые системы будут получать автоматически 301 редирект, на новые адреса новостей, что способствует более быстрой и корректной переиндексации сайта поисковыми системами.

    9.4
    21. Улучшены алгоритмы контроля ЧПУ при проверке адреса URL для просмотра полной новости.

    9.3
    4. В настройки скрипта добавлена возможность включать контроль URL ЧПУ. Например, при отключенной опции, адреса: site.ru/id-имя новости.html и site.ru/id-любой текст.html будут вести на одну и ту же страницу. При включении данной опции, будет осуществляться 301 редирект на верный адрес. Данная опция полезна для SEO и при смене ЧПУ адресов новости или при смене категорий у новостей. Данный контроль позволит поисковикам быстрее переиндексировать новость по ее новому адресу. Также данный контроль проверяет корректный адрес URL и при просмотре публикаций в категориях.


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


    вопрос с поста выше актуален
     
  6. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    Читаем внимательно:
    Т.е. если ты прошёл по неверной ссылке - он тебя через 301 редирект отправит на верную ссылку. Если в настройках включён site.ru/id-имя новости.html, а ты прошёл по site.ru/категория/подкатегория/id-имя новости.html, то тебя автоматически перекинет на site.ru/id-имя новости.html
     
  7. hug0s

    hug0s

    Регистр.:
    15 дек 2008
    Сообщения:
    378
    Симпатии:
    50
    Только что перепроверил, версия 9.8 не нулл(ставил с нуля, все файлы оригинальные, в т.ч и htaccess), создаю вложенность категорий, включаю чпу2, копирую ссылку, ставлю чпу1 кищу кэш двига, захожу с др браузера, новость доступна по всем ссылкам, никаких редиректов нет.

    я не знаю проверяли вы или нет, но ситуация обстоит вот так.
     
  8. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    Перейдите по ссылкам и посмотрите куда перейдёте.

    Для того, чтобы всё начало работать в настройках:
    Поставьте "да" (изначально стоит "нет" - поэтому из коробки и не работает).
     
    hug0s нравится это.
  9. hug0s

    hug0s

    Регистр.:
    15 дек 2008
    Сообщения:
    378
    Симпатии:
    50
    да все заработало, когда читал пресс релизы, там как раз был акцентировано внимание на сайт.ру/id-блаблабла.html и если в блабла ошибка, то редиректило на id, что и ввело в заблуждение
     
    Горбушка нравится это.
  10. grixann

    grixann

    Регистр.:
    8 фев 2009
    Сообщения:
    443
    Симпатии:
    41
    Имеет смысл ставить на новый 10 dle из шапки форума ?