Перенесення Wordpress блогу на інший хостинг
Рано чи пізно, але напевно, перед багатьма з вас постане задача перенести свій Wordpress блог на новий хостинг. Причин цьому може бути декілька – вам не подобається ваш теперішній хостер, місця стало замало, ви знайшли кращі тарифи, переїжджаєте з безкоштовного на платний.
Якою б не була причина вашого переїзду, знайте, що цей процес є не надто приємним, а в окремих випадках – жахливим. Саме такий окремий випадок трапився минулих вихідних на Блогорідері, коли цей сайт покидав лави TOPUA, безкоштовного хостингу, на якому він тримався цілий рік. Саме тому, як ви вже можливо помітили, публікацій на минулому тижні практично не було, а в неділю сайт нагадував першоквітневий жарт (хто цього жаху не бачив, тому пощастило). Однак часи міняються, і треба рухатися далі. А щоб у вас не трапилося таких помилок чи збоїв під час переходу на інший хостинг, як у мене, варто дотриматися кількох порад.
Отже, що потрібно зробити, щоб без проблем Wordpress блог фізично перемістити на інший сервер?
Частина 1. Все як по маслу.
1. Змінити DNS-записи вашого домену. DNS-записи – це рядок, що вказує, де сайт знаходиться фізично, тобто на якому сервері міститься папка public_html з усім вмістом. зазвичай ці записи мають вигляд ns1.server.com, ns2.server.com, один основний та один запасний. Ці дані має надати ваш хостинг-провайдер, до якого ви хочете перейти. Записи DNS змінюються за допомогою компанії, де ви реєстрували свій домен. Примітка: якщо ваш домен було зареєстровано за допомогою пошти (автовідповідач зони org.ua), то необхідно надіслати на адресу auto-query@org.ua листа без зайвих форматувань, у темі вказати MODIFY адреса_сайту.org.ua, а в тілі повідомлення – дані для домену. всі дані залишайте незмінними, окрім рядків для DNS – відповідно, замініть їх на нові, на ті, до яких хочете перейти. Детальніше про реєстрацію доменів поштою читайте на блозі Ласета.
Цей пункт (1) можна зробити і після переносу сайту. Однак якщо ви хочете побачити зміни вживу, то краще спочатку змініть записи DNS. Особисто я робив так.
2. Перенести папку з сайтом та базу даних блогу. А ось тут у вас вже є різні варіанти, як діяти.
а) перенести все вручну. Архівуєте всі дані сайту (папку public_html), скачуєте архів собі на ПК, і знову завантажуєте в інтернет, але вже на сервер нового хостингу. Переносите базу даних блогу : заходите на старому хостингу в панель керування базами даних phpMyAdmin, обираєте базу даних вашого блогу, натискаєте експорт, скачуєте собі на ПК дамп бази даних (тобто те все, що ви експортували буде в одному файлі. Це і є ваш блог з усіма постами, коментарями та інтерфейсом). На новому хостингу створюєте пусту базу даних. Заходите в аналогічну панель php MyAdmin на новому хостингу та через опцію Import імпортуєте той дамп, який ви щойно експортували зі старого хостингу. Імпорт робите, звісно, в упсту базу даних. Після цього залишається лише Змінити файл wp-config.php – там ви прописуєте ім"я та пароль до нової бази даних, яку перед цим створили, та в яку імпортували дамп. Цей спосіб є дуже незручним, особливо коли сайт дуже великий, а швидкість інтернету у вас маленька. А ще можуть виникнути різноманітні проблеми з кодуванням, про які йтиметься нижче.
б) попросити зробити все вашого хостинг-провайдера. Якщо ви залізли у шалені дебрі, нічого не виходить, або ж ви взагалі нічого не зрозуміли з вищесказаного, то можна попросити зробити перенесення блогу у вашого хостера. Зазвичай хостери добрі і роблять це. Вам треба буде надати йому логін і пароль до старого аккаунту.
в) перенести блог за допомогою протоколу SSH (Secure Shell). Цей протокол допомогає переносити бази даних з одного хостингу на інший напряму, без ваших посередніх дій. Він є дуже легким у роботі, однак перед цим його треба налаштувати (що в мене не вийшло). Детальніше про SSH читайте у Dimox’a. Для таких операцій вам знадобиться програма WinSCP.
Частина 2. Віднесені блогом.
Теоретично, після проведених дій, ваш сайт має щасливо переїхати. Однак так буває не завжди (практично – рідко). Найчастішими проблемами є ті, що пов"язані з кодуванням.
- все пройшло нормально, але замість тексту – знаки питання. Поламалось кодування. перевірте в phpMyAdmin, в якому кодуванні були ваша база даних на старому хостингу, і якою вона є на новому. Все має бути в utf-8.
- Warning: Cannot modify header information – headers already sent by (output started at… Якийсь із файлів збережено у невірному кодуванні або у utf-8 з підписом BOM. Щоб це виправити, відкрийте файл за допомогою програми Notepad++ (або будь-якої іншої, що підтримує зберігання в різних кодуваннях) та збережіть його як UTF-8 without BOM. Те саме стосується файлу wp-config.php.
- warning-помилки + ієрогліфи на сайті. Не хочеться вас розчаровувати, але це може бути одним з найважчих випадків. Наприклад, як цей, що був 8 червня. Про цю помилку ми поговоримо детальніше.
Якщо замість тексту на вашому блозі одні ієрогліфи та кракозябри незрозумілого змісту, то проблема з кодуванням є пріоритетною. Вона полягає у тому, що деякі хостинг-сервери автоматично налаштовані на кодування Latin1, зокрема, таким виявився і TOPUA. Вся база даних, всі таблиці, що становили собою блог, були у кодуванні latin1, хоча сам сайт відображався кирилицею. Ця проблема виявилася при переносі на інший хостинг. Найважче в цьому те, що безпосередньо перекодувати будь-який файл, навіть ту ж саму базу даних з latin1 в життєво важливий utf-8 практично неможливо (практично тому, що я не знайшов такого способу). Якщо в phphMyAdmin просто змінити кодування таблиць, то кракозябри залишаться, не допоможе тут навіть програма Notepad++ та їй подібні, що зберігають UTF-8 without BOM signature.
Одним з варіантів вирішення проблеми є такий: всі таблиці з latin1 вам потрібно вручну перевести у режим BLOB (режим, що не має ніякого кодування), а потім у utf-8. Цей метод був використаний у статті Конвертация WordPress Баз Из Latin1 В UTF-8 , і саме він наштовхнув мене на вирішення цієї задачі, яка "знеструмила" Блогорідер на дві доби. Спосіб, описаний у цій статті може виявитися для вас корисним, але для мене все вийшло трохи інакше. Я ж просто:
- створив за допомогою cPanel Fantastico новий Wordpress-блог на новому хостингу
- імпортував по черзі окремі таблиці (wp_options, wp_comments, wp_posts, ….) зі старої бази даних, попередньо перекодувавши їх в utf-8 without BOM
- створив файл .htaccess, щоб всі посилання на новому хостингу запрацювали
… і після цього все запрацювало, як треба. Ось така ця марудна робота, але погодьтесь, що найкраще, це коли немає жодних помилок. Ну а насамкінець деякі примітки:
- DNS-записи змінюються не моментально. У різних провайдерів це триває від години до 48 годин. Щоб зміни з"явились для вашого ПК одразу, пропишіть у файлі C:/Windows/system32/drivers/etc/hosts IP-адресу вашого сайту.
- Перед тим як переносити сайт, не забудьте припаркувати свій домен для нового хостингу.
- Зробіть перед переїздом бекапи (резервні копії) всіх файлів, які лиш є. Можливо, саме за їх допомогою ви врішите свої проблеми.
- Якщо не впевпені в своїх силах або нічого не зрозуміли – краще не беріться за це, доручіть своєму хостеру, щоб не наробити дурниць.

Меню phpMyAdmin

Експорт бази даних

Експорт бази даних

Імпорт бази даних

Правка таблиці з невірним кодуванням з latin1 > BLOB > utf-8
Обираємо BLOB та зберігаємо. Правка застосовується лише для таблиць, де є кириличний текст. Після цього аналогічно обираємо text, Collation – utf8 general, та зберігаємо.
Корисні посилання, які вам дуже пригодяться при будь-яких проблемах:
- Перенос Wordpress на новый сервер
- Перенос на другой хостинг
- Перенос WordPress-сайта на другой хостинг
- Backing Up Your Database
- Converting Database Character Sets
- Backup and restore Wordpress database
- TIP Convert latin1 to UTF-8 in MySQL
- Обновление сервера MySQL на версию 4.1, проблема кодировок
Окрема подяка Роланду , а також всім іншим, хто намагався допомогти (jarofed, MrGall).
hellveen, спеціально для Блогорідера.
Оціни статтю:
Схожі матеріали:
- 10 найнеобхідніших плагінів для Wordpress
- Wordpress 2.5 – велике оновлення
- Як захистити і покращити свій Wordpress
- 10 найкорисніших сервісів для блогера
- Як боротися зі спамом в коментарях

Сподобалась стаття?
Підпишись на оновлення через RSS (?) або e-mail.
