Joomla+Virt+SEF404 настройка

R3
На сайте с 16.08.2011
Offline
52
2077

Облазил все темы так или иначе связанные с настройкой SEF404, но ответа так и не нашёл. Проблема у меня следующая:

после настройки SEFа добился того чего хотел, ссылки стали красивыми типа

http://мой сайт/rav-slezak/smesitel-dlya-dusha-nil-n178.5.html

то есть Сайт/Производитель/Название товара.html

и ничего не предвещало беды. Но после очередной загрузки товара я заметил следующее:

Производитель RAV Slezak

ссылка генерится: http://мой сайт/ОХО/smesitel-dlya-umivalnika-nil-n121.5.html

то есть совсем с другого производителя. Полез в Панель управления, просмотр SEF ссылок и что я вижу... при загрузке на каждый товар генерится ссылки со всеми имеющимися в базе производителями, и самое страшное что выбирает он в качестве основной ссылки НЕВЕРНУЮ, то есть с чужим производителем.

И теперь не знаю что делать, товаров в магазине всё больше и больше, большая часть проиндексирована, как настроить SEF чтобы он стабильно работал? Всякий раз руками править каждую загрузку.... это сколько же времени надо. И не факт что он не добавляет заново удалённые мной вручную ссылки. Есть мысли по этому поводу?

SEOmagic
На сайте с 21.11.2005
Offline
136
#1

Кеширование на сайте работает?

R3
На сайте с 16.08.2011
Offline
52
#2

да работает

я некоторые ссылки менял, т.к. они неверно переводились или какие то мелкие косяки были. Если я кеш отрублю всё полетит

к тому же как я понимаю само формирование ссылок от разных производителей - это глюк какой то. Может быть в коде поправить? Мне же не нужны все функции SEFа. Знать бы где править.

SEOmagic
На сайте с 21.11.2005
Offline
136
#3

формирование ссылок, в принципе, не зависит от кеша самой системы - но может - есть же еще кеш урлов

вообще кеш ссылок можно пересохранять

помимо всяких jos_redirect есть папка components\com_sh404sef\cache\ для хранения прочего

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

а вообще перед добавлением, желательно кеш джумлы чистить - http://www.nonumber.nl/extensions/cachecleaner хотя бы этим

в принципе, проблема больше локальная и решается не общим, а частным, но тут, мне кажется именно кеш подлит

так, что бекапится и сохранять кеш sh404sef перед этим, чтобы можно было вернуть

[Удален]
#4

да скорее всего кеш.... если не сработает попробуйте убрать на страницах Сайт/Производитель/ все ссылки на товары других производителей, т.е. на Сайт/Производитель1/товар и Сайт/Производитель1 не должно быть ссылок на Сайт/Производитель2/товар...

R3
На сайте с 16.08.2011
Offline
52
#5

Решил задачу)

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

а проблема была в стороннем коде, который я благополучно впихнул в shop.browse

Код должен был добавлять ссылку на все товары этого производителя на странице показа товаров browse

В нём одна переменная записывает на себя массив из id производителя. У меня на странице жёстко выводится по 20 товаров, соответственно было записано 20 значений id. И почему то впереди добавлялся ноль и весь ряд смещался на одну позицию. Не стал разбираться почему, просто удалил кусок кода. На странице имя производителя выводилось нормально, а ссылка на него как раз смещалась на одну позицию. Если рядом два разных производителя, то смещение давало в ссылке предыдущего производителя.

Так как надобность в этом отпала, разбираться не стал, просто удалил код и все. Спасибо за советы. Вместе мы сила!!!)

вот сама проблема:


$manufacturer_link = "";
$manufacturer_id = $ps_product->get_manufacturer_id($db_browse->f('product_id'));
$manufacturer_name = $ps_product->get_mf_name($db_browse->f('product_id'));
if( $manufacturer_id && !empty($manufacturer_name) ) {
$link = JRoute::_("$mosConfig_live_site/index.php?page=shop.browse& manufacturer_id=$manufacturer_id&option=com_virtuemart&Itemid=".$Itemid);
$text = ''.$manufacturer_name.'';
$manufacturer_link .= $text; }
$products($i)('manufacturer_link') = $manufacturer_link;
$products($i)('manufacturer_name') = $manufacturer_name;

форум не даёт вставлять квадратные скобки

в 2х последних строках скобки квадратные!

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий