Короткие ссылки на товар

#
Короткие ссылки на товар
Здравствуйте!
Помогите, пожалуйста.
Есть магазин со сложной структурой подгрупп примерно такого вида:
//shop/group1/subgroup11/subgroup111/subgroup1111/123/.
Соответственно все товары расположены на 5-ом уровне вложенности.
Вопрос как сделать, чтобы товары были на первом уровне вложенности?
Можно конечно, перенести все товары в корень /shop/, но при большом количестве товаров, это не самый лучший способ.
Можно ли эту задачу решить по другому?
Например, как то сделать короткие ссылки на все товары вида
//shop/123/  ?

Я почитал форум м в XSL шаблоне:
<a href="{/shop/path}{fullpath}{path}/" class="cat_title">
я убрал {fullpath}. Теперь ссылки на товары стали вида:
//shop/123/
Но при переходе на такую страницу выдается ошибка 404 - "страница не существует".
Не пойму что дальше делать. Как теперь подставить информацию о товаре на нужную страницу вида:
//shop/123/      ?

Help!
заранее спасибо!
#
Re: Короткие ссылки на товар
Ау-ау. Надеюсь меня слышат
#
Re: Короткие ссылки на товар
"У меня был пятиэтажный дом, но мне хотелось, чтобы в каждую квартиру можно было зайти прямо с улицы, не поднимаясь на этаж.
Конечно, можно было построить их все на первом этаже, но это не самый лучший способ.
Я взял, и сломал все лестницы в подъездах.
Но теперь, когда я хочу зайти в свою квартиру на третьем этаже, я не могу туда попасть!
Не пойму, что дальше делать."

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

По существу же, вы не с той стороны решаете проблему.
Система определяет на какой странице (в группе или в карточке товара) мы находимся - по url, если в url чего-то не хватает, то естественно система не может определить где мы, и выдает ошибку 404.
Для интернет-магазина определение происходит в коде, который находится на вкладке "Настройки страницы" в ТДС "Интернет-магазин".
Если у вас хватит познаний в php и sql, вы можете попробовать дописать дополнительное определение по последнему элементу url, поискав в БД товар, имеющий такой же путь как последний элемент url и принадлежащий нужному интернет-магазину. Если такой товар нашелся, то вы находитесь в карточке товара, то есть можно передать id найденного товара дальше в ТДС для генерации страницы товара. Работы от силы минут на тридцать.

На самом деле, это конечно извращение и противоречит нормальной логике работы HostCMS, но чего уж мне стесняться, после советов данных Натальей в этой теме? - Раз пошла такая пьянка - режь последний огурец!
Заказов не беру. Консультирую редко.
#
Re: Короткие ссылки на товар
Kotoff, спасибо Вам за такой толковый ответ. Особенно мне понравилась часть про пятиэтажный дом. В ней все абсолютно понятно и доходчиво .

Познаний моих в php и sql может и хватит, а вот с работой Hostcms - сложнее. Есть еще много белых пятен в работе системы.

Вы пишете:
"...На самом деле, это конечно извращение и противоречит нормальной логике работы HostCMS..."

А как Вы порекомендуете решить данную задачу?
Изначально, задача создания коротких ссылок на товар возникла из-за предположения, что товары на 5-ом уровне вложенности плохо индексируются поисковиками. Поэтому возникла необходимость создания коротких ссылок на товар.
Пока я вижу три способа решить данную задачу.
1. Способ.
Перенос всех товаров  средствами Hostcms в корень магазина ( "в одну большую кучу" ) . Создание каждому товару средствами Hostcms ярлыка и размещение этих ярлыков в соответствующих каталогах и подкаталогах (где были ранее товары до перемещения в корень магазина).
При этом получатся короткие ссылки на товар вида //shop/123/. А за счет ярлыков сохраниться навигация по каталогам и подкаталогам.
Это наверное самый логичный способ, хотя и самый трудоемкий при большом количестве товара.
2. Способ.
Создание на все товары (а желательно еще и на каталоги и подкаталоги) ссылок вида:
//shop/group1_subgroup11_subgroup111_subgroup1111_123 вместо существующих ссылок вида:
//shop/group1/subgroup11/subgroup111/subgroup1111/123/.
3. Способ.
Собственно способ с которого началось создание темы: создание коротких ссылок на все товары.

Вопросы:
1. Какой способ решения задачи наиболее правильный?
2. Реализуем ли способ №2? Если реализуем, то где копать?
3. Какие подводные камни могут быть при реализации  способа №3?
4. Может быть еще как-то можно решить данную задачу?

Надеюсь на ответ.
Заранее спасибо!
#
Re: Короткие ссылки на товар
andrey55555, вы опять подходите к вопросу не с той стороны Вы сразу начинаете решать задачу, вместо того чтобы подумать - а надо ли? andrey55555 писал(а):
Изначально, задача создания коротких ссылок на товар возникла из-за предположения, что товары на 5-ом уровне вложенности плохо индексируются поисковиками
А откуда такое предположение, и основывается ли оно на каких-то реальных фактах?
Мой личный опыт подсказывает, что глубина вложенности url не влияет на качество индексации. Но на всякий случай я проконсультировался у нашего seo-специалиста, и он поддержал мою точку зрения.

Возможно вы путаете уровень _вложенности_папок_ с требованиями по уровню _вложенности_страниц_, которое есть на ссылочных биржах типа sape, когда страница с размещаемой продажной ссылкой должна быть не глубже двух _переходов_ по ссылкам.

Вот смотрите: предположим, у вас есть товар с url mysite.ru/shop/group1/subgroup11/subgroup111/subgroup1111/123/
Если считать по иерархии папок, то товар лежит на 6м уровне вложенности папок.
Но если мы размещаем на главной странице прямую ссылку на subgroup1111, то товар оказывается на втором уровне вложенности страниц, хотя его url не изменился!
(главная страница - это нулевой уровень, раздел subgroup1111 это первый уровень, потому что на нее есть прямая ссылка, а товар тогда второй.)

То есть, если вы сделаете на главной странице сайта, хотя бы простое меню из списка корневых групп магазина, то вы уже поднимете уровень вложенности страницы с 6 до 5, а если вы разместите древовидное меню со ссылками на все подгруппы, то все товары у вас сами собой окажутся на втором уровне вложенности.

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

Но я скажу вам больше.
Все эти уровни вложенности, это по большому счету тоже не столь уж важно.
Если где-то в интернете (не важно, на этом же сайте, или на каком-то другом) есть ссылка на какую-то страницу, то эта страница рано или поздно _БУДЕТ_ проиндексирована (ну если только сам сайт не забанен).
А уровни вложенности страниц, они всего лишь позволяют сделать индексацию немного быстрее.

Так что решение вашей проблемы лежит в создании раздела Sitemap и в хорошем меню сайта.

P.S. По предложенным вами способам - первый какой-то на редкость муторный и неудобный. Представьте себе админа, которому надо будет размещать товары в вашем магазине - я бы на его месте вас, как разработчика, проклял!
Второй способ - не подойдет из-за того, что символ _ может встречаться не только как разделитель групп, но и как часть url конкретной группы, из-за чего может возникнуть неоднозначность в определении пути и ошибка 404.
Третий способ, пожалуй, наиболее хорош, и о нем я написал вам в свое предыдущем посте. Но надо ли вам это? И к тому же, вы ведь не сможете вывести в корне магазина _ВСЕ_ товары, если их, допустим хотя бы 500. А если 5000? Дело даже не в том, что вам для этого скорее всего не хватит памяти на хостинге, а просто ни один пользовательно не станет разбираться более чем в сотне товаров на странице.
Значит вам придется делать в корне магазина пагинацию! Значит все товары, которые не поместятся на первую страницу, уже автоматически окажутся на более глубоком уровне вложенности, что опять же противоречит вашей надуманной задаче.

И вот пока писал все это, я придумал для вас еще одно решение, в дополнение к sitemap.xml и меню сайта.
Вы можете, дописав буквально пару строк в ТДС интернет-магазин сделать так, чтобы когда вы находитесь в корне магазина, вам после списка групп выводились все товары магазина изо всех групп и подгрупп, партиями по N штук, с пагинацией. И не надо для этого ни создавать ярлыки, ни придумывать сложные извращения с путями - пусть ссылка на товар ведет далеко в глубь, но она же находится в корне магазина, а значит до товара остался один переход!
Заказов не беру. Консультирую редко.
#
Re: Короткие ссылки на товар
Kotoff, спасибо огромное Вам за ваши ответы.
Немного предыстории.
Есть старый магазин на базе OSC. Было принято решение создать новый, еще лучше на базе Hostcms.
Старый существует около 5-и лет. Новый около 2-х.
Старый проиндексирован полностью. Новый частично.
Возник логичный вопрос - почему так? И было решено что-то делать .
Первым делом была сделана карта сайта. Правда она ссылается не на сами товары, а на их разделы.
Вторым этапом был сделан Sitemap. В файле robots  был прописан путь к Sitemap. В Google в "Инструментах для веб мастеров" был зарегистрирован сайт и отправлен Sitemap. Индексация начала двигаться, но медленно и на каком-то этапе остановилась. И вот с марта особо ни какого прогресса.
В файле  Sitemap  ссылки вида:
//shop/group1/subgroup11/subgroup111/subgroup1111/123/.

Проконсультировавшись со специалистами по SEO получили ответ, что это ссылка 5-го (или 6-го - не суть) уровня (хотя к товару по ней можно попасть в ОДИН КЛИК!).

В старом магазине такой же каталог товаров и ссылки на разделы и подразделы и товары организованы по Способу № 2 (который я описывал выше).

Вот и засомневавшись где правда и стали думать о создании коротких ссылок...

Вы пишете:
"...Второй способ — не подойдет из-за того, что символ _ может встречаться не только как разделитель групп, но и как часть url конкретной группы, из-за чего может возникнуть неоднозначность в определении пути и ошибка 404...".
А если пересмотреть в ИМ все ссылки на разделы и подразделы и товары и убрать символы "_", то реализуем ли принципиально Способ № 2 ?

Вы пишете:
Цитата:
И вот пока писал все это, я придумал для вас еще одно решение, в дополнение к sitemap.xml и меню сайта.
Вы можете, дописав буквально пару строк в ТДС интернет-магазин сделать так, чтобы когда вы находитесь в корне магазина, вам после списка групп выводились все товары магазина изо всех групп и подгрупп, партиями по N штук, с пагинацией.

Это как я понял предложение описанное в теме:
"как вывести список всех товаров в магазине в корне раздела?"
http://www.hostcms.ru/forums/22/2371/
Я Вас правильно понял?

И еще корректен ли Способ № 3 ?

Надеюсь на ответ.
Заранее спасибо!
#
Re: Короткие ссылки на товар
andrey55555, по поводу предыстории - надо бы посмотреть на ваш сайт, возможно у вас какие-то ошибки в интеграции.
Своему знакомому seo-специалисту я доверяю больше, чем незнакомым вашим - хотя бы потому, что я на протяжении уже нескольких лет наблюдаю за ходом и результатами его работы, и мы не один час провели в пререканиях пытаясь найти золотую середину между идеальным SEO для него и хорошим юзабельным сайтом для меня, как для разработчика.

andrey55555 писал(а):
Это как я понял предложение описанное в теме:
“как вывести список всех товаров в магазине в корне раздела?»
http://www.hostcms.ru/forums/22/2371/
Я Вас правильно понял?
Да, там описано примерно то же самое о чем я вам говорил. Но можно решить это и в рамках ТДС, не обязательно в макет.

andrey55555 писал(а):
А если пересмотреть в ИМ все ссылки на разделы и подразделы и товары и убрать символы _
То это все равно плохо. Потому что придется сказать админу, что символ _ в названиях url использоавать нельзя.
А любой метод, основанный на подобных запретах и ограничениях - это плохо, и всеми силами надо стараться этого избежать. Потому что если выбирать кто должен страдать -  разработчик сайта, или его администаторы, модераторы и пользователи, то всегда надо выбирать разработчика.
Вот смотрите: например у вас группа админов, которые забивают товары в магазин, следят за количеством, удаляют старые и т.д. Им говорят мол, "использовать знак _ в путях нельзя, иначе получится жопа". Потому начинается - кто-то забыл и написал его случайно, а кто-то просто всегда пробелы заменяет на подчеркивание а не на тире, а в каком-то пути надо именно подчеркивание, потому что тире там уже используется и логичнее будет если подчеркивание использовать тоже, для большей наглядности url. Потом кто-то уволился, на его место пришел новичок, а ему про _ не сказали... Ну и так далее...
Вы поняли, что я хочу вам сказать?
В общем - нафиг, нафиг...

andrey55555 писал(а):
И еще корректен ли Способ № 3?
Корректен в отношении чего? Я уже писал выше, как его можно реализовать, и что это будет работать, и что вместе с тем это извращение с точки зрения устройства HostCMS, но не с точки зрения устройства сайта как такового. Какой еще нюанс вас интересует?
Заказов не беру. Консультирую редко.
#
Re: Короткие ссылки на товар
Вы пишете:
Цитата:
Корректен в отношении чего? Я уже писал выше, как его можно реализовать, и что это будет работать, и что вместе с тем это извращение с точки зрения устройства HostCMS, но не с точки зрения устройства сайта как такового. Какой еще нюанс вас интересует?

   Дело в том, что к сайту прикручен самодельный ЦА, который то же работает с товарами. Будет ли там все корректно работать?
Хотя, по идее, в БД ни чего не меняется и с товарами ни чего не делается. Лишь генерируются новые дополнительные страницы по ссылкам вида:
//shop/123/
Да?

Получается информация о товаре будет доступна как по короткой ссылке:
//shop/123/
так и по старой ссылке:
//shop/group1/subgroup11/subgroup111/subgroup1111/123/
Да?

А чтоб короткие ссылки были "видны" в корне ИМ, наверное надо дополнительно еще реализовать Вашу идею:
Цитата:
Вы можете, дописав буквально пару строк в ТДС интернет-магазин сделать так, чтобы когда вы находитесь в корне магазина, вам после списка групп выводились все товары магазина изо всех групп и подгрупп, партиями по N штук, с пагинацией.

Да?
#
Re: Короткие ссылки на товар
andrey55555 писал(а):
Дело в том, что к сайту прикручен самодельный ЦА
у вас прям-таки не сайт а кунсткамера получается

Ответ "да" на все три вопроса.
Заказов не беру. Консультирую редко.
#
Re: Короткие ссылки на товар
Цитата:
у вас прям-таки не сайт а кунсткамера получается


А кому сейчас легко?

Спасибо, Kotoff, огромное. Вы здорово прояснили ситуацию!

Пока все понятно. Буду думать, куда и как плыть!

Если будут вопросы я у Вас спрошу, хорошо?

Удачи Вам!
Авторизация