Уважаемые форумчане alexeras была следующая проблема:
Сейчас ссылки "нормальные" (3 реальных примера товаров):
http://domovenok74.ru/katalog/yaponskiepodguzniki/goon-m-5.htmlhttp://domovenok74.ru/katalog/yaponskiepodguzniki/goon-s-4.htmlhttp://domovenok74.ru/katalog/yaponskiepodguzniki/goon-l-6.htmlэти же самые товары доступны по другим "кривым" ссылкам
http://domovenok74.ru/katalog/goon-m-5.htmlhttp://domovenok74.ru/katalog/goon-s-4.htmlhttp://domovenok74.ru/katalog/goon-l-6.htmlКак видно "кривые" ссылки отличаются от "нормальных" тем, что у них ссылка как будто они находятся в корневой категории-katalog (но визуально их там нет и не надо), но набрав "кривую" ссылку в строке браузера получаешь "кривую" страницу с ошибками вида:
Показать текстовый блок
Пользователь сайта конечно никогда данную страницу не увидит, так как на "кривую" ссылку нет ссылок с сайта (ни в карте сайте, нигде), НО "кривую" ссылку видят роботы ПСок (не знаю каким образом) и индексируют её, ну и также индексируют "нормальную" ссылку этого товара. И далее они видят, что якобы (к примеру) ссылка
http://domovenok74.ru/katalog/yaponskiepodguzniki/goon-m-5.html и
http://domovenok74.ru/katalog/goon-m-5.html это один и тот же товар, и приоритет отдают короткой "кривой" ссылке (в выдаче ПСок в топе отображается "кривая" ссылка).
Как сказал один из форумчан, что косяк где то в виджеките шаблона YooTheme и самостоятельно эту проблему я не исправлю.
Поэтому необходимо придумать правило в robots.txt которое не давало бы индексировать "косячные" товары в корневой директории katalog, но разрешало бы индексировать подкаталоги и товары находящиеся в них.
Решение данной проблемы предложил Linfuby, его ответ:
Эта локальная проблема у Warp от YooTheme. Если не ошибаюсь конечно.
В общем загвоздка только с компонентом JoomShopping. У остальных компонентов 404 выводится корректно.
Спотыкается всё на этом коде:
Код:
$this->config->set('page_class', trim(preg_replace(array('/columns-(\d+)/', '/columnwidth-(\d+)/'), array('', ''), $this->application->getParams()->get('pageclass_sfx'))));
Получается, что неправильно определяется компонент.
Если сменить строку на:
Код:
$this->config->set('page_class', trim(preg_replace(array('/columns-(\d+)/', '/columnwidth-(\d+)/'), array('', ''), $this->application->getParams('com_jshopping')->get('pageclass_sfx'))));
то 404 отрабатывается, потому что я явно указываю что нужно брать параметры компонента JoomShopping.
Придется выявлять различия между шаблоном от YooTheme и каким-нибудь другим.
Почему грешу на роутер JoomShopping'а, потому что с другими компонентами 404 обрабатывается отлично.
У меня аналогичная проблема как и у alexeras. Подскажите, в каком файле нужно изменить код предложенный Linfuby ?