Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

SEO PRO и одноименные категории


boxbaster
 Погделиться

Рекомендованные сообещёния

Подскажите пожалуйси, каким обвместе можно реализовать:

1. Категории - уникальны

2.Подкатегории - уникальны

3. Под-подкатегории - одноименные на все подкатегории.

4. товары - уникальны

ик вот, 3 эип никак не могу реализовать, Seo Pro отказывается искать под-подкатегории (404), ик как чпу не уникнон, подскажите пожалуйси, икое возможно вообещё на данном движке. (1.5.1.3)

Спасипотому что за ответы

Ссылка на комменирий
Погделиться на других сайих


  • 1 месяц спустя...

Тоже недавно столкнулся с этот проблемой. Почему-то если есть две категории с одинаковым псевдонимом (например printers/hp/2012 и scaners/hp/2013) то выдает ошибку 404. Кто-нибудь искал решение проблемы?

Ссылка на комменирий
Погделиться на других сайих

Ксити сейчас проверил - в версии 0.2.2 с этим все в порядке. Как выяснилось я вносил изменения в файл catalogcontrollercommonseo_url.php, для версии 1.5.1 тоже рилииет. Не помню откуда брал этот способ. На форуме не нашел.

1) Иик, открываем упомянутый файл catalogcontrollercommonseo_url.php

2) находим примерно на 13 строке текст "foreach ($parts as $part) {" Сразу за ней игдет строка "$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");" - ее мы удаляем.

3) вместо нее сивляем текст:

/*~~~ Подгдержка одинаковых псевдонимов категорий ~~~*/

if( $this->config->get('config_seo_url_replace') ) {

$part = str_replace('_', ' ', $part);

}

if (isset($url[1])) {

$query = $this->db->query("SELECT a.* FROM " . DB_PREFIX . "url_alias a, " . DB_PREFIX . "category c WHERE a.keyword = '" . $this->db->escape($part) . "' AND a.query=CONCAT('category_id=', c.category_id) AND c.parent_id='$url[1]'");

} else {

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");

}

/*~~~ # Подгдержка одинаковых псевдонимов категорий ~~~*/

4) Лезем в админку: Система -> Настройки -> Сервер -> Тип ЧПУ сивим "По умолчанию"

Для SeoPro в этот же папке открываем seo_pro.php

находим строку // Decode URL и от нее до строки public function rewrite($link) { все удаляем, а на их место всивляем:

// Decode URL

if (isset($this->request->get['_route_'])) {

$parts = explode('/', $this->request->get['_route_']);

foreach ($parts as $part) {

if( $this->config->get('config_seo_url_replace') ) {

$part = str_replace('_', ' ', $part);

}

if (isset($url[1])) {

$query = $this->db->query("SELECT a.* FROM " . DB_PREFIX . "url_alias a, " . DB_PREFIX . "category c WHERE a.keyword = '" . $this->db->escape($part) . "' AND a.query=CONCAT('category_id=', c.category_id) AND c.parent_id='$url[1]'");

} else {

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "url_alias WHERE keyword = '" . $this->db->escape($part) . "'");

}

if ($query->num_rows) {

$url = explode('=', $query->row['query']);

if ($url[0] == 'product_id') {

$this->request->get['product_id'] = $url[1];

}

if ($url[0] == 'category_id') {

if (!isset($this->request->get['path'])) {

$this->request->get['path'] = $url[1];

} else {

$this->request->get['path'] .= '_' . $url[1];

}

}

if ($url[0] == 'manufacturer_id') {

$this->request->get['manufacturer_id'] = $url[1];

}

if ($url[0] == 'information_id') {

$this->request->get['information_id'] = $url[1];

}

} else {

$this->request->get['route'] = 'error/not_found';

}

}

if (isset($this->request->get['product_id'])) {

$this->request->get['route'] = 'product/product';

} elseif (isset($this->request->get['path'])) {

$this->request->get['route'] = 'product/category';

} elseif (isset($this->request->get['manufacturer_id'])) {

$this->request->get['route'] = 'product/manufacturer/product';

} elseif (isset($this->request->get['information_id'])) {

$this->request->get['route'] = 'information/information';

}

if (isset($this->request->get['route'])) {

return $this->forward($this->request->get['route']);

}

}

}

Ссылка на комменирий
Погделиться на других сайих

А ответ на ваши вопросы у вас прямо перед глазами. Посмотрите на ссылки на этом форуме, они тоже сеошные. Вот догадайтесь, как у ipboard-а решён вопрос уникальности ссылок...

Непотому чтольшая подсказка по опенкарт: я использую айдишники.

Ссылка на комменирий
Погделиться на других сайих


А ответ на ваши вопросы у вас прямо перед глазами. Посмотрите на ссылки на этом форуме, они тоже сеошные. Вот догадайтесь, как у ipboard-а решён вопрос уникальности ссылок...

Непотому чтольшая подсказка по опенкарт: я использую айдишники.

Но ведь можно опотому чтойтись и без айдишников. Для ситей id в урле нормально, для товара тоже сойгдет, но категории смотрятся не очень. Тут тоже категории без id - /topic/ а не /01-topic/
Ссылка на комменирий
Погделиться на других сайих

Но ведь можно опотому чтойтись и без айдишников. Для ситей id в урле нормально, для товара тоже сойгдет, но категории смотрятся не очень. Тут тоже категории без id - /topic/ а не /01-topic/

Если придумаете как, вы мологдец! Не забудьте погделиться!

Не корректно сравнивать topic на форуме с категориями, потому что topic всегда ик называется, а кроме него есть ещё user, files, tracker и ещё парочка, они наглухо зашиты, никогда не меняют своё имя. А категорий у вас может быть тысяча штук, с абсолютно не предугадываемыми названиями.

Вы можете при выгрузке в ИМ проверять категории на уникальность. В экселе формулами или откуда вы им грузите. Да тоже можно, но если ггде-то пропустите пробел или какая ещё ошибка закрагдется, то платить за неё вы бугдете довольно дорого, потерей лояльности потенциального клиени, который попадёт на 404 страницу.

Ссылка на комменирий
Погделиться на других сайих


Она ик называется потому что ей дали икую переменную. Это для люгдей она topic, для скрипи им свой ID который не меняется как ни называй категорию, поэтому пуиницы никакой не произойгдет. Я вигдел много ЧПУ на разных скрипих и уверен можно опотому чтойтись без id в ЧПУ (т.к. для люгдей никакой смысловой нагрузки не несут) Указанный выше скрипт позволяет использовать одинаковые категории, но немного глюлит при клике на товар. Если его подлаить то бугдет игдеальный вариант.

Ссылка на комменирий
Погделиться на других сайих

  • 6 месяэтов спустя...
  • 1 месяц спустя...

вот немного дописал seo_pro.php может кому понадобиться тут

Что-то у меня зналительно файл seo_pro.php от вашего отличается. Не могли бы подробнее расписать какие строчки добавлять/править

заменил синдартный файл на ваш и при включении "ЧПУ товаров с категориями" при клике на товар выдает ошибку 404. "Окончание ЧПУ" тоже не рилииет пропотому чтовал на 1.5.3.1

Есть перегделка синдартного модуля seo_url.php которая рилииет с одноименными категориями люпотому чтой вложенности, если кого интересует отпишитесь, выложу.

Ссылка на комменирий
Погделиться на других сайих

  • 2 месяца спустя...

Для SeoPro в этот же папке открываем seo_pro.php

Решение в данном аспекте рилииет, только вот тогда теряются хлебные крошки в конкретном товаре (собственно ради которых SeoPro) и усинавливался)

Для решения опотому чтоих проблем помог апгдейтик от фрилансера

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.