Как перенести онлайн-шоп на Opencart на другой домен?

Привет Читатель, сегодня я после многодневного перерыва хочу дать небольшую инструкцию по задаче, с которой мне пришлось столкнуться на прошлой неделе. И, как ни странно, гугл ничего точного мне не подсказал 🙂

Итак, эта статья ответит на твой вопрос, как перенести интернет магазин на движке opencart на другой домен.

Да-да, именно домен, а не хостинг.

В моем случае мне пришлось переносить мой магазинчик с тестового поддомена на основной после того, как закончился этап разработки.

Что мне пришлось делать:

1. Естественно, сначала надо купить новый домен, какой это уж тебе решать 🙂

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

2. Изменить старый домен на новый в файле config.php в корне твоего сайта.

какие файлы нужно редактировать чтобы перенести opencart на другой домен

Делается это так, заходишь через ftp-клиент ("диспетчер файлов" или "управление файлами" в панели твоего хостинга) или через клиент для рабочего стола (я пользуюсь FileZilla, но есть и др.). Данные для авторизации через FTP, тебе должны были дать при создании сайта или регистрации хостинга.

После того как зашел, скачивай себе на комп файл config.php из корневой директории сайта (чаще всего public_html), и открывай его с помощью Блокнота (если у тебя нет других более продвинутых текстовых редакторов конечно).

Теперь твоя задача найти в строчках (не во всех!) твой старый домен ( naprimer.ru ), заменить его на новый ( novyisait.ru ) и сохранить.

какие параметры нужно менять в конфигах чтобы перенести opencart на другой домен

Можно нажать CTRL+H и в первой строке ввести старый домен ( без http:// и / ), а во второй ввести новый ( аналогично первому). А потом, кликнуть по первому символу первой строки, щелкать "Найти далее" и "Заменить". Так вероятность, что ты сделаешь ошибку гораздо меньше 🙂

3. Изменить старый домен на новый в файле config.php в папке admin твоего сайта.

Это делается аналогично предыдущему шагу, только второй файл находится не в корне директории твоего сайта, а в папке admin.

4. Проверь сайт на новом домене.

Вроде готово 🙂

C Уважением, Богдан Григорук.

[ Прочитайте комменты ниже или напишите свой... ]

Ищете хостинг для своего сайта? Могу порекомендовать свой (нажмите здесь)

44 комментария к “Как перенести онлайн-шоп на Opencart на другой домен?”

  1. Екатерина 06.11.2012 в 19:00 #

    Спасибо за статью На самом деле по переносу на новый домен инфы в инете нет вообще. Ваша статья помогла. Все оказалось так просто 🙂

    Спасибо!

  2. Даурен 08.11.2012 в 01:56 #

    Спасибо, объяснил всё подробно.

  3. Анна 08.01.2013 в 13:44 #

    А файлы из одной папки в другую переносить не нужно?

    • Богдан 10.01.2013 в 10:31 #

      Нет, никакие файлы в случае переноса opencart на другой домен переносить не нужно.

      Переносить файлы нужно, если вы например меняете хостинг. Но для этого нужна отдельная инструкция 🙂

  4. Александр 10.01.2013 в 03:41 #

    В базе данных править что нибудь надо? К новому домену прописывать днс уже от имеющегося хостинга, а потом ждать делигирования?

    • Богдан 10.01.2013 в 10:28 #

      Вообще, я переносил сайт заполненный материалами, и в базе ничего менять не пришлось. Только в этих файлах.

      DNS прописывать надо, потому что иначе вы не сможете связать ваш "сайт" (файлы сайта) с новым доменом в панели управления хостинга.

  5. сергей 12.03.2013 в 16:08 #

    Подскажите а есть инструкция как на рабочем сайте поменять домен

    пробовал по вашей инструкции не получилось

    ведь когда создаешь новый доме для него создается папка где должен лежать сайт типа ...имя_сайта/www

    при этом база данных настроена под этот сайт и эту папку

    как поменять домен подскажи

    может я неправильно что то описал

    • Богдан 14.03.2013 в 15:30 #

      Если не ошибаюсь, вам нужно в конфигурационном файле OpenCart поменять домен.
      И затем еще скачать дамп базы данных (например через PHPMyAdmin) и там с помощью "замены" в блокноте,
      заменить везде старый домен на новый.

      Если нужно более подробно объяснить, пишите - не стесняйтесь! Рад помочь)

      • Валерий 17.12.2013 в 23:40 #

        Здравствуйте Богдан!
        Уже голова кругом идет, надеюсь, что Вы проясните проблему!
        На домен установлен Opencart, настроил некоторые модули, настроил функционал под себя ну и т.д.
        Вопрос в следующем:
        Если в панели хостинга я изменю домен на другой, какие еще поправки необходимо сделать и возможен ли вообще такой вариант?

        • Богдан 18.12.2013 в 14:49 #

          Здравствуйте, Валерий.

          Вообще, если вы хотите изменить домен вашего магазина на движке Opencart, то как раз эта статья описывает то, что вам нужно сделать. Несмотря на то, что вы даже измените домен в панели хостинга. Потому что в вашем случае, в панели хостинга меняется только привязка домена к какой-то папке с сайтом. Но основной домен остается тем, который указан в настройках Opencart. И вот в статье как раз описано, как эти настройки изменить.

  6. Аноним 27.04.2013 в 03:56 #

    Помогите мне перенести домен , буду очень благодарна, действительно нигде нет информации

    • Богдан 27.07.2013 в 09:18 #

      Наталия, для этого вам нужно зайти туда, где вы оплачивали ваш домен (панель управления хостинга, если покупали на сайте хостинга, или панель управления услугами, если на сайте регистратора доменов), затем найти там свой домен и найти редактирование DNS для этого домена. Там вместо имеющихся 2-х записей nameserver-ов ввести новые, которые вам надо узнать на вашем новом хостинге. Обычно на каждом хостинге в разделе со вспомогательными статьями есть запись типа "Как перенести ваш домен к нам".

      Пишите, если вам что-то осталось непонятно.

  7. Ксения 06.05.2013 в 01:21 #

    Может быть кто-то можетп омочь с перенгосом дрмена? Не бесплатно 🙂 Сама не могу, так как совершенно ничего не знаю в фтп.

    • Богдан 15.05.2013 в 16:42 #

      Здравствуйте Ксения. Я могу вам помочь. Я вам ответил на почту, которую вы в этом комментарии указали.

  8. Дмитрий 15.07.2013 в 15:19 #

    Добрый день! Подскажите пожалуйста, вот я сменил домен, поменял конфиги, все вроде заработало, кроме статей (пункт категории-статьи)...они открываются на старом домене...где мне поменять их??

    • Богдан 15.07.2013 в 19:56 #

      Здравствуйте Дмитрий.

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

  9. Дмитрий 25.07.2013 в 03:22 #

    Доброго времени суток, подскажите такой момент. Создан сайт на сайте на opencart. Хочу перенести его на компьютер, для того чтобы сначала на нём производить планируемые изменения, а затем уже на сайте. Как грамотно это сделать? Xampp установлен.

    • Богдан 27.07.2013 в 09:13 #

      Здравствуйте Дмитрий!

      Если вкратце, то вам нужно сделать следующее: найти и скачать на вашем хостинге бэкап (резервную копию) MySQL базы данных (или сделать Экспорт этой базы через phpMyAdmin), которая привязана именно к нужному вам сайту на OpenCart, затем скопировать на компьютер все файлы через FTP или также через бэкап, но уже файлов, а не MySQL, затем создать в XAMPP через phpMyAdmin базу данных с таким же названием, как на хостинге, потом Импортировать туда скачанную (экспортированную) копию базы данных, расположить скачанные с хостинга файлы в директории для сайтов XAMPP, и в двух конфигурационных файлах opencart сменить настройки подключения к MySQL (в локальный базах это обычно логин root и нет пароля) и еще изменить адрес сайта на localhost.

      Если вам что-то будет непонятно, обязательно пишите свои вопросы! Рад помочь 🙂

  10. Татьяна 12.08.2013 в 08:10 #

    Богдан, мне как и последнему спрашивающему - нужно перенести магазин с сервера на локальный компютер. Установлен денвер. У мены проблема - я сделала бэкап базы данных, но не могу его импортировать, так как пишет, что файл бэкапа должен быть не больше 2 000 кб, а у меня 3 000 кб. Что делать? Подскажите!

    • Богдан 14.08.2013 в 11:21 #

      Здравствуйте Татьяна.

      Самый простой вариант для вас, на мой взгляд, обратиться в службу поддержки вашего хостинга и попросить "Увеличьте, пожалуйста, upload_max_filesize и post_max_size до 40М (мегабайт)."

      Или попробовать самостоятельно в корневой директории вашего сайта (там где находятся папки admin, catalog, download и др.) создать файл .htaccess, если его еще там нет, со следующим содержимым (а если есть, то дописать в самое начало уже существующего файла):

      <IfModule mod_php5.c> 
         php_value upload_max_filesize 40M 
         php_value post_max_size 40M 
      </IfModule>

      Самый простой способ отредактировать или создать этот файл - это через Файловый менеджер в Панели управления вашего хостинга.

      С уважением,
      Богдан

  11. саня 24.02.2014 в 19:54 #

    отличная статья! работает!

  12. Александр 20.03.2014 в 15:42 #

    Это если один сайт (домен) на хосте. А если их три или больше? И надо поменять домен основной? что тогда? ведь есть субдомены - их два.

  13. Дмитрий З 31.03.2014 в 19:48 #

    Добрый день! Хочу перенести сайт с домена на локальный сервер (денвер) но после произведения всех манипуляций получаю ошибку:

    Warning: require_once(/home/users1/z/zlat/domains/gadgetzona/system/startup.php) [function.require-once]: failed to open stream: No such file or directory in Z:\home\gadgetzona\WWW\index.php on line 26

    Fatal error: require_once() [function.require]: Failed opening required '/home/users1/z/zlat/domains/gadgetzona/system/startup.php' (include_path='.;C:\php\pear') in Z:\home\gadgetzona\WWW\index.php on line 26

    подскажите где косяк?

    • Богдан 21.04.2014 в 13:03 #

      Дмитрий, у вас проблема в том, что где-то подключается скрипт по пути, которого не существует на локальном сервере.

      В файле index.php на строке 26, есть строка require_once('...'), в которой подключается скрипт по неверному пути. Вам нужно этот путь, если он прописан явно, исправить на корректный путь к файлу /system/startup.php, или же где в базе данных или в конфигурационном файле поправить путь корневой директории вашего сайта. У вас сейчас там указан старый путь, который был на хостинге.

  14. Андрей 29.04.2014 в 16:52 #

    Здравствуйте. У меня после переноса сайта на хостинг появляется такое сообщение вверху над хедером:

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/usmanovs/domains/specii.goodnet.com.ua/public_html/config.php:1) in /home/usmanovs/domains/specii.goodnet.com.ua/public_html/system/library/session.php on line 11

    Хостинг не может помочь.

    Что нужно поправить?

    • Богдан 02.05.2014 в 11:37 #

      Здравствуйте, Андрей.

      У вас в файле config.php, скорее всего, лишние символы переноса строки или пробелы до начала php-кода (он начинается с символов < ?).

  15. светлана 19.06.2014 в 10:19 #

    помогите пожалуйста перенести магазин на новый домен, боюсь сделать что-то не так. оплачу.

  16. Владимир 31.07.2014 в 09:45 #

    Здравствуйте. А вот такой вопрос:
    1) Имеется сайт на ОС, при установке в мануале написали кидай в любую папку ну я лол и кинул в http://www.1.ru/public - начал там товар и прочую лабуду вбивать настроил вроде, ну и когда тестировал не видел адрес
    2) Имею на данный момент по адресу http://www.1.ru/public, при заходе на http://www.1.ru соответственно ноль
    3)нет ли скажем возможности создать index.html(php) в http://www.1.ru чтобы делал автопереброс на http://www.1.ru/public или как то привязать доменное имя(как зеркало).

    • Богдан 31.07.2014 в 10:21 #

      Здравствуйте, Владимир. А почему бы вам не перенести ваш сайт из папки /public в / (корневую папку сайта). Мне кажется, что так будет лучше всего и в плане ссылочной структуры и в плане качества. Потому что сделать редирект то можно, но это скорее временное решение, нежели постоянное, потому что есть минусы.

  17. Юлия 02.08.2014 в 18:10 #

    Богдан, добрый день!
    Благодарна Вам за ваш труд!
    У меня сейчас задача перенести сой магазин с временного домена на постоянный. Воспользовалась как раз Вашим уроком.
    Но у меня возникла в результате такая ситуация, что я могу зайти только в административную часть своего сайта, при попытке перейти в магазин появляется сообщение Error: Could not load database file mysql!
    Пожалуйста, подскажите, что можно сделать?

    • Богдан 07.08.2014 в 10:10 #

      Здравствуйте, Юлия.

      Я думаю, что вам нужно проверить 2 вещи:
      - права чтения/записи (CHMOD) на файл в директории вашего сайта /system/database/mysql.php , это можно сделать через FTP-клиент или файл-менеджер в панели управления хостингом
      - корректность пути к файлу в константе DIR_DATABASE, установленной в файле admin/config.php (если не ошибаюсь)

      Если у вас что-то не будет получаться или останутся вопросы, то пишите.

      Буду рад помочь.

  18. Онлайн 19.10.2014 в 15:59 #

    Все понятно. Спасибо!

  19. Олег 17.11.2014 в 12:49 #

    Здравствуйте. Как раз сейчас на тестовом домене создал магазин и нужно перенести его на другой домен, озадачился. Прочитал Ваш метод, ничего сложного по описанию. Но возникает некое сомнение по загруженным фотографиям товаров, к ним при загрузке присваивается определённый путь, а этот путь будет со старым доменом. Как его менять?
    Или с помощью Вашего метода всё встанет на свои места?
    И ещё, у меня тестовый домен на хостинге, в нём все папки магазина. Когда я сейчас прикреплю новый домен, папки ведь в нём будут пустые. Я так понимаю папки со старого домена нужно перенести в папку нового. Но Вы пишете, что папки перебрасывать не нужно. Тут у меня ступор возникает. Подскажите, пожалуйста, по этому поводу.

  20. Анатолий 01.03.2015 в 23:04 #

    Здравствуйте, у меня почти все получилось, за исключением верхнего горизонтального меню. Там ссылки указывают на старый домен.

  21. Анатолий 02.03.2015 в 00:34 #

    Решено. Ссылки прописаны через шаблон!

    /catalog/view/theme/ТЕМА/template/common/header.tpl

  22. Владимир 10.03.2015 в 16:41 #

    Спасибо огромное!!!Все понятно!Все помогло!!!

  23. Рома 08.04.2015 в 13:47 #

    Действительно интересная статья) когда я переносил свой сайт воспользовался услугой бесплатной по переносу сайта

    • Руслан 01.06.2015 в 13:21 #

      А где размещаете свой сайт?

  24. Ильяс 13.08.2015 в 21:44 #

    ***Теперь твоя задача найти в строчках (не во всех!)
    а в каких тогда если не во всех???)

    • Богдан 17.09.2015 в 12:26 #

      Добрый день, Ильяс. Просто смотрите, чтобы там адрес старый был полностью прописан и заменялся корректно, а не кусками как-нибудь. Это так, просто дополнительно замечание, обычно заменять нужно все.

  25. Павел 25.02.2016 в 15:30 #

    Добрый день, Богдан.
    Развернул на домашнем сервере сайт магазина. Есть доменное имя, которое по Вашей инструкции прописал в оба конфига. Папку с сайтом так же назвал, как и поддоменное имя. Поддоменные имена внёс на сайте, где мой домен. Сутки прошли. Доступа извне на сайт нет. Только локально работает. Что я сделал не так или что ещё нужно сделать?

  26. Ирина 07.06.2017 в 18:08 #

    Спасибо большое,очень нужно было)

  27. Михаил 25.12.2017 в 14:54 #

    здраствуйте на сайте вы вылазиет ошибка что то с common/header.php on line 65
    до этого переводил сайт на https

  28. Артём 12.04.2019 в 12:44 #

    Спасибо!
    Самая лучшая статья по замене домена на новый!
    Проще не придумать!
    Спасибо!