Мы не работаем с клиентами из страны-оккупанта РФ и их пособников - РБ.

Нет войне в Украине! Остановите убийства мирных жителей Украины! Остановите путина!

Начальная SEO оптимизация OpenCart

OpenCartBot - 03.07.2022
Начальная SEO оптимизация OpenCart

Сегодня поговорим о системе управления сайтами - OpenCart. На этой системе можно создавать интернет-магазины любой сложности и быстро запустить продажи. Но у нее также, как и у любых других, есть свои недостатки, которые нужно быстрее решить, чтобы ваш сайт работал лучше. Поговорим о недостатках в плане оптимизации под поисковое продвижение CMS OpenCart версий 2.x.x.x и 3.x.x.x. Новую версию 4.0.0.0 пока что рано обсуждать, так как она очень сырая и по официальному реппозиторию видно, что готовится новый релиз, в котором очень много всего переделают.

Начальная SEO оптимизация в OpenCart конечно же присутствует. Это наличие мета-тегов, таких как Title, Meta Description, Meta Keywords (которые, кстати говоря, уже давно не используются Google), ЧПУ, gzip-сжатие, карта сайта xml и html, хлебные крошки breadcrumbs. Но помимо этого, есть проблемы с наличием дублей страниц, нет возможности задать мета-теги для некоторых страниц (например Контакты), нет мироразметки, OpenGraph тегов, нет упрощенных версий страниц для мобильных устройств (т.н. AMP страницы), теги canonical прописаны не у всех страниц. Если у вас мультиязычный сайт - готовьтесь к еще большим проблемам, например нет возможности задать разные мета-теги на разных языках для главной страницы, нет поддержки языковых префиксов в URL, нет hreflang тегов, для связи многоязычных страниц, нет мультиязычной карты сайта.

Во многих из этих случаев проблемы вам помогут решить специальные модули SEO для OpenCart, но можно обойтись и без них, если немного приложить усилия, ведь оно этого стоит. Давайте разберемся, что нужно сделать в первую очередь, чтобы ваш интернет-магазин попал на первые страницы поисковой выдачи.


Основные этапы SEO оптимизации сайта на OpenCart

  1. Включить и настроить ЧПУ и заполнить SEO URL
  2. Убрать дубли главной страницы
  3. Закрыть от индексации ненужные страницы
  4. Настроить кеширование и gzip-сжатие
  5. Проверить наличие заголовка с тегом h1 на всех индексируемых страницах, добавить тексты описаний и мета-теги
  6. Оптимизировать изображения, добавить размеры, alt и title
  7. Организовать правильную структуру сайта, заголовков и контента. Сделать перелинковку страниц.
  8. Добавить микроразметку и OpenGraph мета-теги
  9. Избавиться от ошибок в консоли javascript
  10. Выполнить проверку кода html и стилей css через валидатор W3C
  11. Проверить быстродействие сайта в Page Speed Insight
  12. Заняться линкбилдингом и SMM


1. Настройка ЧПУ OpenCart

Для корректной работы ЧПУ на OpenCart рекомендуетcя установить бесплатный модуль SEO PRO, он позволит убрать дубли страниц, отображать полный путь в хлебных крошках, а еще добавляет у товар такую сущность как "Главная категория". Модуль устанавливается очень просто, загрузкой через админку и обновлением модификаторов. После этого нужно включить ЧПУ в настройках магазина в разделе Система > Настройки > Магазин > вкладка Сервер. Также нужно переименовать файл htaccess.txt, который находится в корне сайта, и дать ему название .htaccess

Теперь важно, чтобы у всех страниц было заполнено поле SEO URL. Это можно сделать вручную, редактируя каждую страницу: категорию, товар и т.д. или же использовать для этих целей модули для автоматического заполнения SEO URL, так называемые генераторы ЧПУ. Можно найти как платные так и бесплатные варианты таких дополнений.

Если после проделанных действий ваши ссылки на сайте не стали ЧПУ - нужно сбросить системный кеш.


2. Убираем дубли главной страницы в OpenCart

Каким бы хорошим SEO Pro ни был, но он не убирает все дубли именно главной страницы, поэтому нужно настроить 301-редиректы всех возможных вариантов ссылок на единственный canonical URL.
Какие же варианты ссылок на главную могут быть? Например:

  • http://site.com
  • https://site.com
  • http://site.com/
  • https://site.com/
  • http://www.site.com
  • https://www.site.com
  • http://www.site.com/
  • https://www.site.com/
  • http://site.com/index.html
  • http://site.com/index.php
  • и т. д.


Чтобы избавиться от таких дублей необходимо добавить правила переадресации в файл .htaccess, который мы уже упоминали. Ниже приведем правила, для некоторых случаев :

# Редирект ссылок с http на https

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

# Редирект ссылки с www на https ссылку без www

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]

RewriteRule ^(.*)$ https://%1/$1 [R=301,L]


3.  Закрываем от индексации ненужные страницы

Закрыть страницы от индексации можно несколькими способами:

  • через файл robots.txt, который находится в корневом каталоге сайта
  • с помощью HTTP-заголовка X-Robots-Tag: noindex
  • с помощью мета тега <meta name="robots" content="noindex">

Кстати, функционал для управления тегом noindex через админку присутствует в сборке ocStore, что называется "из коробки".

Для того, чтобы запретить индексацию страниц через robots.txt нужно добавить в этот файл правила, каждое с новой строки:

Disallow: /page1
Disallow: /page2

Если нужно запретить индексацию для конкретного робота - добавляем перед правилами строку с названием робота, например:

User-agent: Baiduspider

или, если последующие правила для всех роботов, кроме тех, что указаны в этом:

User-agent: *


4. Настройка кеширования и сжатия

Сжатие gzip можно включить в настройках магазина Система > Настройки > Магазин > вкладка Сервер > Уровень сжатия, установить значение от 0 до 9. Не рекомендуем устанавливать слишком высокий уровень сжатия, дабы не получить проблемы в работе некоторых ajax скриптов.

Также серверное сжатие можно включить посредством правил в файле .htaccess, в самом конце добавляем правила для сжатия html, css, js, json, xml и шрифтов:

<IfModule mod_deflate.c>

  <IfModule mod_filter.c>

      AddOutputFilterByType DEFLATE text/plain text/html

      AddOutputFilterByType DEFLATE text/css

      AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript

      AddOutputFilterByType DEFLATE text/xml application/xml application/xhtml+xml application/rss+xml

      AddOutputFilterByType DEFLATE application/json

      AddOutputFilterByType DEFLATE application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon

      AddOutputFilterByType DEFLATE x-font-ttf application/x-font-opentype image/svg+xml

  </IfModule>

</IfModule>


Чтобы сервер отдавал браузеру заголовки кеширования изображений, стилей, скриптов и шрифтов, нужно добавить следующие правила:

<IfModule mod_expires.c>

    # Enable expires

    ExpiresActive On

    # Default a cache expiration

    ExpiresDefault "access plus 1 year"

    # Images

    ExpiresByType image/gif "access plus 1 year"

    ExpiresByType image/png "access plus 1 year"

    ExpiresByType image/jpg "access plus 1 year"

    ExpiresByType image/jpeg "access plus 1 year"

    # CSS, JavaScript

    ExpiresByType text/css "access plus 1 year"

    ExpiresByType application/javascript "access plus 1 year"

    ExpiresByType text/javascript "access plus 1 year"

    # Fonts

    AddType application/vnd.ms-fontobject .eot 

    AddType application/x-font-ttf .ttf

    AddType application/x-font-opentype .otf

    AddType application/x-font-woff .woff

    AddType image/svg+xml .svg

    ExpiresActive on

    ExpiresByType application/vnd.ms-fontobject "access plus 1 year"

    ExpiresByType application/x-font-ttf "access plus 1 year"

    ExpiresByType application/x-font-opentype "access plus 1 year"

    ExpiresByType application/x-font-woff "access plus 1 year"

    ExpiresByType image/svg+xml "access plus 1 year"

</IfModule>

Кстати, здесь время жизни кеша "1 year" можно менять на свое усмотрение, например так "3 month" или "5 day".


5. Проверка наличия заголовков с тегом h1, описаний и мета-тегов.

Тексты для SEO очень важны, но также важно правильно их оформлять. Например, заголовок страницы должен находиться в теге h1, но у некоторых шаблонах почему-то заголовки делают тегом h2. Это неправильно. Нужно пересмотреть все файлы шаблона и сделать заголовки именно h1. Также для всех  страниц нужно добавить описания и мета теги.

Рекомендуем использовать бесплатный сервис от Ahrefs https://app.ahrefs.com/site-audit для автоматического анализа контента сайта и проверки возможных ошибок в контенте, как наличие h1 и мета-тегов.

Заголовки, описания, мета-теги должны быть уникальными, не стоит копировать одни и те же тексты из страницы в страницу. От этого будут зависеть позиции вашего сайта в поисковой выдаче.


Анализ SEO


6. Оптимизация изображений и добавление их описаний

Изображения на сайте тоже должны быть оптимизированы. Если у ваш интернет-магазин еще наполняется или он не большой - можно конвертировать все изображения в специальный оптимизированный формат .webp, но если у вас действующий сайт с множеством товаров - можно оптимизировать существующие изображения. В этом вам может помочь бесплатное приложение Caesium. Вам нужно скачать папку с изображениями с вашего сервера, "пропустить" их через эту программу и выгрузить обратно на сервер.

Также важно добавить изображениям уникальные описания в виде атрибутов alt и title, они должны содержать ключевые слова. Кроме этого стоит указать размеры изображений с помощью атрибутов width и height, это важно для новейшей PageSpeed-метрики Cumulative Layout Shift (CLS), которая отслеживает сдвиг макета после первой отрисовки макета при загрузке.

Читайте продолжение в следующей статье про оптимизацю сайта...


Рекомендуемые товары


Связанные статьи