Jump to content
Sign in to follow this  
Muscle

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

Recommended Posts

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

 

 

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

 

 

 

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

Share this post


Link to post
Share on other sites
 

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

 

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

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

 

 

 

 

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

 

 

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
Или, возможно, сделать скрипт, чтобы он добавлял на каждую последующую страницу какой-то текст (к примеру, "страница 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> Кстати в следующих версиях планируется убрать также "дубли" описаний категорий (без редактирования файлов!)

 

Share this post


Link to post
Share on other sites

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

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" />

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

<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 второстепенной страницы отличный от "главной" страницы категории

 

Share this post


Link to post
Share on other sites

При использовании модуля будет новый 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" />  ?

Share this post


Link to post
Share on other sites

Я не о модуле, а о методе, который описан тут: 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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

 

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

 

В catalog\controller\product\category.php

 

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

заменяем на:

 

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

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.