Сьогодні мова піде про порівняно просте покрокове керівництво для початківців, яке допоможе вам перенести ваш сайт на базі WordPress на новий хостинг або нову базу даних зі зміною адрес. Якщо ви змінили провайдера або просто хочете перенести блог на нову адресу/домен/піддомен, то вам знадобиться і це покрокове керівництво, і відео-інструкція, яка в ньому є.
Якщо ви розробник, то відразу скажу, що в нашому посібнику описані лише основні віхи процесу, але для тих, хто вперше самостійно переносить свій сайт на новий сервер або хостинг, цього цілком достатньо.
Акція:
Ми перенесемо Ваш сайт (виконаємо трансфер) на WordPress хостинг Hostenko безкоштовно.
- Орієнтовний час виконання: 15-20 хвилин.
- Складність: від початківця до користувача середнього рівня
- Що нам знадобиться: хостинг з PHP (5.2+), MySQL Database та FTP-доступ
- Потрібне ПЗ: FTP-клієнт, текстовий редактор, PHPMyAdmin
З чого почати: що треба знати перед початком роботи
WordPress - не такий простий двигун і ПЗ, як може здатися на перший погляд. І тому для звичайних користувачів без розвиненого досвіду як програміст-розробник процес кодингу або редагування даного движка може бути непростим завданням. Тому, щоб ви остаточно не заплуталися в термінології з перших рядків цієї покрокової інструкції, зроблю для вас короткий вступ. А потім поступово перейдемо до "розбору польотів" і того, як правильно перенести існуючу установку WordPress до нового пункту призначення.
Є різні підходи до структуризації компонетів WordPress, але в нашому випадку достатньо буде наступного поділу компонентів на 2 основні групи:
- Файли на вашому веб-сайті (php, css, html, javascript та ін.)
- База даних (БД) (в ній зберігається вся інформація щодо файлів та роботи з ними)
Файли
Щоб ваш WordPress працював, треба, щоб файли формували "вигляд" і структуру вашого сайту, а БД при цьому контролювала всю роботу файлів. Усі файли у складі сайту написані з використанням мови програмування. У випадку з нашим двигуном йдеться про PHP. Щоб побачити файли, з яких складається існуюча установка WordPress, вам потрібно залогінитися на ваш хостинг або підключитися до вашого FTP-сервера. Створити FTP-підключення до вашого сайту ви можете за допомогою спеціального програмного забезпечення, наприклад: WinSCP, Палій або FileZilla. Необхідні налаштування для підключення FTP-протоколу вам повинен надати ваш хостинг-провайдер. Щоб перенести файли з одного сервера на інший, потрібно просто перемістити їх так само, як ви переміщаєте файли на локальному диску, перетягуючи їх на піктограму іншого диска, папки або підрозділу. Різниця полягає лише в тому, що в даному випадку ця операція виконується за допомогою FTP-клієнта: спеціальної програми, яка підключена до вашого сервера хостинг-провайдера.
База даних (MySQL)
Якщо з файлами в рамках WordPress впоратися можна досить легко, то управління та редагування БД у вашому WP — справа далеко не проста. Для новачків поясню: ви не можете просто взяти та перемістити базу, перетягнувши її "мишкою", як ви це робили з файлами та папками. БД має свій протокол, до якого вона жорстко прив'язана. Інформація в рамках встановленого WordPress зберігається усередині окремої БД MySQL. Її надає ваш хостер чи провайдер серверів. Щоб отримати доступ до неї, необхідно підключатися, вказуючи пароль, логін користувача та ім'я хоста. Замість того, щоб вникати в код та особливості мови програмування, на якій створена ваша база даних, вам знадобиться PHPMyAdmin: це надбудова, що управляє роботою вашого сайту, яка ще відома як "Панель управління хостингом". PHPMyAdmin створює інтерфейс, за допомогою якого користувач може працювати з базою даних. Нам у процесі переміщення сайту знадобиться лише кілька основних інструментів із цієї панелі, А більшу частину можливостей її ми взагалі проігноруємо (щоб ви, копаючись у тонкощах і розширених можливостях, нічого не "напортачили").
Далі розглянемо приклад переміщення сайту на новий піддмен (піддмін носить ім'я "sandbox.devnot.es").
Попередження новачкам
Варто сказати, що редагування вашої БД MySQL може бути вкрай ризикованим заняттям, якщо ви недостатньо уважні та обережні: навіть досвідченіші користувачі в результаті однієї невірної операції могли "поламати" всю БД і непоправним чином пошкодити не тільки нову установку БД, але й зіпсувати роботу існуючої БД та сайту, який вона обслуговує. Тому якщо це ваш перший досвід у міграції сайту, настійно не рекомендую вам тренуватися на сторонньому проекті чи сайті клієнта: краще створіть для цієї мети простенький тестовий сайт. Тим не менш, метод спроб і помилок ефективний, так що вчіться і намагайтеся перенести сайт самі; але тільки робіть це на прикладі тестового сайту та робіть це акуратно!
Відео-інструкція
Це відео послужить покроковим керівництвом для здійснення всієї необхідної процедури (щоправда, все одно почитайте текстову інструкцію після перегляду відео, там є деякі нюанси, які важливо знати новачкові у справі "міграції" сайтів). А поки оберіть режим перегляду відео HD і розгорніть на весь екран, щоб нічого не пропустити: найважливіші кроки спеціально знято зі збільшенням частини сторінки в момент редагування або інших операцій із сайтом.
Примітка: на етапі, коли мінятимете URL-адреси в БД, використовуйте інструмент групового редагування адрес шляхом пошуку та заміни, а не стандартним текстовим редактором: це допоможе уникнути проблем. Знайти його можна у вільному доступі на сайті InterconnectIT.
Крок 1: Файлова система
Перш ніж ми почнемо переносити наш сайт на базі WordPress, потрібно зробити пару процедур із файловою системою, з якою працює наш сайт. Річ у тім, що у WordPress використовується певний тип імен: символи "wp" позначають, що цей файл потрібен для коректної роботи встановленого WordPress. Однак є кілька винятків із цього загального правила - це такі файли:
- .htaccess
- index.php
- xmlrpc.php
Крім вищезгаданих файлів, є кілька опціональних файлів, що входять у пакет WordPress і при цьому їх наявність не є обов'язковою умовою для роботи самого двигуна; Проте ці файли несуть інформаційну функцію. А тому треба зберегти й ці файли:
- readme.html
- ліцензія
- favicon.ico (якщо цей файл у вас є)
Не забудьте ці файли; а решта, у яких в імені є частина "wp", треба перенести в обов'язковому порядку за умовчанням. Вам знадобляться всі три папки з файлами та їх вміст ("wp-admin", "wp-content" та "wp-includes"), а також ті файли, про які йшлося раніше. Повний список налічує 31 файл:
Якщо ви переносите файли в рамках одного і того ж хоста або сервера, немає потреби в локальному бекапі: ви завжди можете за пару секунд перенести файли назад простим копіюванням.
- WP-адміністратора /
- WP-зміст /
- wp-включає /
- .htaccess
- favicon.ico
- readme.html
- index.php
- license.txt
- WP-load.php
- WP-login.php
- WP-посилання-opml.php
- WP-config.php
- wp-feed.php
- wp-pass.php
- WP-блозі-header.php
- wp-rss.php
- wp-atom.php
- wp-mail.php
- wp-config-sample.php
- WP-settings.php
- сор-activate.php
- WP-cron.php
- WP-коментарі-post.php
- wp-rss2.php
- wp-commentsrss2.php
- wp-register.php
- wp-app.php
- WP-signup.php
- WP-trackback.php
- wp-rdf.php
- xmlrpc.php
Тепер, коли ми знаємо, які саме файли нам обов'язково знадобляться, їх можна зберегти на локальному комп'ютері. У нас вийде локальний бекап на той випадок, якщо ми зовсім заплутаємось і "наламаємо дров" з новою установкою та перенесенням. Після того, як ви збережете файли на локальний диск, можете починати перенесення файлів на новий сервер або до іншого провайдера хостингу. Не хвилюйтесь: повідомлення про те, що виникла помилка php, вам не прийде; з'явиться повідомлення, що не можна встановити підключення до БД, доки ви не завершите переміщення файлів.
Крок 2: БД MySQL
Якщо ви не можете відразу знайти ім'я користувача та пароль, відкрийте файл "wp-config.php". У ньому зберігається ваше ім'я користувача та пароль. Якщо ви переносите блог в рамках одного сервера або хостингу, можете пропустити цей крок.
Отже, перед вами — завдання зміни сервера або хостинг-провайдера або ж ви просто переносите блог або сайт на нову адресу. Крім перенесення самих файлів, вам потрібно також перенести БД. У БД зберігаються всі шляхи взаємодії з контентом та файлами на сайті. Замість автоматичного експорту БД засобами WordPress, проведемо всі процедури вручну: для електронної пошти нам знадобиться інтерфейс PHPMyAdmin. Основні хостери мають свої надбудови над цією панеллю, такі як cpanel, plesk або інші варіанти.
Зайшовши до панелі, переходимо до вибору БД WordPress. Щоб правильно вибрати БД, треба звіритись з інформацією з файлу wp-config.php: у ньому знайдемо пункт "DB_NAMEз назвою нашої бази даних (У наведеному прикладі ім'я БД - "devnotes_wp"). Клікнемо на цьому імені і після відкриття нового вікна праворуч вгорі вам потрібно натиснути на кнопку "Export" ("Експорт"). Потім вибираєте опцію "Save as file " ("Зберегти як файл") і не забудьте зняти стиснення, а потім натиснути на "Go" ("Почати"). Запуститься процес завантаження файлу [DB_NAME].sql. Цей файл вам потрібно буде залити на новий сервер або хостинг.
Не архівуйте файл sql, оскільки його треба буде редагувати на наступному етапі роботи (про який йтиметься далі).
Крок 3: міняємо адреси
Цей крок можна пропустити, якщо ви не збираєтеся змінювати адресу вашого блогу чи сайту. Цей крок стосується лише сайтів, в яких будуть внесені зміни до доменів, субдоменів, структури каталогів.
На цьому етапі ми змінюємо адресу сайту на новий домен, директорію чи субдомен. Для того, щоб все коректно працювало, потрібно буде кожне посилання на нашому старому сайті перенаправити та налаштувати на новий вид URL; це стосується не лише самих посилань, а й постів, зображень, завантажених файлів та шляхів до них тощо.
Тут для редагування скористайтесь текстовим редактором з опцією пошуку та заміни певного фрагмента. Для таких ОС, як Windows and Linux, підійде безкоштовний редактор NotePad ++. Ще є непогана програма для цих цілей під назвою Sublime 2. Знайдіть всі фрагменти коду, що містять колишню веб-адресу, і замініть їх на нову адресу. У процесі вставки та автозаміни будьте уважні, щоб не вставити зайві символи в нові адреси (наприклад, дублювання "слешів").
Примітка: простий пошук та заміна виділеного фрагмента добре працює в більшості випадків; Однак сьогодні в БД може зберігатися певна частина посилань та інформації, яку так просто автозаміною не виправиш. Щоб нічого там не "поламати", скористайтеся опцією пошуку та заміни з чутливістю до регістру та серій (в англомовному інтерфейсі - "serialize-data sensitive"). Зокрема, інструмент для такого пошуку та заміни можна завантажити з сайту InterconnectIT.
Раджу вам зберегти всі результати в новому файлі на той випадок, якщо в процесі редагування ви десь припустилися помилки, і новий файл не запрацює коректно після перенесення та перезапуску сайту.
Крок 4: відновлюємо БД
Часто буває так, що вам потрібно створити нову БД при перенесенні на новий хост. Крім того, можливо, потрібно буде додати нове ім'я користувача та пароль до нього для роботи з новою БД.
Після перенесення та зміни URL треба підключити БД так, щоб вона "розпізнавала" сайт на новому місці. Для цього вам потрібно залогінитись у нове розташування сайту через PHPMyAdmin.
Зайшовши на перенесений сайт за допомогою PHPMyAdmin, виберіть нову БД, клацнувши на її назві ліворуч, а потім натиснувши на "ІмпортПереконайтеся, що ви виконуєте операції саме в такому порядку, щоб на наступному кроці не отримати повідомлення про помилку. Завантажте збережений раніше завантажений файл з розширенням .sql. Якщо все зроблено правильно, ви побачите підтвердження того, що ваша БД була завантажена.
Крок 5: повертаємо WordPress "до життя"
Останнім кроком у нашій процедурі переміщення сайту стане прописування нового розташування сайту на базі WordPress та підключення БД, щоб нам не видавалася помилка підключення до БД: "Database Error". Якщо ви все ще бачите цю помилку, то саме час відредагувати вміст файлу WP-config.php. Там треба оновити налаштування БД та вказати нові, згідно з внесеними змінами до БД MySQL.
// ** MySQL settings - You can get this info from your web host ** //
/ ** Ім'я бази даних для WordPress * /
define('DB_NAME', 'mysite_wp');/ ** MySQL ім'я користувача бази даних * /
define('DB_USER', 'wordpressDB_user');/ ** MySQL пароль бази даних * /
define('DB_PASSWORD', 'secretP@ssword');/** ім'я хоста MySQL */
define('DB_HOST', 'localhost');
Ось що вам потрібно відредагувати:
- DB_NAME - ім'я нової БД, створеної для WordPress
- DB_USER — ім'я користувача, який має права доступу до БД
- DB_PASSWORD - пароль для вищезазначеного користувача
- DB_HOST – ім'я хоста для БД. Зазвичай тут прописують "localhost" (якщо немає якихось специфічних налаштувань чи вимог із боку самого провайдера).
Якщо у вас виникли проблеми з пошуком коректних технічних даних, зверніться до техпідтримку свого хостинг-провайдера, вони допоможуть вам налаштувати перенесення сайту на новий хостинг і підкажуть ті параметри, в яких ви не впевнені.
Після того, як будуть внесені всі необхідні зміни, збережіть файл та повторно завантажте його на сайт.
Ура, ви все зробили!
Так, так: ви закінчили. До цього моменту ви вже повинні були успішно перенести свій блог або сайт на базі WordPress на новий сервер або хостинг. Всі перераховані вище операції потрібні для того, щоб успішно перенести сайт на новий хостинг, новий домен або субдомен, або змінити сервер в рамках одного і того ж хостинг-провайдера.
Коментарі до запису: 20
Щодо зміни домену: як варіант, робиться через 3 SQL запиту в тому ж PHPMyAdmin
1. UPDATE wp_options SET option_value = REPLACE(option_value, 'http://domain.ru', 'http://newdomain.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
2. UPDATE wp_posts SET guid = REPLACE(guid, 'http://domain.ru', 'http://newdomain.ru');
3. UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://domain.ru', 'http://newdomain.ru');
Чи не спрацювало. Видає помилку.
Error number: 1064; Symbol: ER_PARSE_ERROR; SQLSTATE: 42000
Message: %s поблизу '%s' at line %d
Щоправда, як варіант, руки не з того місця зростають. Або у вашому коді припущено помилку.
Якщо чесно, то ні фіга не зрозуміло.
Все зробив за інструкцією. Але IP-сервера інший і на сайт потрапити не можу. Де прописувати IP?
Це вже швидше за все до доменного реєстратора чи хостера питання.
Дякую за інструкцію!!! Все зробив як написано та вуалю…заробило!
Успіхів вам!!!
Здрастуйте!
А у мене після перенесення відбувається редирект на старий сайт при вході в адмінку із сайту.
Пробував видаляти всі таблиці з бд і знову імпортувати не допомогло. Перевірив у wp-config.php правильність даних бд, все правильно нові значення.
Потім просто видалив усі дані в бд і з'явилася установка заново WordPress. Підкажіть, будь ласка, що можна зробити?
Видаляти таблиці з БД однозначно не варто. Якщо перенос на новий домен, переконайтеся, що в налаштуваннях домену були правильно вказані записи типу-А та NS. В адмінці WordPress також вказується нова адреса сайту. Якщо нічого не виходить, зверніться до хостера.
причому тут А і ns))? лол
подумай, до чого вони тут
Зіткнувся з такою ж проблемою, якщо вирішили щось підкажіть як? не можу зайти в адмінку тому що кидає на стару адресу адмінки
Все зробив як за інструкцією. Сайт працює, правильно посилання відображаються. Але не можу зайти до адмінки, просто біле полотно і все. В чому може бути проблема?
Інструкція коректна, все правильно… Але шукав інформацію про перенесення налаштувань тим, т.к. «Великі» теми після зміни домену дефолтят всі налаштування ... Звичайно наново все налаштувати не довго, але все-таки ліньки :)
При перенесенні сайту з локального хостингу на хостинг провайдера після того, як експортував БД, у текстовому редакторі замінив усі записи 127.0.0.1 на домен провайдера. Сайт практично запрацював, АЛЕ немає жодної картинки. Хто може підказати, що ще варто поміняти? Дякую!
дякую за вашу інструкцію, якраз переходжу до хостера Handyhost, тепер точно знаю як.
А я не морочився навіть. Коли користувався послугами wishhost.net. Тих підтержка відразу запитала мене, чи потрібна мені допомога в переїзді. Я погодився. Дав їм логін та пароль від старого фостера та вуалю через 20 хвилин сайт весь готовий.
Підкажіть, будь ласка, чи є можливість перенесення сайту з налаштуваннями теми? Т.к. після перенесення на хостинг у теми стають дефолтні налаштування.
Усі налаштування теми зберігаються у базі даних. Якщо перенесення було виконано правильно з повним клонуванням БД та файлів сайту, все має залишитися без змін.
Насамперед мені б хотілося сказати спасибі за корисну статтю. Все зробив як ви і описували, але в моєму випадку це не допомогло вирішити завдання, яке я переслідував.
Після перенесення сайту на локальний сервер (XAMP) не працюють посилання на пости. Тобто на кліку на посилання статті мене перекидає на сторінку http://localhost/dashboard/.
Допоможіть будь ласка розібратися в чому справа.
Проблема вирішена. Потрібно було в адмінці розділу Постійні посилання вибрати потрібний тип. :) Дякую за шикарну статтю!