Opencart 2.x - Полная Seo Оптимизация Онлайн Магазина

Тема в разделе "Установка, обновление, настройка", создана пользователем admin, 27 май 2017.

  1. TopicStarter Overlay
    Offline

    admin Команда форума Администратор

    Сообщения:
    2.763
    Симпатии:
    133.424
    Репутация:
    215
    Решил написать инструкцию для людей, которую я делаю для каждого онлайн магазина.

    1. После установки обязательно включите SEO (система- Настройка- Сервер - Тип ЧПУ – Включаем)
    01.png

    2. .Htaccess

    Код:
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\ HTTP/
    RewriteRule ^index\.html$ / [R=301,L]
    RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ / [R=301,L]
    RewriteCond %{QUERY_STRING} ^route=common/home$
    RewriteCond %{REQUEST_METHOD} !^POST$
    RewriteRule ^index\.php$ http://%{HTTP_HOST}? [R=301,L]

    3. Ставим дополнительный модуль для SEO. Это может быть SEOPro или любой другой. Я советую Complete SEO

    Настройки Complete SEO
    03-1.png


    3.2 Если сайт мультиязычный делаем так, если обычный не отрогаем
    03-2.png


    3.3. Если сайт мультиязычный включаем, если нет не трогаем
    03-3.png

    3.4 Заполняем данные для главной страницы (title, Meta Description, Meta Keywords). Если несколько языков, заполняем и их.
    03-4.png


    3.5 Настройки хлебных крошек
    03-5.png


    3.6 Для Вашего удобства есть (SEO редактор) - таблица где вы можете прописать URL, Title, Meta Description, Meta Keywords и другие значения). Заполните все по максимуму и исключите дубли. Аналогично делаем для Категорий, товаров, Статей, Производителей. Проверить результат можно на (http://audit.megaindex.ru или http://saitreport.ru за $)
    03-6.png


    3.7 Создаем короткие URL в разделе SEO редактор - Стандартные страницы.
    Код:
      'route=account/account' => 'my-account',
            'route=account/address' => 'address-book',
            'route=account/edit' => 'edit-account',
            'route=account/forgotten' => 'forgot-password',
            'route=account/login' => 'login',
            'route=account/logout' => 'logout',
            'route=account/newsletter' => 'newsletter',
            'route=account/order' => 'order-history',
            'route=account/password' => 'change-password',
            'route=account/register' => 'create-account',
            'route=account/return' => 'returns',
            'route=account/return/insert' => 'request-return',
            'route=account/reward' => 'reward-points',
            'route=account/transaction' => 'transactions',
            'route=account/wishlist' => 'wishlist',
            'route=checkout/cart' => 'shopping-cart',
            'route=checkout/checkout' => 'checkout',
            'route=checkout/simplecheckout' => 'cart',
            'route=checkout/voucher' => 'gift-vouchers',
            'route=common/home' => '/',
            'route=information/sitemap' => 'sitemap',
            'route=product/compare' => 'compare-products',
            'route=product/manufacturer' => 'brands',
            'route=product/search' => 'search',
    4.Задаем шаблон для title. У меня title повторяется, меняется только название и артикул товара. Открывает файл
    vqmod\xml\seo_package.xml
    , находим
    Код:
    $this->document->setTitle(!empty($product_info['meta_title'])
    и делаем все что угодно. у меня строчка выглядит так:

    Код:
    $this->document->setTitle(!empty($product_info['meta_title']) ? $this->language->get('title01') .' '. $product_info['meta_title'].', '.$this->language->get('title02').' '. $product_info['model'] .' - '. $this->language->get('title03') .' '. mb_substr($product_info['price'], 0, -5) : $product_info['name']);
    4.1.
    Код:
    $this->language->get('title01')
    - Прописанная фраза в
    /catalog/controller/product/product.php
    Код:
    $data['title01'] = $this->language->get('title01');
    и
    catalog/language/russian/product/product.php
    Код:
    $_['title01']                                    = 'Купить';
    Если у Вас сайт на 1 языке можете смело писать в коде

    4.2.
    Код:
    .' '.
    - Пробел

    4.3
    Код:
    $product_info['model']
    - Модель товара (артикул)

    4.4
    Код:
    mb_substr($product_info['price'], 0, -5)
    - Обрезаная цена товара
    В итоге у меня получается
    https://www.google.com/webmasters/markup-helper/?hl=ru). Делаем. Проверяем в (https://developers.google.com/structured-data/testing-tool/) или (https://webmaster.yandex.ru/microtest.xml?utm_source=wm)
    09.png

    10. Избавляемся от внешних ссылок
    Добавляем JS код
    Код:
    <script>
      +function ($){
    $(document).ready (function (){
    $('.netsilok').replaceWith (function (){return'<a onclick="return !window.open (this.href)" href="'+$(this).data ('link')+'" title="'+$(this).text ()+'">'+$(this).html ()+'</a>';});
    });
    }(jQuery);
    </script>
    Теперь все внешние ссылки нужно привести к виду
    Код:
    <span class="netsilok" data-link="http://nonprice.ru/" rel="tag">Скидка и акции в Красноярске</span>
    В итоге вместо ссылок делаем Span и добавляем class="netsilok"

    Реализовываем и радуемся. Проверить внешние ссылки можно на (http://audit.megaindex.ru или http://saitreport.ru за $)

    11. Проверяем орфографию. Проверить можно на http://saitreport.ru за $

    12. Скорость сайта.
    12.1 Проверяем https://developers.google.com/speed/pagespeed/insights/ (устраняем, ужимаем) Проблема с кешем решается добавлением в .htaccess (если не работает решайте с Хостингом)

    Код:
    php_value session.cookie_domain .ВАШ-ДОМЕН.ru
    php_value max_input_vars 4000
    Код:
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access 1 year"
    ExpiresByType image/jpeg "access 1 year"
    ExpiresByType image/gif "access 1 year"
    ExpiresByType image/png "access 1 year"
    ExpiresByType text/css "access 1 month"
    ExpiresByType text/html "access 1 month"
    ExpiresByType application/pdf "access 1 month"
    ExpiresByType text/x-javascript "access 1 month"
    ExpiresByType application/x-shockwave-flash "access 1 month"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresDefault "access 1 month"
    </IfModule>
    12.2 Проверяем сайт http://gtmetrix.com. Показатель сайта должен быть минимум 80. Ужимаем, можно с сайта брать готовые CSS, JS (не забывайте делать резервную копию оригинальных файлов) и картинки

    2015-06-07 23-58-38 Скриншот экрана.png


    12.3 Проверяем сайт http://tools.pingdom.com

    13. Подаем заявки в yandex каталог, DMOZ

    14. Добавляем сайт в yandex Адресаи организации(https://webmaster.yandex.ru/site/addresses.xml) и google мой бизнес.(https://www.google.com/business/). От google ждем бумажное письмо.



    15. Оптимизируем страницы под запросы. http://audit.megaindex.ru/audit/relevant_page/ Пишем запрос и страницу. Оптимизируем и закупаем ссылки.

    16. Ищем и устраняем ошибки версткиhttp://validator.w3.org

    17. Хлебные крошки.
    Удаляем ссылку на самого себя. для этого:

    модуль который решает 17 пункт + добавляет микроразметку.
    http://lowenet.biz/resources/opencart-2-x-modul-xlebnye-kroshki.777/

    18. Решение ошибки пагинации.
    Как известно есть косяк в opencart, что страница http://ваш сайт.рф/category/
    и http://ваш сайт.рф/category/?page=1 это одна страница.
    Решение данной проблемы установка бесплатного модуля
    Скачать

    19. Дубли категории
    Когда у Вас много страниц с товарами у Вас появляются дубли страница 1, страница 2 и так далее. Данный модуль решает проблему с дублями title, плюс он удаляет описание для второй и последующих.
    Скачать
    Ставим модуль и радуемся. Внимание если вы используете другой способ модификации title проверьте, что бы не конфликтовал.

    Если у Вас есть, что дополнить пишите пополню список.

    В среднем на проект уходит от 5-60 дней (Все зависит от кол-во материала)
     
    eavasi, wildwind и evgesha нравится это.
  2. Offline

    vallav Пользователь

    Сообщения:
    93
    Симпатии:
    29
    Репутация:
    1
    Поставил вот что выдаёт,
    поставил копию сайта на локалку, установил Complete SEO, (уже ранее стоял Паладин).
    Вот что выдало:

    Notice: Undefined variable: setting in D:\OpenServer\OpenServer\domains\sanevv.money\vqmod\vqcache\vq2-system_storage_modification_catalog_controller_common_seo_url.php on line 129Notice: Undefined variable: tools in D:\OpenServer\OpenServer\domains\sanevv.money\vqmod\vqcache\vq2-system_storage_modification_catalog_controller_common_seo_url.php on line 132
     
  3. Offline

    vallav Пользователь

    Сообщения:
    93
    Симпатии:
    29
    Репутация:
    1
    У меня нет ЧПУ как на 1 скрине?
    Версия ocStore 2.1.0.1
    ставил ocjazz-seopro-v2.1.0.1.ocmod.zip
    локалка рухнула
    фатальная ошибка вылезла
     
  4. Offline

    Fitcher Пользователь

    Сообщения:
    37
    Симпатии:
    16
    Репутация:
    0
    с .htaccess не всегда нужно играться, зависит от хостинга.
    у Ukraine, например, в настройках админки хостинга вручную можно активировать редиректы с www, а если заполнить файл самому - будет выдавать ошибку.

    про сервис тестирования скорости не знал, спасибо!
     
  5. Offline

    vodkoglot Пользователь

    Сообщения:
    2
    Симпатии:
    0
    Репутация:
    0
    Такая проблема поставил модуль! но теперь не могу зайти в настройки в админке пишет страница не доступна как быть помогите