[Помощь] Индексация сайта: дубли страниц с / и без

Тема в разделе "WebAsyst", создана пользователем alex3182, 4 окт 2011.

Модераторы: mdss
  1. alex3182

    alex3182 Создатель

    Регистр.:
    25 июл 2011
    Сообщения:
    26
    Симпатии:
    2
    Заметил с какого то времени рост страниц, только заметил такое. В индексе страницы дубли (что плохо)
    Пример: www.site.ru/product/aaa и www.site.ru/product/aaa/ Т.е. с / и без.
    Такого правила для robots.txt я не знаю что бы заставить кушать робот страницы только со / в конце строки.... Хелп плиз...
     
  2. Localut

    Localut Деда Мороз

    Регистр.:
    13 фев 2009
    Сообщения:
    224
    Симпатии:
    81
    1. Ставить правильные ссылки, скорее всего ссылки на внутряки стоят без слеша.
    2. Загуглить правило для .htaccess чтобы с без слеша на с слешом редирект был.
     
  3. oleksandr1

    oleksandr1 Создатель

    Регистр.:
    18 апр 2009
    Сообщения:
    45
    Симпатии:
    3
  4. alex3182

    alex3182 Создатель

    Регистр.:
    25 июл 2011
    Сообщения:
    26
    Симпатии:
    2
    увы для webasyst это решение не подходит, если включено ЧПУ
     
  5. mbumba

    mbumba

    Регистр.:
    11 апр 2007
    Сообщения:
    235
    Симпатии:
    39
    Отчего же не подходит? Там показано решение как раз для включенного режима ЧПУ. Обратите внимание на предпоследний комментарий на 1 стр по указанной вам ссылке:
    PHP:
    RewriteCond %{REQUEST_URI} !/$
    RewriteCond %{REQUEST_URI} !.htm$
    RewriteRule (.+) $1/ [R=301,L]
    Это не готовое решение, но достаточно для того чтобы вы смогли составить то что вам необходимо.
     
  6. alex3182

    alex3182 Создатель

    Регистр.:
    25 июл 2011
    Сообщения:
    26
    Симпатии:
    2
    я прописывал и то решение и то что выше.
    1. Если попробовать удалить / в конце и перезагрузить страницу то он по идее должен добавить /, но / в конце не добавляется.

    2. Ссылки становятся вида http://www.santehnika-timo.ru/published/SC/html/scripts/index.php/shtorki-dlja-vannoj-timo/?__furl_path=category/shtorki-dlja-vannoj-timo/&frontend=1
     
  7. psn

    psn

    Регистр.:
    30 апр 2009
    Сообщения:
    227
    Симпатии:
    30
    подскажите как проверить сайт на дубли страниц, есть программа какая то? у меня есть программа которая на уникальность проверяет контент блокируя при этом проверяемый сайт.
     
  8. EDIKOFFF

    EDIKOFFF

    Регистр.:
    21 мар 2009
    Сообщения:
    241
    Симпатии:
    18
    Приветствую. Нужен совет по htaccess
    В уже действующий вписал дополнение, что бы перенаправлять всё на домен без www и без /, так же с ссылок типа shop и shop/ на главную без слеша.
    Вроде как всё работает, но прошу знатоков посмотреть- может я что накучкарил или лишнего написал или не в то место воткнул. Мои дополнения выделил синим:

    # WebAsyst .htaccess config
    AddDefaultCharset UTF-8
    DirectoryIndex index.php
    RewriteEngine On
    #shop
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^shop/(repo_themes|js|3rdparty|images_common|products_pictures|images|themes|css)/(.*)$ published/SC/html/scripts/$1/$2?frontend=1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^shop/(imgval.php|wbs_messageserserver.php) published/SC/html/scripts/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(repo_themes|js|3rdparty|images_common|products_pictures|images|themes|css)/(.*)$ published/SC/html/scripts/$1/$2?frontend=1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(imgval.php|wbs_messageserserver.php|get_file.php) published/SC/html/scripts/$1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^shop(.*) published/SC/html/scripts/$1&frontend=1 [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^photos/(album|view)/(.*) photos/index.php?q=$1/$2 [L,QSA]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^photos/fullsize/(.*)/(.*) photos/getfullsize.php?filename=$1&hash=$2 [L,QSA]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^photos/(.+)$ photos/index.php?q=$1 [L,QSA]

    #common
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^login/(.*) login/index.php [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^installer/(.*) installer/index.php [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^published/$ published/index.php [L]

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !^published
    RewriteRule (.*) published/SC/html/scripts/index.php?__furl_path=$1&frontend=1 [QSA]

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.мойсайтком$ [NC]
    RewriteRule ^(.*)$ http://мойсайтком/$1 [R=301,L]

    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^index.php$ / [R=301]

    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^shop$ / [R=301]

    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^shop/$ / [R=301]


    Еще не закрытые дубли нашел:
    сайт/shop/product/такой-то = сайт/product/такой-то
    и еще /product/такой-то = /product/такой-то/
    как эти перенаправить?
     
  9. mbumba

    mbumba

    Регистр.:
    11 апр 2007
    Сообщения:
    235
    Симпатии:
    39

    По идее так, но нужно проверять
    Код:
     
    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^shop/(.*)/?$ /$1 [R=301,L]
    #/? - или есть или нет
     
    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^product/(.*)/$ /product/$1 [R=301,L]
    #это если все products должны быть без "/" на конце
     
    
     
  10. EDIKOFFF

    EDIKOFFF

    Регистр.:
    21 мар 2009
    Сообщения:
    241
    Симпатии:
    18
    Вроде не работает или я не то сделал
    Вот эти 2
    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^shop$ / [R=301]

    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^shop/$ / [R=301]
    Удаляют shop и shop/
    Но если только после них нет ничего больше, а в случае урла shop/product/... и shop/category/ долбанный shop остается в урле, причем из урла сайт/shop/search/?tag= shop выпадает и редиректится на сайт/search/?tag=