Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Помогите убрать скролинг страниц в категориях товара


Muscle

Recommended Posts

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

Помогите, пожалуйста убрать скролинг страниц с товарами в категории. К примеру, как сделать так, чтобы это были не страницы, а к примеру, когда пользователь листает вниз, то товары подгружаются сами? Или, возможно, сделать скрипт, чтобы он добавлял на каждую последующую страницу какой-то текст (к примеру, "страница 2", "страница 3" и т.д.)

Или как еще можно решить данную проблему?

Поиском пользовался, ничего не нашел.

post-686496-0-68622400-1409345100_thumb.jpg

Надіслати
Поділитися на інших сайтах


Это называется не скролинг, а пагинация

 

Можно поискать - аякс пагинация - это автоматически подкачивается инфа при достижении низа

Имеет и плюсы и минусы

 

 

добавлял на каждую последующую страницу какой-то текст (к примеру, "страница 2", "страница 3" и т.д.)

 

 

 

Это делается в полпинка, если знаешь php

Надіслати
Поділитися на інших сайтах

 

Это называется не скролинг, а пагинация

 

Можно поискать - аякс пагинация - это автоматически подкачивается инфа при достижении низа

Имеет и плюсы и минусы

 

 

 

 

Это делается в полпинка, если знаешь php

 

 

Спасибо за ответ. С php я не особо знаком. Как тогда поступить проще? Чтобы избавиться от дублей пагинации. Тайтл и содержимое на всех страницах берется из первой страницы... А это дубли для поисковиков. 

Может быть просто запретить через robots?

Надіслати
Поділитися на інших сайтах


catalog/controller/product/category.php

находите строчку 114

$this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');

меняете на

if ($page == 1) {
$this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
} else {
$this->data['description'] = "";
}

ещё подробнее здесь

 

https://opencartforum.com/topic/27002-процесс-работ-над-релизом-ocstore-15512/?do=findComment&comment=210395

Надіслати
Поділитися на інших сайтах

catalog/controller/product/category.php

находите строчку 114

$this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');

меняете на

if ($page == 1) {
$this->data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
} else {
$this->data['description'] = "";
}

ещё подробнее здесь

 

https://opencartforum.com/topic/27002-процесс-работ-над-релизом-ocstore-15512/?do=findComment&comment=210395

Спасибо большое!

Надіслати
Поділитися на інших сайтах


Или, возможно, сделать скрипт, чтобы он добавлял на каждую последующую страницу какой-то текст (к примеру, "страница 2", "страница 3" и т.д.)

 

 

Есть еще такое решение

 

SEO мультиязык PRO

 

- Индексируются все языковые страницы (чего нет у opencart и сборках)

- Правильная SEO пагинация к примеру вида http:// site.com/en/page-2

- Не требует vqmod

- Не изменяет системных файлов

- Легкая установка и обновления

- Работает со всеми SEO расширениями

- Языковая страница не ссылается сама на себя

- Полностью не зависимая архитектура от других приложений

- Совместима со всеми версиями opencart, ocStore и сборками на них

 

Но... самая большая проблема, это в том, что при пагинации если title, description одинаковые (как по умолчанию в opencart и сборках) и товары однотипные в списке, то ПС могут подумать что это дубль страница, что очень негативно для seo, а благодаря модулю - этого быть не может, т.е. модуль предотвращает дубли страниц при пагинации добавляя новый title и description второстепенной страницы отличный от "главной" страницы категории, чтобы не "опустить" её в поисковой выдаче.

Теперь модуль реализует правильную SEO пагинацию вида http://site.com/page-2 и т.п.

С изменением titel документа и description HTML документа в зависимости от языка т.е.например "Компьютеры - страница 2" (русский), "Computers - page 2" (english).

 

Также нет страницы page-1 в пагинации (с версии 5.5.0, в демо еще стоит 5.4.0) вместо URL /page-1  стоит "главная" страница категории

 

Даже без включения ЧПУ пагинация работает и имеет вид к примеру

http://site.com/en/page-2?route=product/category&path=1_2

 

7193559048.png

 

<title>Desktops page 2</title>

<base href="http://en.opencartadmin.com/" />

<meta name="description" content="Example of category description page 2" />

<meta property="og:title" content="Desktops page 2" />

<meta property="og:type" content="website" />

<meta property="og:url" content="http://en.opencartadmin.com/en/desktops/page-2" />

 

 

0914313508.png

 

P.S> Кстати в следующих версиях планируется убрать также "дубли" описаний категорий (без редактирования файлов!)

 

Надіслати
Поділитися на інших сайтах

Объясните, пожалуйста, если делать по этому методу, что в итоге мы получаем?

https://opencartforum.com/topic/1669-seo-контент-и-устранение-дублей-ссылок/page-12

 

 

В результате, посмотрев код 2-й страницы категории (ну и всех других тоже), можно будет увидеть в хед-секции нужные гуглу нам атрибуты:

<link href="http://site.ru/category?page=3" rel="next" />
<link href="http://site.ru/category?page=1" rel="prev" />

Для поисковика будет понятно, что это разные страницы и это не будет считаться дублем? Или как?

Ведь тайтл, дескрипшн, и прочие теги остаются одни и те же на все страницы одной категории...

Надіслати
Поділитися на інших сайтах


Объясните, пожалуйста, если делать по этому методу, что в итоге мы получаем?

https://opencartforum.com/topic/1669-seo-контент-и-устранение-дублей-ссылок/page-12

Для поисковика будет понятно, что это разные страницы и это не будет считаться дублем? Или как?

Ведь тайтл, дескрипшн, и прочие теги остаются одни и те же на все страницы одной категории...

Ну почти тоже, только пока  без next и т.п. (это будет в следующих версиях (next))

Надіслати
Поділитися на інших сайтах

Ну почти тоже, только пока  без next и т.п. (это будет в следующих версиях (next))

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

Надіслати
Поділитися на інших сайтах


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

 

Не будет. Каждая страница имеет свой title и description

Надіслати
Поділитися на інших сайтах

Не будет. Каждая страница имеет свой title и description

У меня тайтл и дескрипшн визуально остался одинаковый на всех страницах одной категории. Разница только в том, что теперь в коде появились строчки:

<link href="http://site.ru/category?page=3" rel="next" />

<link href="http://site.ru/category?page=1" rel="prev" />

Надіслати
Поділитися на інших сайтах


У меня тайтл и дескрипшн визуально остался одинаковый на всех страницах одной категории. Разница только в том, что теперь в коде появились строчки:

<link href="http://site.ru/category?page=3" rel="next" />

<link href="http://site.ru/category?page=1" rel="prev" />

При использовании модуля будет новый title и description

Вы читали описание, что я дал?

https://opencartforum.com/topic/38340-помогите-убрать-скролинг-страниц-в-категориях/?do=findComment&comment=314674

 

модуль предотвращает дубли страниц при пагинации добавляя новый title и description второстепенной страницы отличный от "главной" страницы категории

 

Надіслати
Поділитися на інших сайтах

При использовании модуля будет новый title и description

Вы читали описание, что я дал?

. str_replace('{page}', 1, $this->url) . '">' . $this->text_first . '</a> <a href="' . str_replace('{page}', $page - 1, $this->url) . '">' . $this->text_prev . '</a> ';

}

Заменить на:

if ($page > 1) {

$output .= ' <a href="' . str_replace('{page}', 1, $this->url) . '">' . $this->text_first . '</a> <a href="' . str_replace('{page}', $page - 1, $this->url) . '">' . $this->text_prev . '</a> ';

$this->prev = str_replace('{page}', $page - 1, $this->url);

}

Это:

if ($page < $num_pages) {

$output .= ' <a href="' . str_replace('{page}', $page + 1, $this->url) . '">' . $this->text_next . '</a> <a href="' . str_replace('{page}', $num_pages, $this->url) . '">' . $this->text_last . '</a> ';

}

Заменить на:

if ($page < $num_pages) {

$output .= ' <a href="' . str_replace('{page}', $page + 1, $this->url) . '">' . $this->text_next . '</a> <a href="' . str_replace('{page}', $num_pages, $this->url) . '">' . $this->text_last . '</a> ';

$this->next = str_replace('{page}', $page + 1, $this->url);

}

И в конце файла это:

}

}

?>

Заменить на:

}

public function getNext() {

return $this->next;

}

public function getPrev() {

return $this->prev;

}

}

?>

После чего во всех контроллерах вывода пагинации /catalog/controller/product/category.php, /catalog/controller/product/search.php, /catalog/controller/product/manufacturer.php, /catalog/controller/product/special.php

Это:

$this->data['pagination'] = $pagination->render();

Заменить на:

$this->data['pagination'] = $pagination->render();

if ($pagination->getNext()) {

$this->document->addLink($pagination->getNext(), 'next');

}

if ($pagination->getPrev()) {

$this->document->addLink($pagination->getPrev(), 'prev');

}

В результате, посмотрев код 2-й страницы категории (ну и всех других тоже), можно будет увидеть в хед-секции нужные гуглу нам атрибуты:

<link href="http://site.ru/category?page=3" rel="next" />

<link href="http://site.ru/category?page=1" rel="prev" />

Вот я и спрашиваю, что дает данная манипуляция? В чем смысл <link href="http://site.ru/category?page=3" rel="next" />  ?

Надіслати
Поділитися на інших сайтах


Я не о модуле, а о методе, который описан тут: https://opencartforum.com/topic/1669-seo-контент-и-устранение-дублей-ссылок/page-12

 

Я не о нем. Там решения нет

 

Вы спросили:

 

Или, возможно, сделать скрипт, чтобы он добавлял на каждую последующую страницу какой-то текст (к примеру, "страница 2", "страница 3" и т.д.)

Или как еще можно решить данную проблему?

Поиском пользовался, ничего не нашел.

 

 

я ответил:

 

Есть еще такое решение

 

SEO мультиязык PRO

 

Прочитайте внимательно

 

https://opencartforum.com/topic/38340-помогите-убрать-скролинг-страниц-в-категориях/?do=findComment&comment=314674

 

Причем не привязано ни к одному ЧПУ формирователю! Будь то seo pro или seo url или seoblog

Надіслати
Поділитися на інших сайтах

Спасибо, но платные модули я пока не рассматриваю. Я задавал вопрос по поводу бесплатного метода.

 

Решений нет, есть костыли (и то я не встречал), но они будут привязаны сугубо или к seo_url или к seo_pro

 

А модуль - универсальное решение.

 

Причем не привязано ни к одному ЧПУ формирователю! Будь то seo pro, или seo url, или seoblog, или любой другой, которые иногда идут в буржуйских шаблонах  И не требует vqmod и не изменяет файлов системы (совсем другая архитектура)

 

Поэтому и платный, много вложено времени в разработку этой архитектуры  :)

Надіслати
Поділитися на інших сайтах

Решений нет, есть костыли (и то я не встречал), но они будут привязаны сугубо или к seo_url или к seo_pro

 

 

Да ладно? А если так:

 

В catalog\controller\product\category.php

 

$this->document->setTitle($category_info['seo_title']);

заменяем на:

 

$this->document->setTitle($category_info['seo_title'].'- Страница:' .$page );

В итоге к тайтлам дописывается номер страницы и, как следствие, каждый тайтл будет уникальным.

Надіслати
Поділитися на інших сайтах


Да ладно? А если так:

В итоге к тайтлам дописывается номер страницы и, как следствие, каждый тайтл будет уникальным.

 

Да не вопрос - просто это костыль будет ;)

Если вам нравятся костыли - пользуйтесь

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.