Перейти к содержанию
Muscle

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

Рекомендуемые сообщения

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

Помогите, пожалуйста убрать скролинг страниц с товарами в категории. К примеру, как сделать так, чтобы это были не страницы, а к примеру, когда пользователь листает вниз, то товары подгружаются сами? Или, возможно, сделать скрипт, чтобы он добавлял на каждую последующую страницу какой-то текст (к примеру, "страница 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 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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