|
|
29.08.2014, 17:39
|
|
Вячеслав
Студия "Кронос"

Зарегистрирован: 2013-04-12
Сообщений: 91
|
Проверил сайт собранный на данной CMS. Собирался год назад. Количество страниц в sitemap 2000 шт. В инфоблоке товара установлено по 20 объектов на страницу. В некоторых разделах количество объектов более 20, отсюда и получаются ссылки следующей страницы вида "/catalog/?curPos=20&cur_cc=886". Вообще сайт хорошо индексируется поисковиками. Но вот обнаруженная проблема - товары, которые находятся на странице с ссылками "/catalog/?curPos=20&cur_cc=886" практически не проиндексированы. Это катастрофа для СЕО.
Вопрос: как изменить ссылки вида "/catalog/?curPos=20&cur_cc=886" на нормальные "/2/"?
|
|
|
29.08.2014, 17:45
|
|
Вячеслав
Студия "Кронос"

Зарегистрирован: 2013-04-12
Сообщений: 91
|
Где то на форуме читал, что это возможно будет изменять в версии 5.4.
Вообще ситуация довольно критичная для продвижения крупных сайтов
|
|
|
29.08.2014, 22:03
|
|
Nexwich
Панасин Александр

Зарегистрирован: 2011-04-05
Сообщений: 1037
|
Как насчет RewriteRule?
Задайте регулярное выражение и прыгайте от счастья.
Все эти модули делают почти тоже самое только с использованием интерфейса
RewriteCond %{HTTP_HOST} ^example.ru$ [NC]
RewriteBase /
RewriteRule ?curPos=(.*)0 http://example.ru/catalog/$1 [L]
Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
|
|
|
02.09.2014, 11:01
|
|
Вячеслав
Студия "Кронос"

Зарегистрирован: 2013-04-12
Сообщений: 91
|
Дело в том, что стандартные правила для .htaccess в корне сайта тут не работают.
Особенно порадовала ссылка на базу знаний http://www.netcat.ru/support/knowledge/knowledge_88.html . Единственной что можно поменять это сайт с www на без и обратно.
Подобные правила
Код:RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /catalog/ustroystva-vvoda/myshi/?cur_cc=$1&curPos=$2 [L]
работаю на других ЦМС и без них.
Про какой интерфейс вы говорите, про "Список переадресаций" в админке? Там работает только конкретная перадресация с одной страничку на другую, а пример из коробочной версии типа /catalog/1/2/?cur_cc=886&curPos=12 на /catalog/1/2/2.html работоспособностью не обладают.
|
|
|
02.09.2014, 15:46
|
|
Константин
Константин
Зарегистрирован: 2010-07-20
Сообщений: 210
|
С 5.4 внедрён модуль «Маршрутизация», с его помощью можно настроить все урлы на сайте на свой вкус, включая постраничную навигацию.
Здесь есть примеры.
Ваша задача решается добавлением одного правила.
P.S: Если в разделе выводится только один инфоблок, выставьте опцию «Выводить только первый инфоблок» для того, чтобы отбросить в урле это &cur_cc=886
orlovkn
|
|
|
02.09.2014, 18:54
|
|
Вячеслав
Студия "Кронос"

Зарегистрирован: 2013-04-12
Сообщений: 91
|
Да, вы правы.
Решил таким образом:
1. в маршрутах добавил /{folder}/{page}/ - убирается curPos вместе со значением, cur_cc=886 убирается выбором в разделе «Выводить только первый инфоблок». Подстановка значения {infoblock_id} - идентификатора желаемого результата не дала. Кстати похожие проблемы с выводом 2-го инфоблока наблюдались в longpage сайтах.
2. Ну а второй текстовый компонент, который зачастую просто необходим можно вызвать из базы в нужном месте:
Код:<?php
$nc_core->db->query("SELECT * FROM `MessageXXXX` where `Subdivision_ID` = '$sub'" );
//MessageXXXX - текстовый инфоблок
$arr = $nc_core->db->last_result;
if (!empty($arr)) {
foreach ($arr as $row) {
$a = $row->Sub_Class_ID;
}
}
echo nc_objects_list($sub, $a);
?>
Константин, спасибо за свежую информацию. Благо, что есть разработчики и напильник
|