Запрет индексации страниц в opencart, с помощью <noindex>, <nofollow>

Никита

Профессор
Пользователь
Регистрация
19/5/14
Сообщения
524
Симпатии
59
Возраст
36
#1
Всем известно, что поисковики не "любят" дублированный контент и страницы, которые не несут пользы, для посетителя. Такие страницы, нужно скрывать от ПС систем с помощью robots.txt, или же способом который будет приведен ниже.
В нашем случае, все делалось на CMS opencart, поэтому все будет показано, на основе этой CMS.

Запрещаем индексирование страниц сортировки:

Код:
<?php if(isset($this->request->get['page']) || isset($this->request->get['limit']) || isset($this->request->get['sort'])) { ?>
<meta name="robots" content="noindex, nofollow"/>
Этот код нужно добавить у файл header.tpl вашего шаблона.

Запрещаем страницы, которые находятся у футере, которые тоже не несут никакой пользы, для ПС:

17-2014_12.jpg

У system\library\document.php, вставляем следующий код:
PHP:
  private $metas = array();
    public function addMeta($name, $content) {
        $this->metas[md5($name)] = array(
            'name'  => $name,
            'content'   => $content,
        );
    }
    public function getMetas() {
        return $this->metas;
    }
В контроллерах, которые подключаются, к вашему шаблону и отвечают за ссылки, которые приведены ниже, нужно вставить следующий код:
PHP:
$this->document->addMeta('robots', 'noindex');
В header.php вставляем следующее:
PHP:
<?php foreach ($metas as $meta) { ?>
<meta name="<?php echo $meta['name']; ?>" content="<?php echo $meta['content']; ?>" />
<?php } ?>
В итоге на нужных нам страницах, появляется следующий код:

17-2014_13.jpg
 
Последнее редактирование модератором:

WebBiz

Вождь
Член команды
Администратор
Регистрация
11/3/14
Сообщения
1.341
Симпатии
180
Возраст
28
#2
В header.tpl вставляем следующее:
Исправьте на header.php. Нет, сам исправлю, так как у вас нет возможности редактировать посты. Сам пользовался вашей инструкцией - ничего не получалось пока не заметил ошибку, которую вы допустили.
 

WebBiz

Вождь
Член команды
Администратор
Регистрация
11/3/14
Сообщения
1.341
Симпатии
180
Возраст
28
#3
А как можно запретить к индексированию страницы с комментариями типа: index.php?route=product/product/review&product_id=333&page=2? А то самому, что-то ничего в голову не лезет.
 

drakon

Любопытный
Пользователь
Регистрация
2/12/14
Сообщения
88
Симпатии
6
Возраст
22
#4
Код:
<?php if(isset($this->request->get['page']) || isset($this->request->get['limit']) || isset($this->request->get['sort'])) { ?>
<meta name="robots" content="noindex, nofollow"/>
Этот код нужно добавить у файл header.tpl вашего шаблона.
Где именно его нужно вставлять? Я где бы его не ставил - сайт вообще перестает работать.
 

drakon

Любопытный
Пользователь
Регистрация
2/12/14
Сообщения
88
Симпатии
6
Возраст
22
#5
Разобрался со своей проблемой - сам протупил. А вот это:
А как можно запретить к индексированию страницы с комментариями типа: index.php?route=product/product/review&product_id=333&page=2?
тоже интересно. Может кто подскажет?
 

WebBiz

Вождь
Член команды
Администратор
Регистрация
11/3/14
Сообщения
1.341
Симпатии
180
Возраст
28
#6
А как можно запретить к индексированию страницы с комментариями типа: index.php?route=product/product/review&product_id=333&page=2? А то самому, что-то ничего в голову не лезет.
Хорошие люди подсказали, что нужно в шаблон review.tpl, добавить код:
PHP:
<meta name="robots" content="noindex, nofollow"/>
 

Neron

Прописан на форуме
Пользователь
Регистрация
12/4/14
Сообщения
266
Симпатии
20
Возраст
26
#7
И, что этот способ действительно помогает избавится от "соплей" в Гугле?
 

WebBiz

Вождь
Член команды
Администратор
Регистрация
11/3/14
Сообщения
1.341
Симпатии
180
Возраст
28
#8
И, что этот способ действительно помогает избавится от "соплей" в Гугле?
Да, но многие псевдовебмастера об этом не знают. Вот только нужно, еще с robots.txt удалить те страницы на которых проставлены теги noindex, nofollow. Я заметил, что для яндекса, атрибут noindex - не авторитет. Поэтому он индексирует страницы с этим тегом. Пришлось отдельно прописать команды для Google и для остальных поисковых роботов.

В данное время, мой роботс.тхт, выглядит следующим образом:
Код:
User-agent: Googlebot
Disallow: /admin

Host: site.com.ua
Sitemap: site.com.ua/index.php?route=feed/google_sitemap

User-agent: *
Disallow: /*?search
Disallow: /*&search
Disallow: /index.php?route=fast/register
Disallow: /compare-products/
Disallow: /*route=account/
Disallow: /search/*
Disallow: /wishlist/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /index.php?route=product/manufacturer
Disallow: /index.php?route=information/contact
Disallow: /index.php?route=product/special
Disallow: /index.php?route=information/information&information_id=5
Disallow: /index.php?route=common/home
Disallow: /index.php?route=product/compare
Disallow: /index.php?route=information/information&amp;information_id=3
Disallow: /index.php?route=information/information&information_id=3
Disallow: /index.php?route=product/category
Disallow: /*?page=
Disallow: /*&page=
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /system

Host: site.com.ua
Sitemap: site.com.ua/index.php?route=feed/google_sitemap
Не хочу и не буду утверждать, что это единственный правильный вариант, а тем более не буду заставлять его использовать кого-либо. Но для меня такой вид robots.txt больше всего подходит.