Начало > Помощен център > Апликации > WordPress > Как да променим домейна на WordPress сайт?

Как да променим домейна на WordPress сайт?

Помощен център

Как да променим домейна на WordPress сайт?

Причини за промяна домейна на уеб сайт

Съществуват много различни причини, поради които един уебмастер може да пожелае промяна на домейна:

  • закупуване на домейн в по-популярно TLD (.COM);
  • закупуване на по-подходящо домейн име;
  • промяна името на търговската марка (rebranding);
  • структурна промяна на бизнеса (придобиване, сливане, партньорство...);
  • обединяване на няколко близки по значение домейни в един нов домейн;
  • забрана (suspend) на стария домейн и ново начало с нов домейн;
  • преместване на сайта от поддиректория;
  • добавяне/премахване на www към/от URL адреса;
  • инсталиране на SSL сертификат и промяна на протокола от http:// на https://;

В описаните ситуации имаме съществуващ сайт, чието домейн име трябва да бъде променено. И тъй като WordPress е най-масово използваната платформа за създаване на сайтове, в статията ще покажем няколко начина, по които може да променим домейна на WordPress сайт.

Методи за промяна на WordPress домейн

Има различни методи, по които може да извършим тази промяна чрез:

  • импортиране архив на базата данни от тестовата инсталация в нова инсталация (с идентична тема, плъгини и настройки);
  • копиране на файловете в конфигурационната директория на новия домейн (със същата или нова база данни);
  • архивиране на сайта с WordPress плъгин (файлове и база данни) и импортиране на архива в директорията на новия домейн;
  • клониране на сайта в нова директория с нов домейн;

и други подобни...

Всички тези методи доказано работят, но в статията ще ви покажем най-лесния начин за постигане на същия резултат - като заменим текущия домейн на WordPress сайта с нов домейн.

Точно така - без копиране и местене на файлове, без експортиране и импортиране на базата данни, без инсталиране и настройване на плъгини - само с промяна на домейна.

Нещо повече - промяната на домейна на WordPress сайт може да бъде направена по няколко различни начини и вие може да изберете този, който е най-удобен за вас.

В примера ще заменим домейна wordpress-old.site с wordpress-new.site, но няма абсолютно никаква разлика при работа с поддомейни, важно е домейните/поддомейните да бъдат коректно конфигурирани в хостинга.

Напомняме ви, че при вашите тестове трябва да замените примерните под/домейни с ваши собствени активни домейни/поддомейни.

Конфигуриране на нов домейн в хостинга

На първото изображение виждаме конфигурацията на текущия домейн wordpress-old.site - root директорията на сайта е public_html/_wordpress_site:

Конфигурация на стария домейн

Отваряме cPanel > Addon Domains и създаваме новия допълнителен домейн wordpress-new.site като в полето Document Root въвеждаме пътя до root директорията на текущия сайт:

Създаване на нов допълнителен домейн в cPanel

Кликаме бутона Create и след няколко секунди новия допълнителен домейн се добавя в таблицата с конфигурираните домейни в хостинга:

Таблица с конфигурирани домейни в cPanel

Промяна на домейна в WordPress Dashboard

Така изглежда текущия сайт wordpress-old.site в браузър:

Изглед на стария WordPress сайт в браузър

Логваме се в администрацията на WordPress и отваряме панела Settings > General:

Линк Settings General в WordPress Dashboard

Полетата, свързани с промяната на домейна, са:

  • WordPress Address (URL) - полето съдържа URL адреса, който посетителите въвеждат за да достигната сайта;
  • Site Address (URL) - полето съдържа URL адреса, на който се хоства WordPress инсталацията;

И двата URL адреса трябва да съдържат протокол (https:// или http://) и да не завършват с наклонена черта '/' в края:

Полета за конфигуриране в панела General Settings

Другите две полета съдържат следната информация:

  • Site Title - съдържа основното заглавие на сайта;
  • Tagline - съдържа допълнително заглавие или описание;

В зависимост от дизайна на активната тема съдържанието на тези две полета може да не се вижда в сайта.

Променяме съдържанието на описаните четири полета като особено внимаваме да не допуснем грешка в изписването на домейните и запазваме промените като кликаме бутона Save Changes в дъното на панела:

Панел General Settings с новата информация

След смяната на домейна WordPress прекратява текущата сесия:

Прекратяване на текущата WordPress сесия

и трябва да се логнем отново с новия URL адрес wordpress-new.site:

Логване в WordPress Dashboard с новия домейн

Така изглежда същия сайт след описаните промени:

Изглед на новия WordPress сайт в браузър

Ако въведем и запазим грешен URL адрес

Ако допуснем грешка в изписването на домейните и след запазването на промяната не можем да се логнем в администрацията на сайта, разработчиците на WordPress ни дават възможност ръчно да въведем името на сайта в два основни файла за да продължи коректната работа на сайта.

Добавяне на код в wp-config.php

Възможно е ръчно да зададем URL адреса на сайта във файла wp-config.php. Може да достъпим файла през редактора на файловия мениджър в cPanel, през FTP (изгегляне, редактиране и качване обратно в хостинга) или SSH.

За целта трябва да добавим следните два реда код в wp-config.php като внимаваме да не изтрием единичните кавички:

define ('WP_HOME', 'https://example-domain.com');

define ('WP_SITEURL', 'https://example-domain.com');

Добавяне на код в wp-config.php

Този метод записва двата URL адреса (адресите могат да бъдат различни в определени ситуации) в самия сайт. След въвеждането на кода двете полета за промянa на URL адресите в панела General Settings са неактивни, но съдържат коректния домейн wordpress-new.site:

Неактивни полета WordPress Address (URL) и Site Address (URL)

Важно: този код не променя грешните записи в базата данни при въвеждане на грешните домейни в General Settings, а само предоставя информация с по-висок приоритет от записите в базата данни.

Ако премахнем кода от файла, сайта ще продъжи да показва грешка 404 Not Found.

Добавяне на код в functions.php

Друг подобен изход от същата ситуация е да достъпим през файловия мениджър в cPanel, FTP или SSH файла functions.php в активната тема (wordpress-root-dir > wp-content > themes > theme-name) и в самото начало на файла, ведната след откриващия PHP таг , да въведем следните два реда код:

update_option( 'siteurl', 'https://example-domain.com.com');

update_option( 'home', 'https://example-domain.com.com');

Добавяне на код в functions.php

Логваме се успешно в администрацията и при проверка в панела General Settings забелязваме, че двете полета WordPress Address (URL) и Site Address (URL) са активни и може да правим промени в тях, също така те съдържат коректния домейн на сайта.

Препоръката на разработчиците на WordPress е веднага след като се логнем в администрацията, да премахнем двата реда код, които ние добавихме, от файла functions.php.

Промяна на WordPress домейн през phpMyAdmin

Влизаме в cPanel и в секция Databases кликаме линка phpMyAdmin:

Достъп до phpMyAdmin в cPanel

Ако не сме сигурни коя база данни ползва сайта трябва да отворим файла wp-config.php в root директорията на сайта през редактора в File Manager или през SSH и да проверим.

Кликаме името на коректната база данни (или знакът плюс пред него) и в списъка с таблици кликаме името на таблицата prefix_options:

Списък с WordPress таблици в базата данни на сайта

Префиксът на WordPress по подразбиране e wp_, но ви препоръчаме да ползвате собствен, различен префикс и по този начин ще създадете по-високо ниво на сигурност.

Първите два реда в таблицата съдържат в колоната option_value двата URL адреса, които ние желаем да променим:

Изглед на WordPress домейни в колона option_value

Промяната може да бъде извършена по два начина - вие трябва да изберете само единия от тях.

  1. Директна промяна в полето option_value - кликаме два пъти полето с URL адреса и то се променя в активно текстово поле, в което редактираме домейна, и кликаме извън полето или натискаме клавиш Enter, за да запазим информацията:

Въвеждане на новия домейн директно в колоната option_value

Полето възстановява първоначалния си вид и текстово съобщение ни потвърждава успешно извършената промяна:

Потвърждение за успешна промяна

  1. Редактиране съдържанието на option_value в панела Insert - кликаме линка Edit в началото на реда:

Линк Edit за отваряне на панела Insert

В панела Insert променяме внимателно домейна в полето option_value и кликаме бутона Go за да запазим промяната:

Въвеждаме новия домейн в панела Insert и полето option_value

Важно: и при двата метода повтаряме описаните действия за двата URL адреса - целта е в двата реда да бъде записан коректно новия домейн на WordPress сайта.

Промяна на WordPress домейн през SSH

Припомняме, че в хостинг от ICN.Bg, SSH достъп е платена опция за хостинг плановете Ултима и Икономичен, и се закупува допълнително към хостинг плана. За хостинг плановете Бизнес и Стандарт, SSH достъп заедно с други много полезни опции като Dedicated IP адрес и безплатен домейн, е безплатна опция.

Логваме се през SSH в хостинга с командата:

cpaneluser@servername[~]# ssh -p 22 cpaneluser@11.22.33.44
cpaneluser@11.22.33.44's password: 
cpaneluser@servername[~]# 

Логваме се в MySQL с командата:

mysql -u cpaneluser_wpresss -p
Enter password:

В MySQL промпта избираме базата данни на WordPress сайта (information_schema е служебна база данни) с командата use database-name;:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| cpaneluser_wpblog      |
+--------------------+
2 rows in set (0.03 sec)

mysql> use cpaneluser_wpblog;

Database changed

Може да видим списък с таблицита с командата show tables;:

mysql> show tables;
+-------------------------+
| Tables_in_ihost_wpblog  |
+-------------------------+
| OWPB_commentmeta        |
| OWPB_comments           |
| OWPB_links              |
| OWPB_options            |
| OWPB_postmeta           |
| OWPB_posts              |
| OWPB_term_relationships |
| OWPB_term_taxonomy      |
| OWPB_termmeta           |
| OWPB_terms              |
| OWPB_usermeta           |
| OWPB_users              |
+-------------------------+

12 rows in set (0.00 sec)

Сега изпълняваме следните команди, с всяка от които:

  • променяме домейна в първия ред (option_id = 1) на таблицата prefix_options:
mysql> UPDATE `OWPB_options` SET `option_value` = 'http://wordpress-new.site' WHERE `OWPB_options`.`option_id` = 1;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0
  • променяме домейна във втория ред (option_id = 2) на таблицата prefix_options:
mysql> UPDATE `OWPB_options` SET `option_value` = 'http://wordpress-new.site' WHERE `OWPB_options`.`option_id` = 2;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0
  • променяме основното заглавие на WordPress сайта:
mysql> UPDATE `OWPB_options` SET `option_value` = 'New Site' WHERE `OWPB_options`.`option_id` = 3;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 0
  • променяме допълнителното заглавие:
mysql> UPDATE `OWPB_options` SET `option_value` = 'My New Wordpress Blog' WHERE `OWPB_options`.`option_id` = 4;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

Излизаме от MySQL промпта:

mysql> quit;
Bye
cpaneluser@servername [~]# 

Промяна на WordPress домейн с WP-CLI

Първо проверяваме дали в хостинга е инсталирана SSH библиотеката за управление на WordPress WP-CLI:

cpaneluser@servername[~]# wp --info
OS: Linux 3.10.94-1.el6.elrepo.x86_64 #1 SMP Thu Dec 10 12:39:34 EST 2015 x86_64
Shell: /bin/bash
PHP binary: /usr/local/php71/bin/php-cli
PHP version: 7.1.11
php.ini used: /usr/local/php71/lib/php.ini
WP-CLI root dir: phar://wp-cli.phar
WP-CLI vendor dir: phar://wp-cli.phar/vendor
WP_CLI phar path: /home/cpaneluser
WP-CLI packages dir:    
WP-CLI global config:   
WP-CLI project config:  
WP-CLI version: 1.5.1
cpaneluser@servername[~]# 

Навигираме до root директорията на WordPress сайта и изпълняваме следните две команди:

wp option update home 'http://example-domain.com'

wp option update siteurl 'http://example-domain.com'

cpaneluser@servername [~]# cd public_html/_wordpress_site
cpaneluser@servername [~/public_html/_wordpress_site]# wp option update home 'http://wordpress-new.site'
Success: Updated 'home' option.
cpaneluser@servername [~/public_html/_wordpress_site]# wp option update siteurl 'http://wordpress-new.site'
Success: Updated 'siteurl' option.
cpaneluser@servername [~/public_html/_wordpress_site]# 

Обобщение

Накратко припомняме описаните в статията начини, по които може да променим домейна на WordPress сайт:

  • през Dashboard > Settings > General - въвеждаме пълния URL, не само домейна без да добавяме '/' накрая;
  • чрез добавяне на два реда код в wp-config.php файла в root директорията на WordPress - не променя грешните записи в базата данни;
  • чрез добавяне на два реда код в functions.php файла в активираната тема на сайта - този метод променя грешните записи в базата данни;
  • през phpMyAdmin - променяме домейна директно в базата данни в таблица prefix_options в колоната option_value;
  • през SSH - логваме се в MySQL, избираме базата данни и изпълняваме команди, с които променяме домейна (и по желание заглавията) на WordPress сайта;
  • през WP-CLI - навигираме до root директорията на сайта и изпълняваме две команди;