Интеграция сайта на Opencart с CDN

Интеграция с нашим сервисом CDN в Opencart производится не с помощью модулей или плагинов, а путем изменения трех файлов по FTP/SSH

Бесплатно 7 дней

Подключение сайта к CDN позволит вам:

  • ускорить загрузку Вашего сайта в регионах;
  • оптимизировать «на лету» изображения на Вашем сайте;
  • значительно снизить исходящий трафик с Вашего сервера;
  • снизить количество запросов к Вашему серверу;
  • снизить стоимость AntiDDoS для Вашего сервера.

Всё это достигается при помощи автоматического переноса кеш-копий изображений, стилей и скриптов на многочисленные CDN сервера cdnnow!

Важно! Интеграция с нашим сервисом CDN в Opencart производится не с помощью модулей или плагинов, а путем изменения трех файлов по FTP/SSH. Вначале убедитесь, что у вас есть возможность подключиться к вашему сайту через FTP или SSH (туда, где лежат файлы сайта).

Создание аккаунта CDN

Если у вас ещё нет учётной записи в cdnnow!, оставьте заявку на подключение CDN, указав ваши email, сайт, CMS.

Вы получите письмо с доступом в личный кабинет и служебным адресом CDN для вашего проекта вида userXXXXX.clients-cdnnow.ru или userXXXXX.nowcdn.co, где userXXXXX — ваш уникальный параметр.

Подключение CDN к Opencart версии 2.x

  1. Обязательно сохраните резервную копию этих файлов вашего сайта:
    /config.php
    /catalog/model/tool/image.php
    /catalog/view/theme/default/template/common/header.tpl
  2. Редактируем файл /config.php, который находится в корне сайта. Здесь мы укажем адрес CDN.

    Добавьте в любом месте файла строку:

    define('CDN_HTTPS_SERVER', 'https://userXXXXX.clients-cdnnow.ru/');

    Подставьте вместо userXXXX адрес вашего проекта. Слэш в конце обязателен. Протокол https можно заменить на http в URL, если ваш сайт работает только по http.

  3. Редактируем файл /catalog/model/tool/image.php (здесь мы будем задавать путь до изображений на сайте).

    Найдите в коде файла следующий фрагмент:

    if ($this->request->server['HTTPS']) {
        return $this->config->get('config_ssl') . 'image/' . $new_image;
    } else {
        return $this->config->get('config_url') . 'image/' . $new_image;
    } 

    Замените его на этот фрагмент кода:

    if (defined('CDN_HTTPS_SERVER') and ! empty(CDN_HTTPS_SERVER)) {
        return CDN_HTTPS_SERVER . 'image/' . $new_image;
    } else {
        if ($this->request->server['HTTPS']) {
            return $this->config->get('config_ssl') . 'image/' . $new_image;
        } else {
            return $this->config->get('config_url') . 'image/' . $new_image;
        }
    } 
  4. Редактируем файл /catalog/view/theme/default/template/common/header.tpl. Здесь определяются пути до стилей и скриптов. По умолчанию в этом файле прописаны относительные пути до этих файлов, начинающиеся с директории catalog. Пример кода сайта до подключения CDN:
    Адреса файлов в Opencart без CDN

    Вставьте перед словом catalog код:

    <?php if (defined('CDN_HTTPS_SERVER') and ! empty(CDN_HTTPS_SERVER)) { echo CDN_HTTPS_SERVER; } ?>

    Получится строка вида (скрипт подключен через CDN):

    <script src="<?php if (defined('CDN_HTTPS_SERVER') and ! empty(CDN_HTTPS_SERVER)) { echo CDN_HTTPS_SERVER; } ?>catalog/view/javascript/jquery/jquery-2.1.1.min.js" type="text/javascript"></script>

    Также поступите с остальными скриптами js и стилями css в этом файле.

  5. Загрузите измененные файлы по FTP и обновите страницу вашего сайта. Проверьте, что сайт отображается корректно.
  6. Удостоверьтесь, что в HTML-коде сайта URL адреса до скриптов, стилей и изображений содержат адрес CDN.
    Адреса файлов через CDN

На этом настройка Opencart 2.x завершена и CDN готов к использованию.

Подключение CDN к Opencart версии 3.x

  1. Обязательно сохраните резервную копию этих файлов вашего сайта:
    /config.php
    /catalog/model/tool/image.php
    /catalog/view/theme/default/template/common/header.twig
  2. Редактируем файл /config.php, который находится в корне сайта. Здесь мы укажем адрес CDN.

    Добавьте в любом месте файла строку:

    define('CDN_HTTPS_SERVER', 'https://userXXXXX.clients-cdnnow.ru/');

    Подставьте вместо userXXXX адрес вашего проекта. Слэш в конце обязателен. Протокол https можно заменить на http, если ваш сайт работает только по http.

  3. Редактируем файл /catalog/model/tool/image.php (здесь мы будем задавать путь до изображений на сайте)

    Найдите в коде файла следующий фрагмент:

    if ($this->request->server['HTTPS']) {
        return $this->config->get('config_ssl') . 'image/' . $image_new;
    } else {
        return $this->config->get('config_url') . 'image/' . $image_new;
    } 

    Замените его на этот фрагмент кода:

    if (defined('CDN_HTTPS_SERVER') and ! empty(CDN_HTTPS_SERVER)) {
        return CDN_HTTPS_SERVER . 'image/' . $image_new;
    } else {
        if ($this->request->server['HTTPS']) {
            return $this->config->get('config_ssl') . 'image/' . $image_new;
        } else {
            return $this->config->get('config_url') . 'image/' . $image_new;
        }
    } 

    Обратите внимание, если вы переходили с версии Opencart 2.x на 3.x, в этом файле поменялось написание переменной $image_new (в версии 2.x она называлась $new_image).

  4. Редактируем файл /catalog/view/theme/default/template/common/header.twig (здесь определяются пути до стилей и скриптов).

    Обратите внимание, если вы переходили с версии Opencart 2.x на 3.x: в версии 3.х Opencart перешли с шаблонов tpl на twig, поэтому синтаксис относительно второй версии CMS изменится.

    По умолчанию в этом файле прописаны относительные пути до js и css, начинающиеся с директории catalog.

    Пример кода сайта до подключения CDN:

    Адреса файлов в Opencart без CDN

    Вставьте перед словом catalog код:

    {{ constant('CDN_HTTPS_SERVER') }}

    Получится строка вида (скрипт подключен через CDN):

    <script src="{{ constant('CDN_HTTPS_SERVER') }}catalog/view/javascript/jquery/jquery-2.1.1.min.js" type="text/javascript"></script>

    Также поступите с остальными скриптами js и стилями css в этом файле.

  5. Загрузите измененные файлы по FTP и обновите страницу вашего сайта. Проверьте, что сайт отображается корректно.
  6. Удостоверьтесь, что в HTML-коде сайта URL адреса до скриптов, стилей и изображений содержат адрес CDN.
    Адреса файлов через CDN

На этом настройка Opencart 3.x завершена и CDN готов к использованию.

Свой домен для CDN

Если вы хотите использовать свой домен для подключения CDN вместо userXXXXX.clients-cdnnow.ru, то следуйте инструкции по подключению вашего домена. В этом случае в файле /config.php вместо строки:

define('CDN_HTTPS_SERVER', 'https://userXXXXX.clients-cdnnow.ru/');

вставьте строку:

define('CDN_HTTPS_SERVER', 'https://cdn.example-domain.ru/');

где cdn.example-domain.ru — ваш домен для CDN.

Читайте также:

Стоимость услуг CDN

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

Если вам понравился наш сервис и вы готовы к долговременному сотрудничеству, мы переведем ваш аккаунт из тестового в основной.

Стоимость размещения данных в CDN зависит от объема трафика. Вы можете посмотреть в личном кабинете в разделе «Статистика» объем трафика на тестовом периоде и рассчитать, сколько трафика ожидается за месяц. В том же разделе вы можете увидеть объемы запросов по оптимизации изображений, если вы включали эту функцию.

Тарифы

CDN по трафику

Минимальный платеж 600 рублей в месяц (включено 1000 ГБ). Любое количество проектов

Трафик в месяц Цена за 1 ГБ
Первый ТБ 0,6 ₽
Следующие 10 ТБ 1,44 ₽
Свыше 10 ТБ по запросу
от 600 ₽ / месяц
Калькулятор стоимости

Минимальный ежемесячный платеж 600 рублей по предоплате. Включено 1000 ГБ трафика. Превышение оплачивается по постоплате по ступенчатой системе расчета. Введите количество трафика в месяц, в гигабайтах. 1 ТБ = 1000 ГБ.

ГБ
1000 10 000
600 ₽ / месяц
Оптимизация картинок

В каждом тарифе включено до 100 000 запросов оптимизации в месяц

бесплатно 100 000 запросов

далее 90 ₽ / 10 000 запросов

При возникновении вопросов по настройке, сопровождению, стоимости — вы всегда можете обратиться в нашу поддержку: написав письмо на sales@cdnnow.ru, с помощью чата внизу страницы сайта или по телефону: 8 (800) 600-67-88 (c 10:00 до 19:00 по будням).

Мы используем cookie, чтобы сделать сайт удобнее