Как убрать дубли ссылок?

Кто может подсказать, как убрать дубли ссылок.

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 miran83
  • Группа: Пользователь
  • Сообщений: 23
  • Регистрация: 26.11.2010

08.12.2010 19:09

Подскажите как убрать дубли ссылок для товара.
Например:
Есть товар Product
У него есть адреса
http://www.site.ru/category/product
http://www.site.ru/product

Как сделать так, чтобы не создавались адреса второго типа?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

08.12.2010 19:31

В частности, эту проблему решает модуль Magento SEO: короткие ссылки для товаров

#3 miran83
  • Группа: Пользователь
  • Сообщений: 23
  • Регистрация: 26.11.2010

08.12.2010 19:48

Просмотр сообщенияДмитрий Федюк (08.12.2010 19:31) писал:

В частности, эту проблему решает модуль Magento SEO: короткие ссылки для товаров

Этот модуль убирает дубли ссылок?
Если, нет - тогда меня это не интересует.

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

08.12.2010 20:20

Точно, это я напутал.
Попробуйте следующее:
Admin -> System -> Configuration -> Catalog -> Search Engine Optimizations -> Use Categories Path for Product URLs => No

#5 miran83
  • Группа: Пользователь
  • Сообщений: 23
  • Регистрация: 26.11.2010

08.12.2010 20:51

Просмотр сообщенияДмитрий Федюк (08.12.2010 20:20) писал:

Точно, это я напутал.
Попробуйте следующее:
Admin -> System -> Configuration -> Catalog -> Search Engine Optimizations -> Use Categories Path for Product URLs => No

Это не решение проблемы.
Категория должна быть в урле.

#6 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

08.12.2010 21:07

Тогда вам нужно перекрыть метод Mage_Catalog_Model_Product::getCategoryId
В стандартной сборке он работает так:
    public function getCategoryId()
    {
        if ($category = Mage::registry('current_category')) {
            return $category->getId();
        }
        return false;
    }


Если Mage::registry('current_category') не определено, то товарный раздел не включается в ссылку на товар.
Вам нужно переделать логику этого метода следующим образом: смотреть, в какие товарные разделы входит ваш товар и выбирать один из них (там уж сами смотрите, какой именно).

#7 miran83
  • Группа: Пользователь
  • Сообщений: 23
  • Регистрация: 26.11.2010

09.12.2010 21:57

Просмотр сообщенияДмитрий Федюк (08.12.2010 21:07) писал:

Тогда вам нужно перекрыть метод Mage_Catalog_Model_Product::getCategoryId
В стандартной сборке он работает так:
    public function getCategoryId()
    {
        if ($category = Mage::registry('current_category')) {
            return $category->getId();
        }
        return false;
    }


Если Mage::registry('current_category') не определено, то товарный раздел не включается в ссылку на товар.
Вам нужно переделать логику этого метода следующим образом: смотреть, в какие товарные разделы входит ваш товар и выбирать один из них (там уж сами смотрите, какой именно).


Это всё надо делать в рамках этой функции?

#8 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

09.12.2010 22:00

Да, достаточно перекрыть только эту функцию.
Алгоритм построения ссылок вызовет её, когда надо.

#9 miran83
  • Группа: Пользователь
  • Сообщений: 23
  • Регистрация: 26.11.2010

21.12.2010 23:21

Просмотр сообщенияДмитрий Федюк (09.12.2010 22:00) писал:

Да, достаточно перекрыть только эту функцию.
Алгоритм построения ссылок вызовет её, когда надо.

Не получается это сделать.
Можешь помочь?
Может уже сталкивался с этим?

#10 Евгений Шевченко (вор)
  • ворует чужие модули и перепродаёт
  • Группа: Заблокирован
  • Сообщений: 126
  • Регистрация: 17.08.2010

21.12.2010 23:27

У меня напротив стоит использование категории в адресе, но в каталоге адрес все равно формируется без категории

#11 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

29.12.2010 14:51

Добавил функцию удаления дублей страниц в свой модуль Magento: «Поисковая оптимизация».
Включать или нет в URL страниц товаров название товарного раздела - вопрос неоднозначный.
С одной стороны, включение в ссылку на страницу товара называния категории увеличивает вес страницы по ключевым словам из названия категории.
С другой стороны, такое включение уменьшает вес страницы по ключевым словам из названия товара, потому что слова в URL имеют тем больший вес, чем ближе они к началу URL.
Поэтому я оставил его решение на усмотрение администратора: в настройках модуля имеется галочка, которая оказывает эффект сразу на все товары.
Но в любом случае не будет так, что 2 ссылки ведут на одну и ту же страницу, как это происходит в стандартной сборке - эту проблему модуль решает раз и навсегда.

#12 miran83
  • Группа: Пользователь
  • Сообщений: 23
  • Регистрация: 26.11.2010

09.01.2011 23:26

Просмотр сообщенияДмитрий Федюк (29.12.2010 14:51) писал:

Добавил функцию удаления дублей страниц в свой модуль Magento: «Поисковая оптимизация».
Включать или нет в URL страниц товаров название товарного раздела - вопрос неоднозначный.
С одной стороны, включение в ссылку на страницу товара называния категории увеличивает вес страницы по ключевым словам из названия категории.
С другой стороны, такое включение уменьшает вес страницы по ключевым словам из названия товара, потому что слова в URL имеют тем больший вес, чем ближе они к началу URL.
Поэтому я оставил его решение на усмотрение администратора: в настройках модуля имеется галочка, которая оказывает эффект сразу на все товары.
Но в любом случае не будет так, что 2 ссылки ведут на одну и ту же страницу, как это происходит в стандартной сборке - эту проблему модуль решает раз и навсегда.

итак, у меня ситуация такая:
- несколько магазинов
- 1 товар во всех магазинах
- 1 товар однозначно соответствует одной категории для каждого магазина
- мне надо чтобы на сайте ссылки для товаров формировались с учётом категорий и не имели дублей

Решит ли данную задачу твой модуль?
В карте сайта будут использоваться какие адреса ссылок для товара?

#13 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

10.01.2011 08:51

Если у вас одни и те же товары в нескольких магазинах, каждый магазин на своём домене, и все магазины работают на единственном экземпляре CMS, то мой модуль будет работать с каждым таким магазином независимо:
1) в рамках каждого из магазинов адрес страницы конкретного товара будет уникальным, и он будет содержать товарный раздел.
2) карта сайта также будет включать точно такой же адрес на страницу товара, как и в других местах.
3) лицензия на мой модуль приобретается отдельно для каждого домена

Замечу, что поисковые системы всё равно могут посчитать ваши страницы дублирующими, потому что у вас одни и те же товары, пусть и на разных доменах. Думаю, Яндексу не составит труда определить и аффилированность магазинов: по адресу IP, например.

#14 miran83
  • Группа: Пользователь
  • Сообщений: 23
  • Регистрация: 26.11.2010

10.01.2011 13:19

Просмотр сообщенияДмитрий Федюк (10.01.2011 08:51) писал:

Если у вас одни и те же товары в нескольких магазинах, каждый магазин на своём домене, и все магазины работают на единственном экземпляре CMS, то мой модуль будет работать с каждым таким магазином независимо:
1) в рамках каждого из магазинов адрес страницы конкретного товара будет уникальным, и он будет содержать товарный раздел.
2) карта сайта также будет включать точно такой же адрес на страницу товара, как и в других местах.
3) лицензия на мой модуль приобретается отдельно для каждого домена

Замечу, что поисковые системы всё равно могут посчитать ваши страницы дублирующими, потому что у вас одни и те же товары, пусть и на разных доменах. Думаю, Яндексу не составит труда определить и аффилированность магазинов: по адресу IP, например.


- CMS одна
- лицензию мне надо приобрести для каждого домена отдельно: для основного, на котором установлена cms и дополнительного?
- мне надо, чтобы пока работало все нормально на дополнительном адресе - это возможно?

По поводу Яндекса - всё продумано. IP - не может являться признаком аффилированности, товары будут частично одинаковы (у одного товара не может быть разных технических характеристик)

#15 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

10.01.2011 13:36

Для тестовых доменов (например, test.<ваш_магазин.ru>) дополнительная лицензия не нужна, просто скажете - и я сделаю, чтобы на тестовом домене все работало, как на основном.
Для localhost тоже не нужна.
Нужна только для рабочих магазинов, где продавать будете.

#16 miran83
  • Группа: Пользователь
  • Сообщений: 23
  • Регистрация: 26.11.2010

10.01.2011 13:47

Просмотр сообщенияДмитрий Федюк (10.01.2011 13:36) писал:

Для тестовых доменов (например, test.<ваш_магазин.ru>) дополнительная лицензия не нужна, просто скажете - и я сделаю, чтобы на тестовом домене все работало, как на основном.
Для localhost тоже не нужна.
Нужна только для рабочих магазинов, где продавать будете.

скиньте мне в личку свои контакты (почта аська).
у сисадмина есть к Вам ряд вопросов. По скайпу Вы не отвечаете.

#17 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

10.01.2011 13:59

Вопросы по модулю пусть задаёт на форуме - для этого форум и предназначен.

#18 miran83
  • Группа: Пользователь
  • Сообщений: 23
  • Регистрация: 26.11.2010

10.01.2011 15:38

Просмотр сообщенияДмитрий Федюк (10.01.2011 13:59) писал:

Вопросы по модулю пусть задаёт на форуме - для этого форум и предназначен.

а как будет со старыми ссылками?
допустим поисковая система знает две ссылки
1. www.site.ru/tovar.html
2. www.site.ru/categoriya/tovar.html

После использования модуля останется www.site.ru/categoriya/tovar.html
Что будут получать поисковики при переходе по ссылке www.site.ru/tovar.html? Можно организовать 301 редирект?

#19 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

10.01.2011 15:47

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

#20 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8884
  • Регистрация: 20.02.2010

01.03.2011 07:48

Когда новички будут читать тему - пусть знают, что функция редиректа в SEO-модуль добавлена.
И теперь SEO-модуль - часть Российской сборки.

Поделиться темой: