We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 31444
    • 33 Posts
    добрый всем день,столкнулся с проблемой,что модекс дублирует контент страниц и как я понимаю для поисковиков это плохо. Вот,что нарыл на эту тему http://www.mgordeev.ru/2009/11/robots/
    вот текст статьи

    Дублирование контента в MODx

    Категория 28 ноября 2009 in MODx

    В MODx несмотря на очевидную SEO-ориентированность существует проблема дублирования контента при использовании ЧПУ(человеко-понятные адреса страниц).

    Предположим, что существует страница с идентификатором 26 и псевдонимом alias в корне сайта.
    Статус 200 Ok будут отдавать следующие страницы с ОДИНАКОВЫМ контентом


    1) http://www.site.ru/26.html
    2) http://www.site.ru/26
    3) http://www.site.ru/alias.html
    4) http://www.site.ru/index.php?id=26

    Эта ситуация неприемлема с точки зрения поисковой оптимизации . Решение этой проблемы видится в грамотно составленном файле robots.txt и некоторых изменениях в коде файла document.parser.class.inc.php.

    Предлагаемый файл robots.txt(подходит для всех проектов на MODx с использованием ЧПУ):

    User-agent: *
    Disallow: /assets/cache/
    Disallow: /assets/docs/
    Disallow: /assets/export/
    Disallow: /assets/import/
    Disallow: /assets/modules/
    Disallow: /assets/plugins/
    Disallow: /assets/snippets/
    Disallow: /install/
    Disallow: /manager/
    Disallow: /?
    Disallow: /*?
    Host: yoursite.ru
    Составленный таким образом файл robots.txt не позволит поисковому роботу проиндексировать дублирующиеся страницы 4-ого типа. Повторю, его можно использовать ТОЛЬКО для сайтов на ЧПУ. Для исключения остальных дублей надо немного исправить document.parser.class.inc.php. Этот файл содержит класс API и находится в /manager/includes/document.parser.class.inc.php.

    После строки (примерно 1077) :

    $this->documentIdentifier= $this->getDocumentIdentifier($this->documentMethod);
    надо внести код :

    preg_match(‘/[0-9]*/’, $this->documentIdentifier, $res);
    asort($res);
    if (intval($res[0])>0){
    if (!preg_match(‘/\/[0-9]{1,}/’, ($this->makeUrl($res[0], ”, ”, ‘full’)))){
    header (‘HTTP/1.1 301 Moved Permanently’);
    header(“Location: “.($this->makeUrl($res[0], ”, ”, ‘full’)));
    }
    }
    Этот код будет производить перенаправление с цифровых адресов не адреса-псевдонимы, если они есть.

    Самая популярная ошибка:

    При использовании ЧПУ часто забывают создать псевдоним для главной страницы сайта. Таким образом, создаются дубли самой главной страницы. Как их избежать(закрыть в robots или сделать редирект) – необходимо решать индивидуально для каждого сайта, общего решения пожалуй что нет.

    Также существует дублирование контента из-за добавления слешей в конец адреса. В Modx эту проблему можно решить, настроив особым образом .htaccess.

    Если на сайте используются суффиксы для URL(по умолчанию .html) в .htaccess надо добавить строки:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)\.html[/]+$ $1.html [L,R=301]
    В коде .html надо заменить на тот суффикс, который используется на сайте.

    Если суффикс для сайта пустой, то необходимо привести все урлы “site.ru/doc/” к типу “site.ru/doc”. Это делается в .htaccess:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)[/]+$ $1 [L,R=301]
    Но, на мой взгляд, лучше установить суффикс “/” и привести все урлы “site.ru/doc” к типу “site.ru/doc/”:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^.+[^/]$ http://www.site.ru%{REQUEST_URI}/ [L,R=301]
    Для того, чтобы исключить дублирование карт сайта, т. е. поставить редирект с sitemap.xml.html на sitemap.xml в .htaccess надо добавить строки:

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)\.xml\.html$ $1.xml [L,R=301]
    Вместо site.ru надо поставить доменное имя сайта.

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

    preg_match(’/\/?(\d+)\/?$/’, $this->documentIdentifier, $res);

    if ((substr($this->makeUrl($this->config["site_start"],’’, ’’, ’full’),-strlen($this->documentIdentifier)) == $this->documentIdentifier) || ($this->documentIdentifier == $this->config["site_start"].’/’) ){

    $this->sendRedirect($this->config["site_url"], 0, ’REDIRECT_HEADER’, ’HTTP/1.1 301 Moved Permanently’);

    }

    elseif(intval($res[1])>1){

    $this->sendErrorPage();

    }

    как вы считаете,целесообразно ли ставить подобные костыли в модекс? как можно исправить\дополнить\улучшит данный вариант на ваш взгляд?
    PS пропустил фильтрацию страниц вида id.html они проходят sad
      • 6623
      • 127 Posts
      весь топик так и не осилил, ибо не верю в то что вы понимаете о чем говорите, т.к. пишите про ЧПУ а ссылки приводите как с чпу так и без, что работать вместе не будет... Да и регулярки у вас какието не комильфо... Хотя возможно тут вам рады ))
        • 785
        • 2,113 Posts
        Проблема надуманная – с какой стати поисковые системы будут индексировать страницы, на которые никто не ссылается? Они их просто не найдут. Если включено ЧПУ, то на дублирующие страницы не генерируется ни одна ссылка. Это можно проверить на реальных сайтах с помощью средств вебмастера Яндекс и Google – страницы якобы с дублированным контентом поисковые системы не видят. Конечно, если проставлять ссылки на дубли страниц, могут возникнуть определенные проблемы, но зачем это делать?
          Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
          Статьи о MODx, регулярно новые публикации
          • 31444
          • 33 Posts
          DAS вы бы прочитали,а потом думали,если не получается прочитали бы еще и еще
          AKots да,согласен,что вполне может быть надуманная. Данная проблема случилась у знакомого у него залетели в индекс страны абсолютно разные, каким образом он их загнал ума не приложу. Просто задумался на будущее тк проблема все таки имеет место быть. По поводу того,что эти ссылки не появляются - факт,но напрмиер в сниппете хлебные крошки,ссылка на главную будет не / как в дитто или вайфаендер, а по алиасу,а это уже дубль. Хоть и исправляется очень легко. Хотелось бы услышать еще мнений стоит ли с этим бороться?
            • 6623
            • 127 Posts
            > Хотелось бы услышать еще мнений стоит ли с этим бороться?
            С чем бороться?
            Quote from: AKots at Mar 25, 2010, 06:17 AM

            Если включено ЧПУ, то на дублирующие страницы не генерируется ни одна ссылка.
            Вообще, перечитайте как сейчас поисковики производят индексацию, уверен что узнаете много нового. А еще почитайте что такое ЧПУ...
              • 31444
              • 33 Posts
              DAS что же вы все время хотите выделиться своим умом... Если вы не понимаете о чем я,просто бы прошли мимо,а не учили меня.
                • 785
                • 2,113 Posts
                Quote from: DAS at Mar 25, 2010, 06:49 AM

                Вообще, перечитайте как сейчас поисковики производят индексацию, уверен что узнаете много нового. А еще почитайте что такое ЧПУ...
                И как, интересно узнать, производят индексацию? Что-то мне подсказывает, что Вы совершенно не представляете как.
                  Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                  Статьи о MODx, регулярно новые публикации
                  • 785
                  • 2,113 Posts
                  Quote from: versoul at Mar 25, 2010, 06:33 AM

                  напрмиер в сниппете хлебные крошки,ссылка на главную будет не / как в дитто или вайфаендер, а по алиасу,а это уже дубль. Хоть и исправляется очень легко. Хотелось бы услышать еще мнений стоит ли с этим бороться?
                  Вот как раз и следует бороться, чтобы не было неправильных ссылок, исправляя соответствующие сниппеты. Кстати, дублирующие страницы могут добавиться, если сначала было отключено ЧПУ, а потом включено. Если же все делать правильно, проблем быть не должно. По крайней мере, я не сталкивался ни разу с такой проблемой.
                    Создание сайтов на MODx, поддержка сайтов, поисковая оптимизация, программирование, копирайтинг
                    Статьи о MODx, регулярно новые публикации
                    • 22301
                    • 1,084 Posts
                    допустим, суффикс html, урлы вложены.
                    как-то так: _site.ru/katalog/item_1.html
                    я могу обрезать хвост item_1.html ручками в адресной строке, чтобы перейти в корень каталога. если установлен счётчик, а статистика открыта, то страница попадает в поиск.
                    это реальная ситуация, имевшая место быть у меня:)

                    ситуацию может исправить плугин Сео Стрикт Урлс, но его глючит на 404-х статусах при определённых условиях.
                      [img]http://jurist-info.ru/pic/rrr.jpg[/img]

                      Безжалостный пияр!
                      Artima -- неуч!
                      Осторожно: преступная локализация -- modx-cms.ru
                      Баштанник Андрей -- мегапрограммер из Белоруссии и поедатель говна, очень критично настроенный молодой человек!

                      Дисклеймер для общительных: даю сам себе право транслировать в открытый эфир содержание лички, just for fun
                      • 31444
                      • 33 Posts
                      а подправить мой вариант? я могу испрвавить регулярку чтоб она обрезала и пропущеные мною страницы вида site.ru/id.html и при этом у меня минимум нагрузки на сервер если я не ошибаюсь тк почти все,что я использую заранее есть в конфиге который создался в том классе. Вариант который предложил автор статьи и я доработал чем плох?