Перенесення сайту з Ucoz на Wordpress

  1. Перенесення сайту з Ucoz на WordPress Ну що ж, ось і сталося те, про що я довго мріяв і думав: я...
  2. Перенесення дизайну сайту з Ucoz на WordPress
  3. Перенесення Бази даних з Ucoz на WordPress
  4. Парс кожну сторінку сайту
  5. Парс вміст сторінки
  6. Будуємо SQL-запит вставки (INSERT TO)
  7. Заповнити базу Даних сайту с помощью інструменту PhpMyAdmin
  8. Резюме по перенесенню сайту з хостингу і CMS від Ucoz на інший хостинг з CMS WordPress
  9. Перенесення сайту з Ucoz на WordPress
  10. Як перенести сайт з Ucoz на WordPress
  11. Перенесення дизайну сайту з Ucoz на WordPress
  12. Перенесення Бази даних з Ucoz на WordPress
  13. Парс кожну сторінку сайту
  14. Парс вміст сторінки
  15. Будуємо SQL-запит вставки (INSERT TO)
  16. Перенесення сайту з Ucoz на WordPress
  17. Як перенести сайт з Ucoz на WordPress
  18. Перенесення дизайну сайту з Ucoz на WordPress
  19. Перенесення Бази даних з Ucoz на WordPress
  20. Парс кожну сторінку сайту
  21. Парс вміст сторінки
  22. Будуємо SQL-запит вставки (INSERT TO)
  23. Перенесення сайту з Ucoz на WordPress
  24. Як перенести сайт з Ucoz на WordPress
  25. Перенесення дизайну сайту з Ucoz на WordPress
  26. Перенесення Бази даних з Ucoz на WordPress
  27. Парс кожну сторінку сайту
  28. Парс вміст сторінки
  29. Будуємо SQL-запит вставки (INSERT TO)
  30. Перенесення сайту з Ucoz на WordPress
  31. Як перенести сайт з Ucoz на WordPress
  32. Перенесення дизайну сайту з Ucoz на WordPress
  33. Перенесення Бази даних з Ucoz на WordPress
  34. Парс кожну сторінку сайту
  35. Парс вміст сторінки
  36. Будуємо SQL-запит вставки (INSERT TO)
  37. Заповнити базу Даних сайту с помощью інструменту PhpMyAdmin
  38. Резюме по перенесенню сайту з хостингу і CMS від Ucoz на інший хостинг з CMS WordPress

Перенесення сайту з Ucoz на WordPress

Перенесення сайту з Ucoz на WordPress

Ну що ж, ось і сталося те, про що я довго мріяв і думав: я переніс свій сайт з Ucoz на інший хостинг. Саме про це дія я хотів би написати в даній статті.

Почнемо напевно з того, що подумаємо про те, чи потрібен взагалі такий перехід. У моєму випадку, а пацієнтом є сайт з онлайн кіно amove.ru, перехід був дуже навіть бажаний. По-перше, чисто грошове питання: 10 доларів за тарифний план з усіма можливостями, які були потрібні для сайту, плюс ще два долара зверху за можливість використання php-скриптів. І за все це ви отримуєте по суті звичайний shared-хостинг, на одному ip-адресу і на одному сервері якому розташовані може навіть кілька десятків сайтів. А так як кожен школяр і недоучка через відсутність досвіду і дружніх порад з різних форумів біжить запускати свій сайт на Ucoz, який в цьому плані дуже простий у використанні, то довіра у пошукових систем до вас з-за великої кількості диких сусідів не буде занадто вже й великим. А що можна отримати за ті ж 500-600 рублів? Будь ласка - отримай VPS з 1 ГБ оперативної пам'яті, з 1-2 ядерним процесором, 1 ГБ на SWAP, 20-30 ГБ простору на жорсткому диску, який може бути навіть SSD, плюс 100 Мбітних пропускної канал. Ну тут звичайно як пощастить, у кожного хостера різні параметри дещо відрізняються, але в принципі за ті ж гроші можна отримати куди більш потужний сервер, причому що можливо більш важливо, виділений сервер і виділений ip-адреса.

Крім усього цього у вас буде повний доступ до Вашого сайту, що відразу після переходу з Ucoz на інший хостинг буде здаватися чимось диким, адже тут ви зможете під себе налаштувати абсолютно все, починаючи з операційної системи і веб-сервером і закінчуючи звичайними ковиряжкамі в конфігураційних файлах. Ще не варто забувати, що Ucoz залишає за собою повної право назавжди видалити ваш сайт, що у випадку з онлайн-кінотеатр було кілька загрозливим і що примушувала робити бекапи в міру можливості, які так само обмежені політикою Ucoz. Загалом хвалити VPS або VDS і опускати нижче плінтуса Ucoz можна досить довго, але ви, напевно, вже прийшли до цього висновку, раз загляну на дану сторінку. І тому, почнемо.

Як перенести сайт з Ucoz на WordPress

Ідеї ​​перенести сайт з Ucoz на інший хостинг завжди асоціювалися з бажанням пересісти на DLE, але так як я вирішив перенести сайт своїми руками, а не руками якогось мутного прогерія з чергового форуму, то я зупинився на WordPress, з яким я вже мав справу . WordPress, DLE, Joomla або якась інша CMS - неважливо, так як зараз ви зможете зрозуміти принцип перенесення сайту на іншу CMS, що, як мені здається, більш ніж достатньо. А потім гугл-навчання вам на допомогу.

Отже, процес перенесення сайту з Ucoz на іншу CMS можна розділити на два великі етапи:

  • Перенесення дизайну сайту.
  • Перенесення записів (перенесення бази даних сайту).

Якщо для першого пункту нам досить доступу до файлового менеджера на Ucoz, то для другого необхідний повний бекап вашого сайту, який можна виконати в адмінці і який після можна буде скачати собі на комп'ютер. Слід врахувати той момент, що Ucoz дозволяє робити повні резервні копії тільки раз в сім днів і то з 00:00 до 9:00, щоб не перевантажувати і того хиленькие сервера. Тому Вам необхідно заздалегідь спланувати, щоб в необхідний момент ця функція була активна, так як я раджу насамперед повністю перенести дизайн сайту і тільки після цього зайнятися його заповненням. А особисто у мене перенесення дизайну сайту з ucoz на wordpress зайняв близько 5 днів (враховуйте те, що це мій перший досвід) і тривав наступні 5 днів з внесенням невеликих змін. Скажу чесно, перенесення дизайну - справа досить легке, якщо ваш сайт не навантажений різного роду слайдерами, додатковими інтерактивними модулями та іншої радістю життя. Ось тоді то і доведеться непогано попаритися з додатковими плагінами для WordPress, які доведеться намертво впаяти в систему. Я десь півтора дня витратив на пошук, установку і тестування альтернативного слайдера і в підсумку залишив той, який був. (Слайдер був і залишається на jquery і заробив я собі півтора дня активного знайомства з різними творами різних програмістів тільки тому, що не підключив один необхідний JavaScript файлик, через що я зробив поспішний висновок, що раніше використовуваний слайдер не запрацює на WordPress`е ). Але, перейдемо до справи ....

Перенесення дизайну сайту з Ucoz на WordPress

Якщо Ви збираєтеся самі перенести дизайн, то вам необхідно зрозуміти, як будується ваша html сторінка на ucoz. Швидше за все спочатку йде header (Глобальний блок Верхня частина сайту), після чого йде якась сторінка з обраного Вами модуля (будь то головна сторінка сайту, сторінка категорій або сторінка з основним записом сайту). Ну і завершує все це дія футер (Глобальний Блок Нижня частина сайту). До всього цього в різних місцях можуть підключатися додаткові блоки, будь то сайдбар або щось інше, а ще виклики інформерів. Це необхідно зрозуміти, щоб ви зрозуміли, в якому порядку будується сторінка.

І ось вам та ж схема на WordPress:

І ось вам та ж схема на WordPress:

Грубо кажучи вам тільки необхідно виставити відповідності і перенести код з одного блоку ucoz, в відповідний файл на wordpress. Але не варто думати що це все так просто. Звичайним перенесенням справа не закінчиться, адже необхідно ще перенести всі файли, до яких система буде звертатися на новому хостингу, і, найголовніше, переписати системні коди виклику певних даних. Так, якщо на ucoz ми використовуємо $ ENTRY_TITLE $, то WordPress тайтл записи отримує по команді

[Code] <? Php the_title (); ?> [/ Code]

Але в цілому простий копіпаст з відповідних блоків у відповідний файл дасть бажаний результат. При цьому вам необхідно буде видалити весь код з цих файлів, залишивши тільки ті, які викликають інші, наприклад:

[Code] <? Php get_header (); ?>
<? Php get_footer ();?> [/ Code]

Діючи таким чином можна досягти перших успіхів: в разі якщо ви перенесли всі файли на новий хостинг, то сторінка може непогано відбитися на екрані. І в міру відтворення сторінки (тому бажано починати з header`а), ви увійдете до смаку і зможете переробити всі інші файли. Якщо ж у Вас все одно є деякі проблеми, то почитайте статті на просторах Інтернету присвячені тому, як створити свою власну тему або хоча б свій власний шаблон сторінки.

Так само хотів би порекомендувати для перенесення дизайну використовувати Denwer, за допомогою якого Ви зможете встановити WordPress на локальний комп'ютер. Це буде хорошим способом вийти з положення, якщо Ви до сих пір не впевнені в своїх силах і не хочете витрачатися на хостинг, тільки щоб зрозуміти, що Ви не зможете перенести сайт з Юкоз на Водпресс.

Перенесення Бази даних з Ucoz на WordPress

Коли у Вас нарешті буде готовий дизайн вашого сайту на CMS WordPress або на будь-який інший системі управління сайтом, який ви виберете, настане час перенесення Бази даних сайту з Юкоз. Ось тут-то і настає найбільша проблема всієї цієї затії. Перенесення бази даних сильно ускладнюється тим, що в Ucoz немає бази даних! Ні, вона звичайно ж є, якщо можна це так назвати. Але всі ваші записи і все значення ваших додаткових полях зберігаються не в «нормальної» sql-базі, а в звичайному .txt-файлі. Ну принаймні саме в такому вигляді ви отримаєте свої записи після того, як зробить повний бекап сайту, викачаєте його собі на комп'ютер і разархівіруете. Всі файли так званої бази даних знаходяться в одному з папок в корені витягнутого архіву. Файлів кілька: якийсь відповідає за користувачів системи, щось за коментарі, щось за записи, щось за сторінки, за категорії, за вміст інших модулів. Упевнений, Ви легко знайдете той, який зберігає найголовніше - ваші записи. Відкривши цей файл ви знайдете жах: всі ваші записи упереміш з даними додаткових полів знаходяться в одному файлі. Все упорядкування закінчується тим, що кожен окремий самостійний елемент (текст записи, дата, якісь поля, ім'я автора і так далі) відділений від іншого вертикальною лінією: |

От і все. І не потрібно мріяти що ви просто перенесете базу даних на новий сервер (природно і цей процес супроводжується необхідними правками і без програмування не проходить). Але тут справа куди складніше. У мене кожен запис містила в собі стільки різних даних, що до наступного запису необхідно було пройти через 30-40-50 вертикальних паличок (не рахував, очі ахуевают). Ось тобі і завдання для програміста: спочатку самому не заплутатися в цьому шифрі і написати шалену програму по висмикування певних даних між певними лініями. Та йдіть ви нахуй !. Покричавши трохи і поштовхавшись між цими «палицями» і подумавши про те, як би так по легкому впоратися з усім цим або з головою піти в прописування регулярних виразів (які до речі відпали через те, що не всі статті з сайту мали певні поля і , як мені здалося, саме здалося, тому що спробуйте самі не загубитися серед всього цього неподобства, кількість осередків, складених з вертикальних палиць для різних записів було по-різному). Закривши подалі цей пекельний файл я вирішив Спарс всі дані з кожної статті прямо з сайту, благо програма вміє тягнути HTML код.

Давайте зараз трохи відійдемо вбік і поговоримо про те, як все ж передати дані сайту на Ucoz в базу даних WordPress. Так як навчального мануала про те як перенести сайт, сидячий на Ucoz, на інший хостинг я не знайшов, я йшов наосліп. Тільки на одному сайті знайшов наведений код на PHP, який робить все це справа (за запевненням автора), але в який я не сильно вникав через посередніх знань PHP, які непогано зміцнилися після здійсненого перенесення. Другий спосіб я бачив використання SQL запитів, які знову таки будуть парсити дані з цього жахливого файлу від Юкоз, що не припускала веселого розвитку подій. Залишився спосіб, який я вже використав в деяких своїх інших програмах: використання декстопной програми (для тих хто не знає, це будь-яка програма робочого столу, який має свій інтерфейс). А це дає нам широкий можливості для вибору мови програмування, за допомогою якого ми все це зробимо (якщо, звичайно ж, ви вмієте програмувати. З усіх мов програмування, з якими я знайомий і з допомогою яких я вже примножував двійку на іншу двійку, я вибрав свій улюблений і самий добре вивчений C #. А ось і план робіт з перенесення статей з Ucoz в базу даних SQL:

  1. По черзі переглянути кожну сторінку сайту.
  2. З кожної сторінки витягувати і запам'ятовувати дані, які необхідно перенести.
  3. На виході надати готовий SQL-запит для вставки статті в базу даних SQL.
  4. Використовуючи таку красу як PHPMyAdmin виконати до бази даних нового сайту SQL-запит вставки всього того, що Вам дорого.

Розглянемо кожен момент по порядку:

Парс кожну сторінку сайту

Юкоз надає можливість використовувати відразу декількох модулів, кожен з яких буде містити певний тип записів. Ідеальним випадком буде якщо ви використовували тільки один модуль і все статті у вас однотипні. В такому випадку парсити дані ми будемо тільки один раз, для чого нам необхідно отримати адреси всіх сторінок вашого сайту. Відмінно для цих цілей підійде файл sitemap.xml (якщо його у вас немає, то краще займіться вивченням основ SEO, що в просування сайту допоможе більше, ніж перенесення сайту на інший хостинг). Якщо у Вас тільки один модуль, то з усього sitemap`а вам необхідно буде відфільтрувати тільки додаткові сторінки, можливо сторінки категорій і іншу маячню. Все це необхідно вмістити в перший модуль програми (або окремої програми), яка прочитає файл sitemap.xml, Повисмикували з нього і надасть на виведенні, бажано в текстовий файл, з якого в подальшому буде зручно читати url сторінок, url адреси всіх сторінок.

Парс вміст сторінки

Тепер нам необхідно через підрядник зчитувати отриманий файл і завантажувати html код сторінки. Далі необхідно висмикувати весь корисний контент і, природно, запам'ятовувати його. Можливо не весь контент відображається на сторінці і деякі використовуються для внутрішніх цілей. Тоді на допомогу вам прийде мета-теги виду:

[Code] <meta name = "що прийде на розум" content = "вміст вашого поля" /> [/ code]

Ну якщо взагалі по жерсті, то ви можете вивести всі необхідні будь-яким зручним способом, нехай навіть на весь екран, закривши основний вміст. Справа ваше, а запропонований мій варіант не несе негативу ні для користувачів, ні для пошукових систем. Усе. Звиваємося, матюкаємося, але витягуємо з html коду все те, що нам потрібно, так як тут вони більш зручні для висмикування, ніж між вертикальними палицями.

Дуже важливий момент для успішного проходження двох перших пунктів. Настійно рекомендую прочитати статтю Парсер, який перевіряє вилучено чи відео Вконтакте , Яка описує створення аналогічної програми і яка описує тонкі моменти цього процесу, найголовнішою з яких є не найчастіше з запитами сторінок на вельмишановний Юкоз, який в три рахунки може записати Ваш IP-адреса в числа потенційних хакерів або їх жертв, які беруть участь в DDOS-атаці цього великого хостингу. Нагородою за це буде неможливість заходу на свій улюблений сайт з даного IP-адреси чи до півночі, то або протягом ще 24 днів, то чи ще якась схема. Суть одна, воно Вам треба? Тому, використовуйте Thread.Sleep, бо програма теж повинна спати.

Будуємо SQL-запит вставки (INSERT TO)

До переходу на цей ступінь, Вам необхідно повністю допив Ваш дизайн і додати одну запис на Ваш новий сайт. Цей запис має бути в точності такий, який ви хочете бачити і всі ваші інші записи. Виконавши це, необхідно залізти в PhpMyAdmin, відкривши вашу базу даних, достукатися до бази wp_posts і подивитися як виглядає ваша запис в базі даних. Далі у вкладці SQL даної таблиці ви можете натиснути кнопку INSERT, яка автоматично заповнить шаблон команди, за допомогою якої можна додати статтю на сайт. Все те ж саме що ви зробили через інтерфейс, можна зробити через SQL запит. І саме цей SQL запит нас цікавить. Для людей володіє логікою відразу стане зрозуміло, в команді спочатку перераховують поля, які необхідно заповнити, а після йдуть значення цих полів. Якщо першу половину шаблону вам чіпати забороняється особисто від мене, то другу половину вам необхідно заповнити. Вгадайте як? Ні, ні руками! Це повинна вміти робити ваша програма, яка на другому етапі повисмикувала все значущі для вас дані з сайту, запам'ятала їх і тепер вставила в рядок, яку ви попередньо створили скопіпастів люб'язно наданий PhpMyAdmin шаблон. Звичайно ж, програма повинна вставляти спарсенние дані у відповідні місця. Щоб не заплутатися вам і знадобитися раніше руками додана стаття, де за допомогою звичайного зіставлення ви легко зможете зрозуміти, що дане поле містить якусь певну інформацію. Наприклад поле title в таблиці SQL буде містити назву статті. (Можливо я помиляюся і назва поля звучить трохи по-іншому. На жаль я не можу надати на суд суспільства шаблон, про який йде мова, так як по PhpMyAdmin кілька образився на мене і не хоче відкриватися. В майбутньому, за рішенням даного непорозуміння, я додам шаблон INSERT в пост.)

Ось. І якщо коротко, то на третьому етапі програма видасть в файл (на екран, та куди завгодно, лише б було вам зручно) готовий запит INSERT, скопіювавши який і вставивши в поле для введення SQL команд в PhpMyAdmin, ваш сайт поповнитися ще одним матеріалом. Категорично рекомендую спочатку налагодити цей момент, щоб SQL адекватно сприймав ваші команди і щоб в них не було помилок. Парсити тисячі сторінка сайту, а потім дізнатися, що є помилка в коді - краще застрелитися, тому що ви дебіл нахуй так жити я вас попередив.

Update: Загалом ось шаблон для додавання запису використовуючи SQL-запит:

[Code] INSERT INTO `wp_posts` (` ID`, `post_author`,` post_date`, `post_date_gmt`,` post_content`, `post_title`,` post_excerpt`, `post_status`,` comment_status`, `ping_status`,` post_password`, `post_name`,` to_ping`, `pinged`,` post_modified`, `post_modified_gmt`,` post_content_filtered`, `post_parent`,` guid`, `menu_order`,` post_type`, `post_mime_type`,` comment_count` ) VALUES ([value-1], [value-2], [value-3], [value-4], [value-5], [value-6], [value-7], [value-8] , [value-9], [value-10], [value-11], [value-12], [value-13], [value-14], [value-15], [value-16], [ value-17], [value-18], [value-19], [value-20], [value-21], [value-22], [value-23]) [/ code]

Як бачите назву кожного поля досить говорить, що допоможе вам легко знайти застосування кожному полю. Деякі непотрібні поля можете залишити порожніми, а деякі можна заповнити будь-якими значеннями. Наприклад поля пов'язані з датами можна легко заповнити виконавши одну команду в програмі, яка виведе поточну дату. Але головне не забувайте перевіряти програму на працездатність, перш ніж запускати її на повну силу.

Заповнити базу Даних сайту с помощью інструменту PhpMyAdmin

Цей пункт є останнім и найбільш простим. На цьом етапі ми просто повінні вручну скопіюваті ті SQL-запиту, Які нам підготувала наша програма, и Вставити їх в Спеціальне поле PhpMyAdmin, Пожалуйста знаходиться у вкладці SQL, после чего необходимо Виконати цею запит. Результат правильного виконаного запиту ви зможете побачити на своєму сайті, який за якісь пару секунд може поповнитися більш ніж на тисячі записів. От і все. Залишилося напевно сказати про те, що можливо для перенесення всіх даних своїх статей вам необхідно буде виконувати запити не тільки до таблиці wp_posts, але і до інших, наприклад, до wp_postmeta, якщо ви будете використовувати додаткові поля, і до wp_comments, якщо ви будете переносити коментарі. А деякі плагіни можуть створити і свої власні таблиці. Тому то я і рекомендую вам спочатку додати одну або дві тестові записи і перевірити, які дані були вписані в які таблиці, виходячи з чого і побудувати шаблонні запити до бази даних.

Резюме по перенесенню сайту з хостингу і CMS від Ucoz на інший хостинг з CMS WordPress

Ось такий він, тернистий шлях по перенесенню сайту з Юкоз на Вордпресс. Скажу чесно, у мене, у людини без досвіду будь-якого перенесення сайту не те що з CMS на CMS, але і з хостингу на хостинг без зміни системи управління сайтом, з початковими знаннями HTML, CSS і PHP на рівні внесення змін до готовий шаблон і створенням нескладних конструкцій, з досить непоганим рівнем володіння C # (створення програми для перенесення всіх даних з сайту на сайт зайняло у мене найменше часу) зайняло близько 6-7 днів копіткої роботи. При цьому три дня з цього можна сміливо відняти за мою банальну дурість при спробі перенести старий слайдер і подальшим перебором близько 10-15 люб'язно запропонованих мені Яндексом слайдеров, які або відмовлялися працювати, або не підходили з інших причин, а так само за спроби змусити працювати на сайті хоча б один плагін зірочки рейтингу статті, які відважні не хотіли працювати так як я цього хочу, або відкидали копита відразу ж після того, як я внесу в їх код необхідні мені зміни. І якщо не врахувати ці образливі до сліз моменти, то близько двох днів я перетягував дизайн, один день пішов на програмування і видобуток всіх даних з сайту (через те, що між кожними запитами я зазвичай ставлю 5 секунд таймаута, то програма про парсингу півтори тисячі сторінок працювала від двох то трьох годин) і ще один день можна списати на час, необхідний для повного оновлення DNS записів вашого сайту, на протязі якого можна навести необхідний порядок на новому сайті.

Ось і все що хотілося б розповісти Вам про процес перенесення сайту на WordPress з Ucoz`а. Якщо комусь потрібна допомога в цьому, пишіть на email-адресу. Допомогти не обіцяю, але якщо сайт не складніше того, який переносив я, можу й взятися. Всім удачі!

Перенесення сайту з Ucoz на WordPress

Перенесення сайту з Ucoz на WordPress

Ну що ж, ось і сталося те, про що я довго мріяв і думав: я переніс свій сайт з Ucoz на інший хостинг. Саме про це дія я хотів би написати в даній статті.

Почнемо напевно з того, що подумаємо про те, чи потрібен взагалі такий перехід. У моєму випадку, а пацієнтом є сайт з онлайн кіно amove.ru, перехід був дуже навіть бажаний. По-перше, чисто грошове питання: 10 доларів за тарифний план з усіма можливостями, які були потрібні для сайту, плюс ще два долара зверху за можливість використання php-скриптів. І за все це ви отримуєте по суті звичайний shared-хостинг, на одному ip-адресу і на одному сервері якому розташовані може навіть кілька десятків сайтів. А так як кожен школяр і недоучка через відсутність досвіду і дружніх порад з різних форумів біжить запускати свій сайт на Ucoz, який в цьому плані дуже простий у використанні, то довіра у пошукових систем до вас з-за великої кількості диких сусідів не буде занадто вже й великим. А що можна отримати за ті ж 500-600 рублів? Будь ласка - отримай VPS з 1 ГБ оперативної пам'яті, з 1-2 ядерним процесором, 1 ГБ на SWAP, 20-30 ГБ простору на жорсткому диску, який може бути навіть SSD, плюс 100 Мбітних пропускної канал. Ну тут звичайно як пощастить, у кожного хостера різні параметри дещо відрізняються, але в принципі за ті ж гроші можна отримати куди більш потужний сервер, причому що можливо більш важливо, виділений сервер і виділений ip-адреса.

Крім усього цього у вас буде повний доступ до Вашого сайту, що відразу після переходу з Ucoz на інший хостинг буде здаватися чимось диким, адже тут ви зможете під себе налаштувати абсолютно все, починаючи з операційної системи і веб-сервером і закінчуючи звичайними ковиряжкамі в конфігураційних файлах. Ще не варто забувати, що Ucoz залишає за собою повної право назавжди видалити ваш сайт, що у випадку з онлайн-кінотеатр було кілька загрозливим і що примушувала робити бекапи в міру можливості, які так само обмежені політикою Ucoz. Загалом хвалити VPS або VDS і опускати нижче плінтуса Ucoz можна досить довго, але ви, напевно, вже прийшли до цього висновку, раз загляну на дану сторінку. І тому, почнемо.

Як перенести сайт з Ucoz на WordPress

Ідеї ​​перенести сайт з Ucoz на інший хостинг завжди асоціювалися з бажанням пересісти на DLE, але так як я вирішив перенести сайт своїми руками, а не руками якогось мутного прогерія з чергового форуму, то я зупинився на WordPress, з яким я вже мав справу . WordPress, DLE, Joomla або якась інша CMS - неважливо, так як зараз ви зможете зрозуміти принцип перенесення сайту на іншу CMS, що, як мені здається, більш ніж достатньо. А потім гугл-навчання вам на допомогу.

Отже, процес перенесення сайту з Ucoz на іншу CMS можна розділити на два великі етапи:

  • Перенесення дизайну сайту.
  • Перенесення записів (перенесення бази даних сайту).

Якщо для першого пункту нам досить доступу до файлового менеджера на Ucoz, то для другого необхідний повний бекап вашого сайту, який можна виконати в адмінці і який після можна буде скачати собі на комп'ютер. Слід врахувати той момент, що Ucoz дозволяє робити повні резервні копії тільки раз в сім днів і то з 00:00 до 9:00, щоб не перевантажувати і того хиленькие сервера. Тому Вам необхідно заздалегідь спланувати, щоб в необхідний момент ця функція була активна, так як я раджу насамперед повністю перенести дизайн сайту і тільки після цього зайнятися його заповненням. А особисто у мене перенесення дизайну сайту з ucoz на wordpress зайняв близько 5 днів (враховуйте те, що це мій перший досвід) і тривав наступні 5 днів з внесенням невеликих змін. Скажу чесно, перенесення дизайну - справа досить легке, якщо ваш сайт не навантажений різного роду слайдерами, додатковими інтерактивними модулями та іншої радістю життя. Ось тоді то і доведеться непогано попаритися з додатковими плагінами для WordPress, які доведеться намертво впаяти в систему. Я десь півтора дня витратив на пошук, установку і тестування альтернативного слайдера і в підсумку залишив той, який був. (Слайдер був і залишається на jquery і заробив я собі півтора дня активного знайомства з різними творами різних програмістів тільки тому, що не підключив один необхідний JavaScript файлик, через що я зробив поспішний висновок, що раніше використовуваний слайдер не запрацює на WordPress`е ). Але, перейдемо до справи ....

Перенесення дизайну сайту з Ucoz на WordPress

Якщо Ви збираєтеся самі перенести дизайн, то вам необхідно зрозуміти, як будується ваша html сторінка на ucoz. Швидше за все спочатку йде header (Глобальний блок Верхня частина сайту), після чого йде якась сторінка з обраного Вами модуля (будь то головна сторінка сайту, сторінка категорій або сторінка з основним записом сайту). Ну і завершує все це дія футер (Глобальний Блок Нижня частина сайту). До всього цього в різних місцях можуть підключатися додаткові блоки, будь то сайдбар або щось інше, а ще виклики інформерів. Це необхідно зрозуміти, щоб ви зрозуміли, в якому порядку будується сторінка.

І ось вам та ж схема на WordPress:

І ось вам та ж схема на WordPress:

Грубо кажучи вам тільки необхідно виставити відповідності і перенести код з одного блоку ucoz, в відповідний файл на wordpress. Але не варто думати що це все так просто. Звичайним перенесенням справа не закінчиться, адже необхідно ще перенести всі файли, до яких система буде звертатися на новому хостингу, і, найголовніше, переписати системні коди виклику певних даних. Так, якщо на ucoz ми використовуємо $ ENTRY_TITLE $, то WordPress тайтл записи отримує по команді

[Code] <? Php the_title (); ?> [/ Code]

Але в цілому простий копіпаст з відповідних блоків у відповідний файл дасть бажаний результат. При цьому вам необхідно буде видалити весь код з цих файлів, залишивши тільки ті, які викликають інші, наприклад:

[Code] <? Php get_header (); ?>
<? Php get_footer ();?> [/ Code]

Діючи таким чином можна досягти перших успіхів: в разі якщо ви перенесли всі файли на новий хостинг, то сторінка може непогано відбитися на екрані. І в міру відтворення сторінки (тому бажано починати з header`а), ви увійдете до смаку і зможете переробити всі інші файли. Якщо ж у Вас все одно є деякі проблеми, то почитайте статті на просторах Інтернету присвячені тому, як створити свою власну тему або хоча б свій власний шаблон сторінки.

Так само хотів би порекомендувати для перенесення дизайну використовувати Denwer, за допомогою якого Ви зможете встановити WordPress на локальний комп'ютер. Це буде хорошим способом вийти з положення, якщо Ви до сих пір не впевнені в своїх силах і не хочете витрачатися на хостинг, тільки щоб зрозуміти, що Ви не зможете перенести сайт з Юкоз на Водпресс.

Перенесення Бази даних з Ucoz на WordPress

Коли у Вас нарешті буде готовий дизайн вашого сайту на CMS WordPress або на будь-який інший системі управління сайтом, який ви виберете, настане час перенесення Бази даних сайту з Юкоз. Ось тут-то і настає найбільша проблема всієї цієї затії. Перенесення бази даних сильно ускладнюється тим, що в Ucoz немає бази даних! Ні, вона звичайно ж є, якщо можна це так назвати. Але всі ваші записи і все значення ваших додаткових полях зберігаються не в «нормальної» sql-базі, а в звичайному .txt-файлі. Ну принаймні саме в такому вигляді ви отримаєте свої записи після того, як зробить повний бекап сайту, викачаєте його собі на комп'ютер і разархівіруете. Всі файли так званої бази даних знаходяться в одному з папок в корені витягнутого архіву. Файлів кілька: якийсь відповідає за користувачів системи, щось за коментарі, щось за записи, щось за сторінки, за категорії, за вміст інших модулів. Упевнений, Ви легко знайдете той, який зберігає найголовніше - ваші записи. Відкривши цей файл ви знайдете жах: всі ваші записи упереміш з даними додаткових полів знаходяться в одному файлі. Все упорядкування закінчується тим, що кожен окремий самостійний елемент (текст записи, дата, якісь поля, ім'я автора і так далі) відділений від іншого вертикальною лінією: |

От і все. І не потрібно мріяти що ви просто перенесете базу даних на новий сервер (природно і цей процес супроводжується необхідними правками і без програмування не проходить). Але тут справа куди складніше. У мене кожен запис містила в собі стільки різних даних, що до наступного запису необхідно було пройти через 30-40-50 вертикальних паличок (не рахував, очі ахуевают). Ось тобі і завдання для програміста: спочатку самому не заплутатися в цьому шифрі і написати шалену програму по висмикування певних даних між певними лініями. Та йдіть ви нахуй !. Покричавши трохи і поштовхавшись між цими «палицями» і подумавши про те, як би так по легкому впоратися з усім цим або з головою піти в прописування регулярних виразів (які до речі відпали через те, що не всі статті з сайту мали певні поля і , як мені здалося, саме здалося, тому що спробуйте самі не загубитися серед всього цього неподобства, кількість осередків, складених з вертикальних палиць для різних записів було по-різному). Закривши подалі цей пекельний файл я вирішив Спарс всі дані з кожної статті прямо з сайту, благо програма вміє тягнути HTML код.

Давайте зараз трохи відійдемо вбік і поговоримо про те, як все ж передати дані сайту на Ucoz в базу даних WordPress. Так як навчального мануала про те як перенести сайт, сидячий на Ucoz, на інший хостинг я не знайшов, я йшов наосліп. Тільки на одному сайті знайшов наведений код на PHP, який робить все це справа (за запевненням автора), але в який я не сильно вникав через посередніх знань PHP, які непогано зміцнилися після здійсненого перенесення. Другий спосіб я бачив використання SQL запитів, які знову таки будуть парсити дані з цього жахливого файлу від Юкоз, що не припускала веселого розвитку подій. Залишився спосіб, який я вже використав в деяких своїх інших програмах: використання декстопной програми (для тих хто не знає, це будь-яка програма робочого столу, який має свій інтерфейс). А це дає нам широкий можливості для вибору мови програмування, за допомогою якого ми все це зробимо (якщо, звичайно ж, ви вмієте програмувати. З усіх мов програмування, з якими я знайомий і з допомогою яких я вже примножував двійку на іншу двійку, я вибрав свій улюблений і самий добре вивчений C #. А ось і план робіт з перенесення статей з Ucoz в базу даних SQL:

  1. По черзі переглянути кожну сторінку сайту.
  2. З кожної сторінки витягувати і запам'ятовувати дані, які необхідно перенести.
  3. На виході надати готовий SQL-запит для вставки статті в базу даних SQL.
  4. Використовуючи таку красу як PHPMyAdmin виконати до бази даних нового сайту SQL-запит вставки всього того, що Вам дорого.

Розглянемо кожен момент по порядку:

Парс кожну сторінку сайту

Юкоз надає можливість використовувати відразу декількох модулів, кожен з яких буде містити певний тип записів. Ідеальним випадком буде якщо ви використовували тільки один модуль і все статті у вас однотипні. В такому випадку парсити дані ми будемо тільки один раз, для чого нам необхідно отримати адреси всіх сторінок вашого сайту. Відмінно для цих цілей підійде файл sitemap.xml (якщо його у вас немає, то краще займіться вивченням основ SEO, що в просування сайту допоможе більше, ніж перенесення сайту на інший хостинг). Якщо у Вас тільки один модуль, то з усього sitemap`а вам необхідно буде відфільтрувати тільки додаткові сторінки, можливо сторінки категорій і іншу маячню. Все це необхідно вмістити в перший модуль програми (або окремої програми), яка прочитає файл sitemap.xml, Повисмикували з нього і надасть на виведенні, бажано в текстовий файл, з якого в подальшому буде зручно читати url сторінок, url адреси всіх сторінок.

Парс вміст сторінки

Тепер нам необхідно через підрядник зчитувати отриманий файл і завантажувати html код сторінки. Далі необхідно висмикувати весь корисний контент і, природно, запам'ятовувати його. Можливо не весь контент відображається на сторінці і деякі використовуються для внутрішніх цілей. Тоді на допомогу вам прийде мета-теги виду:

[Code] <meta name = "що прийде на розум" content = "вміст вашого поля" /> [/ code]

Ну якщо взагалі по жерсті, то ви можете вивести всі необхідні будь-яким зручним способом, нехай навіть на весь екран, закривши основний вміст. Справа ваше, а запропонований мій варіант не несе негативу ні для користувачів, ні для пошукових систем. Всі. Звиваємося, матюкаємося, але витягуємо з html коду все те, що нам потрібно, так як тут вони більш зручні для висмикування, ніж між вертикальними палицями.

Дуже важливий момент для успішного проходження двох перших пунктів. Настійно рекомендую прочитати статтю Парсер, який перевіряє вилучено чи відео Вконтакте , Яка описує створення аналогічної програми і яка описує тонкі моменти цього процесу, найголовнішою з яких є не найчастіше з запитами сторінок на вельмишановний Юкоз, який в три рахунки може записати Ваш IP-адреса в числа потенційних хакерів або їх жертв, які беруть участь в DDOS-атаці цього великого хостингу. Нагородою за це буде неможливість заходу на свій улюблений сайт з даного IP-адреси чи до півночі, то або протягом ще 24 днів, то чи ще якась схема. Суть одна, воно Вам треба? Тому, використовуйте Thread.Sleep, бо програма теж повинна спати.

Будуємо SQL-запит вставки (INSERT TO)

До переходу на цей ступінь, Вам необхідно повністю допив Ваш дизайн і додати одну запис на Ваш новий сайт. Цей запис має бути в точності такий, який ви хочете бачити і всі ваші інші записи. Виконавши це, необхідно залізти в PhpMyAdmin, відкривши вашу базу даних, достукатися до бази wp_posts і подивитися як виглядає ваша запис в базі даних. Далі у вкладці SQL даної таблиці ви можете натиснути кнопку INSERT, яка автоматично заповнить шаблон команди, за допомогою якої можна додати статтю на сайт. Все те ж саме що ви зробили через інтерфейс, можна зробити через SQL запит. І саме цей SQL запит нас цікавить. Для людей володіє логікою відразу стане зрозуміло, в команді спочатку перераховують поля, які необхідно заповнити, а після йдуть значення цих полів. Якщо першу половину шаблону вам чіпати забороняється особисто від мене, то другу половину вам необхідно заповнити. Вгадайте як? Ні, ні руками! Це повинна вміти робити ваша програма, яка на другому етапі повисмикувала все значущі для вас дані з сайту, запам'ятала їх і тепер вставила в рядок, яку ви попередньо створили скопіпастів люб'язно наданий PhpMyAdmin шаблон. Звичайно ж, програма повинна вставляти спарсенние дані у відповідні місця. Щоб не заплутатися вам і знадобитися раніше руками додана стаття, де за допомогою звичайного зіставлення ви легко зможете зрозуміти, що дане поле містить якусь певну інформацію. Наприклад поле title в таблиці SQL буде містити назву статті. (Можливо я помиляюся і назва поля звучить трохи по-іншому. На жаль я не можу надати на суд суспільства шаблон, про який йде мова, так як по PhpMyAdmin кілька образився на мене і не хоче відкриватися. В майбутньому, за рішенням даного непорозуміння, я додам шаблон INSERT в пост.)

Ось. І якщо коротко, то на третьому етапі програма видасть в файл (на екран, та куди завгодно, лише б було вам зручно) готовий запит INSERT, скопіювавши який і вставивши в поле для введення SQL команд в PhpMyAdmin, ваш сайт поповнитися ще одним матеріалом. Категорично рекомендую спочатку налагодити цей момент, щоб SQL адекватно сприймав ваші команди і щоб в них не було помилок. Парсити тисячі сторінка сайту, а потім дізнатися, що є помилка в коді - краще застрелитися, тому що ви дебіл нахуй так жити я вас попередив.

Update: Загалом ось шаблон для додавання запису використовуючи SQL-запит:

[Code] INSERT INTO `wp_posts` (` ID`, `post_author`,` post_date`, `post_date_gmt`,` post_content`, `post_title`,` post_excerpt`, `post_status`,` comment_status`, `ping_status`,` post_password`, `post_name`,` to_ping`, `pinged`,` post_modified`, `post_modified_gmt`,` post_content_filtered`, `post_parent`,` guid`, `menu_order`,` post_type`, `post_mime_type`,` comment_count` ) VALUES ([value-1], [value-2], [value-3], [value-4], [value-5], [value-6], [value-7], [value-8] , [value-9], [value-10], [value-11], [value-12], [value-13], [value-14], [value-15], [value-16], [ value-17], [value-18], [value-19], [value-20], [value-21], [value-22], [value-23]) [/ code]

Як бачите назву кожного поля досить говорить, що допоможе вам легко знайти застосування кожному полю. Деякі непотрібні поля можете залишити порожніми, а деякі можна заповнити будь-якими значеннями. Наприклад поля пов'язані з датами можна легко заповнити виконавши одну команду в програмі, яка виведе поточну дату. Але головне не забувайте перевіряти програму на працездатність, перш ніж запускати її на повну силу.

Перенесення сайту з Ucoz на WordPress

Перенесення сайту з Ucoz на WordPress

Ну що ж, ось і сталося те, про що я довго мріяв і думав: я переніс свій сайт з Ucoz на інший хостинг. Саме про це дія я хотів би написати в даній статті.

Почнемо напевно з того, що подумаємо про те, чи потрібен взагалі такий перехід. У моєму випадку, а пацієнтом є сайт з онлайн кіно amove.ru, перехід був дуже навіть бажаний. По-перше, чисто грошове питання: 10 доларів за тарифний план з усіма можливостями, які були потрібні для сайту, плюс ще два долара зверху за можливість використання php-скриптів. І за все це ви отримуєте по суті звичайний shared-хостинг, на одному ip-адресу і на одному сервері якому розташовані може навіть кілька десятків сайтів. А так як кожен школяр і недоучка через відсутність досвіду і дружніх порад з різних форумів біжить запускати свій сайт на Ucoz, який в цьому плані дуже простий у використанні, то довіра у пошукових систем до вас з-за великої кількості диких сусідів не буде занадто вже й великим. А що можна отримати за ті ж 500-600 рублів? Будь ласка - отримай VPS з 1 ГБ оперативної пам'яті, з 1-2 ядерним процесором, 1 ГБ на SWAP, 20-30 ГБ простору на жорсткому диску, який може бути навіть SSD, плюс 100 Мбітних пропускної канал. Ну тут звичайно як пощастить, у кожного хостера різні параметри дещо відрізняються, але в принципі за ті ж гроші можна отримати куди більш потужний сервер, причому що можливо більш важливо, виділений сервер і виділений ip-адреса.

Крім усього цього у вас буде повний доступ до Вашого сайту, що відразу після переходу з Ucoz на інший хостинг буде здаватися чимось диким, адже тут ви зможете під себе налаштувати абсолютно все, починаючи з операційної системи і веб-сервером і закінчуючи звичайними ковиряжкамі в конфігураційних файлах. Ще не варто забувати, що Ucoz залишає за собою повної право назавжди видалити ваш сайт, що у випадку з онлайн-кінотеатр було кілька загрозливим і що примушувала робити бекапи в міру можливості, які так само обмежені політикою Ucoz. Загалом хвалити VPS або VDS і опускати нижче плінтуса Ucoz можна досить довго, але ви, напевно, вже прийшли до цього висновку, раз загляну на дану сторінку. І тому, почнемо.

Як перенести сайт з Ucoz на WordPress

Ідеї ​​перенести сайт з Ucoz на інший хостинг завжди асоціювалися з бажанням пересісти на DLE, але так як я вирішив перенести сайт своїми руками, а не руками якогось мутного прогерія з чергового форуму, то я зупинився на WordPress, з яким я вже мав справу . WordPress, DLE, Joomla або якась інша CMS - неважливо, так як зараз ви зможете зрозуміти принцип перенесення сайту на іншу CMS, що, як мені здається, більш ніж достатньо. А потім гугл-навчання вам на допомогу.

Отже, процес перенесення сайту з Ucoz на іншу CMS можна розділити на два великі етапи:

  • Перенесення дизайну сайту.
  • Перенесення записів (перенесення бази даних сайту).

Якщо для першого пункту нам досить доступу до файлового менеджера на Ucoz, то для другого необхідний повний бекап вашого сайту, який можна виконати в адмінці і який після можна буде скачати собі на комп'ютер. Слід врахувати той момент, що Ucoz дозволяє робити повні резервні копії тільки раз в сім днів і то з 00:00 до 9:00, щоб не перевантажувати і того хиленькие сервера. Тому Вам необхідно заздалегідь спланувати, щоб в необхідний момент ця функція була активна, так як я раджу насамперед повністю перенести дизайн сайту і тільки після цього зайнятися його заповненням. А особисто у мене перенесення дизайну сайту з ucoz на wordpress зайняв близько 5 днів (враховуйте те, що це мій перший досвід) і тривав наступні 5 днів з внесенням невеликих змін. Скажу чесно, перенесення дизайну - справа досить легке, якщо ваш сайт не навантажений різного роду слайдерами, додатковими інтерактивними модулями та іншої радістю життя. Ось тоді то і доведеться непогано попаритися з додатковими плагінами для WordPress, які доведеться намертво впаяти в систему. Я десь півтора дня витратив на пошук, установку і тестування альтернативного слайдера і в підсумку залишив той, який був. (Слайдер був і залишається на jquery і заробив я собі півтора дня активного знайомства з різними творами різних програмістів тільки тому, що не підключив один необхідний JavaScript файлик, через що я зробив поспішний висновок, що раніше використовуваний слайдер не запрацює на WordPress`е ). Але, перейдемо до справи ....

Перенесення дизайну сайту з Ucoz на WordPress

Якщо Ви збираєтеся самі перенести дизайн, то вам необхідно зрозуміти, як будується ваша html сторінка на ucoz. Швидше за все спочатку йде header (Глобальний блок Верхня частина сайту), після чого йде якась сторінка з обраного Вами модуля (будь то головна сторінка сайту, сторінка категорій або сторінка з основним записом сайту). Ну і завершує все це дія футер (Глобальний Блок Нижня частина сайту). До всього цього в різних місцях можуть підключатися додаткові блоки, будь то сайдбар або щось інше, а ще виклики інформерів. Це необхідно зрозуміти, щоб ви зрозуміли, в якому порядку будується сторінка.

І ось вам та ж схема на WordPress:

І ось вам та ж схема на WordPress:

Грубо кажучи вам тільки необхідно виставити відповідності і перенести код з одного блоку ucoz, в відповідний файл на wordpress. Але не варто думати що це все так просто. Звичайним перенесенням справа не закінчиться, адже необхідно ще перенести всі файли, до яких система буде звертатися на новому хостингу, і, найголовніше, переписати системні коди виклику певних даних. Так, якщо на ucoz ми використовуємо $ ENTRY_TITLE $, то WordPress тайтл записи отримує по команді

[Code] <? Php the_title (); ?> [/ Code]

Але в цілому простий копіпаст з відповідних блоків у відповідний файл дасть бажаний результат. При цьому вам необхідно буде видалити весь код з цих файлів, залишивши тільки ті, які викликають інші, наприклад:

[Code] <? Php get_header (); ?>
<? Php get_footer ();?> [/ Code]

Діючи таким чином можна досягти перших успіхів: в разі якщо ви перенесли всі файли на новий хостинг, то сторінка може непогано відбитися на екрані. І в міру відтворення сторінки (тому бажано починати з header`а), ви увійдете до смаку і зможете переробити всі інші файли. Якщо ж у Вас все одно є деякі проблеми, то почитайте статті на просторах Інтернету присвячені тому, як створити свою власну тему або хоча б свій власний шаблон сторінки.

Так само хотів би порекомендувати для перенесення дизайну використовувати Denwer, за допомогою якого Ви зможете встановити WordPress на локальний комп'ютер. Це буде хорошим способом вийти з положення, якщо Ви до сих пір не впевнені в своїх силах і не хочете витрачатися на хостинг, тільки щоб зрозуміти, що Ви не зможете перенести сайт з Юкоз на Водпресс.

Перенесення Бази даних з Ucoz на WordPress

Коли у Вас нарешті буде готовий дизайн вашого сайту на CMS WordPress або на будь-який інший системі управління сайтом, який ви виберете, настане час перенесення Бази даних сайту з Юкоз. Ось тут-то і настає найбільша проблема всієї цієї затії. Перенесення бази даних сильно ускладнюється тим, що в Ucoz немає бази даних! Ні, вона звичайно ж є, якщо можна це так назвати. Але всі ваші записи і все значення ваших додаткових полях зберігаються не в «нормальної» sql-базі, а в звичайному .txt-файлі. Ну принаймні саме в такому вигляді ви отримаєте свої записи після того, як зробить повний бекап сайту, викачаєте його собі на комп'ютер і разархівіруете. Всі файли так званої бази даних знаходяться в одному з папок в корені витягнутого архіву. Файлів кілька: якийсь відповідає за користувачів системи, щось за коментарі, щось за записи, щось за сторінки, за категорії, за вміст інших модулів. Упевнений, Ви легко знайдете той, який зберігає найголовніше - ваші записи. Відкривши цей файл ви знайдете жах: всі ваші записи упереміш з даними додаткових полів знаходяться в одному файлі. Все упорядкування закінчується тим, що кожен окремий самостійний елемент (текст записи, дата, якісь поля, ім'я автора і так далі) відділений від іншого вертикальною лінією: |

От і все. І не потрібно мріяти що ви просто перенесете базу даних на новий сервер (природно і цей процес супроводжується необхідними правками і без програмування не проходить). Але тут справа куди складніше. У мене кожен запис містила в собі стільки різних даних, що до наступного запису необхідно було пройти через 30-40-50 вертикальних паличок (не рахував, очі ахуевают). Ось тобі і завдання для програміста: спочатку самому не заплутатися в цьому шифрі і написати шалену програму по висмикування певних даних між певними лініями. Та йдіть ви нахуй !. Покричавши трохи і поштовхавшись між цими «палицями» і подумавши про те, як би так по легкому впоратися з усім цим або з головою піти в прописування регулярних виразів (які до речі відпали через те, що не всі статті з сайту мали певні поля і , як мені здалося, саме здалося, тому що спробуйте самі не загубитися серед всього цього неподобства, кількість осередків, складених з вертикальних палиць для різних записів було по-різному). Закривши подалі цей пекельний файл я вирішив Спарс всі дані з кожної статті прямо з сайту, благо програма вміє тягнути HTML код.

Давайте зараз трохи відійдемо вбік і поговоримо про те, як все ж передати дані сайту на Ucoz в базу даних WordPress. Так як навчального мануала про те як перенести сайт, сидячий на Ucoz, на інший хостинг я не знайшов, я йшов наосліп. Тільки на одному сайті знайшов наведений код на PHP, який робить все це справа (за запевненням автора), але в який я не сильно вникав через посередніх знань PHP, які непогано зміцнилися після здійсненого перенесення. Другий спосіб я бачив використання SQL запитів, які знову таки будуть парсити дані з цього жахливого файлу від Юкоз, що не припускала веселого розвитку подій. Залишився спосіб, який я вже використав в деяких своїх інших програмах: використання декстопной програми (для тих хто не знає, це будь-яка програма робочого столу, який має свій інтерфейс). А це дає нам широкий можливості для вибору мови програмування, за допомогою якого ми все це зробимо (якщо, звичайно ж, ви вмієте програмувати. З усіх мов програмування, з якими я знайомий і з допомогою яких я вже примножував двійку на іншу двійку, я вибрав свій улюблений і самий добре вивчений C #. А ось і план робіт з перенесення статей з Ucoz в базу даних SQL:

  1. По черзі переглянути кожну сторінку сайту.
  2. З кожної сторінки витягувати і запам'ятовувати дані, які необхідно перенести.
  3. На виході надати готовий SQL-запит для вставки статті в базу даних SQL.
  4. Використовуючи таку красу як PHPMyAdmin виконати до бази даних нового сайту SQL-запит вставки всього того, що Вам дорого.

Розглянемо кожен момент по порядку:

Парс кожну сторінку сайту

Юкоз надає можливість використовувати відразу декількох модулів, кожен з яких буде містити певний тип записів. Ідеальним випадком буде якщо ви використовували тільки один модуль і все статті у вас однотипні. В такому випадку парсити дані ми будемо тільки один раз, для чого нам необхідно отримати адреси всіх сторінок вашого сайту. Відмінно для цих цілей підійде файл sitemap.xml (якщо його у вас немає, то краще займіться вивченням основ SEO, що в просування сайту допоможе більше, ніж перенесення сайту на інший хостинг). Якщо у Вас тільки один модуль, то з усього sitemap`а вам необхідно буде відфільтрувати тільки додаткові сторінки, можливо сторінки категорій і іншу маячню. Все це необхідно вмістити в перший модуль програми (або окремої програми), яка прочитає файл sitemap.xml, Повисмикували з нього і надасть на виведенні, бажано в текстовий файл, з якого в подальшому буде зручно читати url сторінок, url адреси всіх сторінок.

Парс вміст сторінки

Тепер нам необхідно через підрядник зчитувати отриманий файл і завантажувати html код сторінки. Далі необхідно висмикувати весь корисний контент і, природно, запам'ятовувати його. Можливо не весь контент відображається на сторінці і деякі використовуються для внутрішніх цілей. Тоді на допомогу вам прийде мета-теги виду:

[Code] <meta name = "що прийде на розум" content = "вміст вашого поля" /> [/ code]

Ну якщо взагалі по жерсті, то ви можете вивести всі необхідні будь-яким зручним способом, нехай навіть на весь екран, закривши основний вміст. Справа ваше, а запропонований мій варіант не несе негативу ні для користувачів, ні для пошукових систем. Всі. Звиваємося, матюкаємося, але витягуємо з html коду все те, що нам потрібно, так як тут вони більш зручні для висмикування, ніж між вертикальними палицями.

Дуже важливий момент для успішного проходження двох перших пунктів. Настійно рекомендую прочитати статтю Парсер, який перевіряє вилучено чи відео Вконтакте , Яка описує створення аналогічної програми і яка описує тонкі моменти цього процесу, найголовнішою з яких є не найчастіше з запитами сторінок на вельмишановний Юкоз, який в три рахунки може записати Ваш IP-адреса в числа потенційних хакерів або їх жертв, які беруть участь в DDOS-атаці цього великого хостингу. Нагородою за це буде неможливість заходу на свій улюблений сайт з даного IP-адреси чи до півночі, то або протягом ще 24 днів, то чи ще якась схема. Суть одна, воно Вам треба? Тому, використовуйте Thread.Sleep, бо програма теж повинна спати.

Будуємо SQL-запит вставки (INSERT TO)

До переходу на цей ступінь, Вам необхідно повністю допив Ваш дизайн і додати одну запис на Ваш новий сайт. Цей запис має бути в точності такий, який ви хочете бачити і всі ваші інші записи. Виконавши це, необхідно залізти в PhpMyAdmin, відкривши вашу базу даних, достукатися до бази wp_posts і подивитися як виглядає ваша запис в базі даних. Далі у вкладці SQL даної таблиці ви можете натиснути кнопку INSERT, яка автоматично заповнить шаблон команди, за допомогою якої можна додати статтю на сайт. Все те ж саме що ви зробили через інтерфейс, можна зробити через SQL запит. І саме цей SQL запит нас цікавить. Для людей володіє логікою відразу стане зрозуміло, в команді спочатку перераховують поля, які необхідно заповнити, а після йдуть значення цих полів. Якщо першу половину шаблону вам чіпати забороняється особисто від мене, то другу половину вам необхідно заповнити. Вгадайте як? Ні, ні руками! Це повинна вміти робити ваша програма, яка на другому етапі повисмикувала все значущі для вас дані з сайту, запам'ятала їх і тепер вставила в рядок, яку ви попередньо створили скопіпастів люб'язно наданий PhpMyAdmin шаблон. Звичайно ж, програма повинна вставляти спарсенние дані у відповідні місця. Щоб не заплутатися вам і знадобитися раніше руками додана стаття, де за допомогою звичайного зіставлення ви легко зможете зрозуміти, що дане поле містить якусь певну інформацію. Наприклад поле title в таблиці SQL буде містити назву статті. (Можливо я помиляюся і назва поля звучить трохи по-іншому. На жаль я не можу надати на суд суспільства шаблон, про який йде мова, так як по PhpMyAdmin кілька образився на мене і не хоче відкриватися. В майбутньому, за рішенням даного непорозуміння, я додам шаблон INSERT в пост.)

Ось. І якщо коротко, то на третьому етапі програма видасть в файл (на екран, та куди завгодно, лише б було вам зручно) готовий запит INSERT, скопіювавши який і вставивши в поле для введення SQL команд в PhpMyAdmin, ваш сайт поповнитися ще одним матеріалом. Категорично рекомендую спочатку налагодити цей момент, щоб SQL адекватно сприймав ваші команди і щоб в них не було помилок. Парсити тисячі сторінка сайту, а потім дізнатися, що є помилка в коді - краще застрелитися, тому що ви дебіл нахуй так жити я вас попередив.

Update: Загалом ось шаблон для додавання запису використовуючи SQL-запит:

[Code] INSERT INTO `wp_posts` (` ID`, `post_author`,` post_date`, `post_date_gmt`,` post_content`, `post_title`,` post_excerpt`, `post_status`,` comment_status`, `ping_status`,` post_password`, `post_name`,` to_ping`, `pinged`,` post_modified`, `post_modified_gmt`,` post_content_filtered`, `post_parent`,` guid`, `menu_order`,` post_type`, `post_mime_type`,` comment_count` ) VALUES ([value-1], [value-2], [value-3], [value-4], [value-5], [value-6], [value-7], [value-8] , [value-9], [value-10], [value-11], [value-12], [value-13], [value-14], [value-15], [value-16], [ value-17], [value-18], [value-19], [value-20], [value-21], [value-22], [value-23]) [/ code]

Як бачите назву кожного поля досить говорить, що допоможе вам легко знайти застосування кожному полю. Деякі непотрібні поля можете залишити порожніми, а деякі можна заповнити будь-якими значеннями. Наприклад поля пов'язані з датами можна легко заповнити виконавши одну команду в програмі, яка виведе поточну дату. Але головне не забувайте перевіряти програму на працездатність, перш ніж запускати її на повну силу.

Перенесення сайту з Ucoz на WordPress

Перенесення сайту з Ucoz на WordPress

Ну що ж, ось і сталося те, про що я довго мріяв і думав: я переніс свій сайт з Ucoz на інший хостинг. Саме про це дія я хотів би написати в даній статті.

Почнемо напевно з того, що подумаємо про те, чи потрібен взагалі такий перехід. У моєму випадку, а пацієнтом є сайт з онлайн кіно amove.ru, перехід був дуже навіть бажаний. По-перше, чисто грошове питання: 10 доларів за тарифний план з усіма можливостями, які були потрібні для сайту, плюс ще два долара зверху за можливість використання php-скриптів. І за все це ви отримуєте по суті звичайний shared-хостинг, на одному ip-адресу і на одному сервері якому розташовані може навіть кілька десятків сайтів. А так як кожен школяр і недоучка через відсутність досвіду і дружніх порад з різних форумів біжить запускати свій сайт на Ucoz, який в цьому плані дуже простий у використанні, то довіра у пошукових систем до вас з-за великої кількості диких сусідів не буде занадто вже й великим. А що можна отримати за ті ж 500-600 рублів? Будь ласка - отримай VPS з 1 ГБ оперативної пам'яті, з 1-2 ядерним процесором, 1 ГБ на SWAP, 20-30 ГБ простору на жорсткому диску, який може бути навіть SSD, плюс 100 Мбітних пропускної канал. Ну тут звичайно як пощастить, у кожного хостера різні параметри дещо відрізняються, але в принципі за ті ж гроші можна отримати куди більш потужний сервер, причому що можливо більш важливо, виділений сервер і виділений ip-адреса.

Крім усього цього у вас буде повний доступ до Вашого сайту, що відразу після переходу з Ucoz на інший хостинг буде здаватися чимось диким, адже тут ви зможете під себе налаштувати абсолютно все, починаючи з операційної системи і веб-сервером і закінчуючи звичайними ковиряжкамі в конфігураційних файлах. Ще не варто забувати, що Ucoz залишає за собою повної право назавжди видалити ваш сайт, що у випадку з онлайн-кінотеатр було кілька загрозливим і що примушувала робити бекапи в міру можливості, які так само обмежені політикою Ucoz. Загалом хвалити VPS або VDS і опускати нижче плінтуса Ucoz можна досить довго, але ви, напевно, вже прийшли до цього висновку, раз загляну на дану сторінку. І тому, почнемо.

Як перенести сайт з Ucoz на WordPress

Ідеї ​​перенести сайт з Ucoz на інший хостинг завжди асоціювалися з бажанням пересісти на DLE, але так як я вирішив перенести сайт своїми руками, а не руками якогось мутного прогерія з чергового форуму, то я зупинився на WordPress, з яким я вже мав справу . WordPress, DLE, Joomla або якась інша CMS - неважливо, так як зараз ви зможете зрозуміти принцип перенесення сайту на іншу CMS, що, як мені здається, більш ніж достатньо. А потім гугл-навчання вам на допомогу.

Отже, процес перенесення сайту з Ucoz на іншу CMS можна розділити на два великі етапи:

  • Перенесення дизайну сайту.
  • Перенесення записів (перенесення бази даних сайту).

Якщо для першого пункту нам досить доступу до файлового менеджера на Ucoz, то для другого необхідний повний бекап вашого сайту, який можна виконати в адмінці і який після можна буде скачати собі на комп'ютер. Слід врахувати той момент, що Ucoz дозволяє робити повні резервні копії тільки раз в сім днів і то з 00:00 до 9:00, щоб не перевантажувати і того хиленькие сервера. Тому Вам необхідно заздалегідь спланувати, щоб в необхідний момент ця функція була активна, так як я раджу насамперед повністю перенести дизайн сайту і тільки після цього зайнятися його заповненням. А особисто у мене перенесення дизайну сайту з ucoz на wordpress зайняв близько 5 днів (враховуйте те, що це мій перший досвід) і тривав наступні 5 днів з внесенням невеликих змін. Скажу чесно, перенесення дизайну - справа досить легке, якщо ваш сайт не навантажений різного роду слайдерами, додатковими інтерактивними модулями та іншої радістю життя. Ось тоді то і доведеться непогано попаритися з додатковими плагінами для WordPress, які доведеться намертво впаяти в систему. Я десь півтора дня витратив на пошук, установку і тестування альтернативного слайдера і в підсумку залишив той, який був. (Слайдер був і залишається на jquery і заробив я собі півтора дня активного знайомства з різними творами різних програмістів тільки тому, що не підключив один необхідний JavaScript файлик, через що я зробив поспішний висновок, що раніше використовуваний слайдер не запрацює на WordPress`е ). Але, перейдемо до справи ....

Перенесення дизайну сайту з Ucoz на WordPress

Якщо Ви збираєтеся самі перенести дизайн, то вам необхідно зрозуміти, як будується ваша html сторінка на ucoz. Швидше за все спочатку йде header (Глобальний блок Верхня частина сайту), після чого йде якась сторінка з обраного Вами модуля (будь то головна сторінка сайту, сторінка категорій або сторінка з основним записом сайту). Ну і завершує все це дія футер (Глобальний Блок Нижня частина сайту). До всього цього в різних місцях можуть підключатися додаткові блоки, будь то сайдбар або щось інше, а ще виклики інформерів. Це необхідно зрозуміти, щоб ви зрозуміли, в якому порядку будується сторінка.

І ось вам та ж схема на WordPress:

І ось вам та ж схема на WordPress:

Грубо кажучи вам тільки необхідно виставити відповідності і перенести код з одного блоку ucoz, в відповідний файл на wordpress. Але не варто думати що це все так просто. Звичайним перенесенням справа не закінчиться, адже необхідно ще перенести всі файли, до яких система буде звертатися на новому хостингу, і, найголовніше, переписати системні коди виклику певних даних. Так, якщо на ucoz ми використовуємо $ ENTRY_TITLE $, то WordPress тайтл записи отримує по команді

[Code] <? Php the_title (); ?> [/ Code]

Але в цілому простий копіпаст з відповідних блоків у відповідний файл дасть бажаний результат. При цьому вам необхідно буде видалити весь код з цих файлів, залишивши тільки ті, які викликають інші, наприклад:

[Code] <? Php get_header (); ?>
<? Php get_footer ();?> [/ Code]

Діючи таким чином можна досягти перших успіхів: в разі якщо ви перенесли всі файли на новий хостинг, то сторінка може непогано відбитися на екрані. І в міру відтворення сторінки (тому бажано починати з header`а), ви увійдете до смаку і зможете переробити всі інші файли. Якщо ж у Вас все одно є деякі проблеми, то почитайте статті на просторах Інтернету присвячені тому, як створити свою власну тему або хоча б свій власний шаблон сторінки.

Так само хотів би порекомендувати для перенесення дизайну використовувати Denwer, за допомогою якого Ви зможете встановити WordPress на локальний комп'ютер. Це буде хорошим способом вийти з положення, якщо Ви до сих пір не впевнені в своїх силах і не хочете витрачатися на хостинг, тільки щоб зрозуміти, що Ви не зможете перенести сайт з Юкоз на Водпресс.

Перенесення Бази даних з Ucoz на WordPress

Коли у Вас нарешті буде готовий дизайн вашого сайту на CMS WordPress або на будь-який інший системі управління сайтом, який ви виберете, настане час перенесення Бази даних сайту з Юкоз. Ось тут-то і настає найбільша проблема всієї цієї затії. Перенесення бази даних сильно ускладнюється тим, що в Ucoz немає бази даних! Ні, вона звичайно ж є, якщо можна це так назвати. Але всі ваші записи і все значення ваших додаткових полях зберігаються не в «нормальної» sql-базі, а в звичайному .txt-файлі. Ну принаймні саме в такому вигляді ви отримаєте свої записи після того, як зробить повний бекап сайту, викачаєте його собі на комп'ютер і разархівіруете. Всі файли так званої бази даних знаходяться в одному з папок в корені витягнутого архіву. Файлів кілька: якийсь відповідає за користувачів системи, щось за коментарі, щось за записи, щось за сторінки, за категорії, за вміст інших модулів. Упевнений, Ви легко знайдете той, який зберігає найголовніше - ваші записи. Відкривши цей файл ви знайдете жах: всі ваші записи упереміш з даними додаткових полів знаходяться в одному файлі. Все упорядкування закінчується тим, що кожен окремий самостійний елемент (текст записи, дата, якісь поля, ім'я автора і так далі) відділений від іншого вертикальною лінією: |

От і все. І не потрібно мріяти що ви просто перенесете базу даних на новий сервер (природно і цей процес супроводжується необхідними правками і без програмування не проходить). Але тут справа куди складніше. У мене кожен запис містила в собі стільки різних даних, що до наступного запису необхідно було пройти через 30-40-50 вертикальних паличок (не рахував, очі ахуевают). Ось тобі і завдання для програміста: спочатку самому не заплутатися в цьому шифрі і написати шалену програму по висмикування певних даних між певними лініями. Та йдіть ви нахуй !. Покричавши трохи і поштовхавшись між цими «палицями» і подумавши про те, як би так по легкому впоратися з усім цим або з головою піти в прописування регулярних виразів (які до речі відпали через те, що не всі статті з сайту мали певні поля і , як мені здалося, саме здалося, тому що спробуйте самі не загубитися серед всього цього неподобства, кількість осередків, складених з вертикальних палиць для різних записів було по-різному). Закривши подалі цей пекельний файл я вирішив Спарс всі дані з кожної статті прямо з сайту, благо програма вміє тягнути HTML код.

Давайте зараз трохи відійдемо вбік і поговоримо про те, як все ж передати дані сайту на Ucoz в базу даних WordPress. Так як навчального мануала про те як перенести сайт, сидячий на Ucoz, на інший хостинг я не знайшов, я йшов наосліп. Тільки на одному сайті знайшов наведений код на PHP, який робить все це справа (за запевненням автора), але в який я не сильно вникав через посередніх знань PHP, які непогано зміцнилися після здійсненого перенесення. Другий спосіб я бачив використання SQL запитів, які знову таки будуть парсити дані з цього жахливого файлу від Юкоз, що не припускала веселого розвитку подій. Залишився спосіб, який я вже використав в деяких своїх інших програмах: використання декстопной програми (для тих хто не знає, це будь-яка програма робочого столу, який має свій інтерфейс). А це дає нам широкий можливості для вибору мови програмування, за допомогою якого ми все це зробимо (якщо, звичайно ж, ви вмієте програмувати. З усіх мов програмування, з якими я знайомий і з допомогою яких я вже примножував двійку на іншу двійку, я вибрав свій улюблений і самий добре вивчений C #. А ось і план робіт з перенесення статей з Ucoz в базу даних SQL:

  1. По черзі переглянути кожну сторінку сайту.
  2. З кожної сторінки витягувати і запам'ятовувати дані, які необхідно перенести.
  3. На виході надати готовий SQL-запит для вставки статті в базу даних SQL.
  4. Використовуючи таку красу як PHPMyAdmin виконати до бази даних нового сайту SQL-запит вставки всього того, що Вам дорого.

Розглянемо кожен момент по порядку:

Парс кожну сторінку сайту

Юкоз надає можливість використовувати відразу декількох модулів, кожен з яких буде містити певний тип записів. Ідеальним випадком буде якщо ви використовували тільки один модуль і все статті у вас однотипні. В такому випадку парсити дані ми будемо тільки один раз, для чого нам необхідно отримати адреси всіх сторінок вашого сайту. Відмінно для цих цілей підійде файл sitemap.xml (якщо його у вас немає, то краще займіться вивченням основ SEO, що в просування сайту допоможе більше, ніж перенесення сайту на інший хостинг). Якщо у Вас тільки один модуль, то з усього sitemap`а вам необхідно буде відфільтрувати тільки додаткові сторінки, можливо сторінки категорій і іншу маячню. Все це необхідно вмістити в перший модуль програми (або окремої програми), яка прочитає файл sitemap.xml, Повисмикували з нього і надасть на виведенні, бажано в текстовий файл, з якого в подальшому буде зручно читати url сторінок, url адреси всіх сторінок.

Парс вміст сторінки

Тепер нам необхідно через підрядник зчитувати отриманий файл і завантажувати html код сторінки. Далі необхідно висмикувати весь корисний контент і, природно, запам'ятовувати його. Можливо не весь контент відображається на сторінці і деякі використовуються для внутрішніх цілей. Тоді на допомогу вам прийде мета-теги виду:

[Code] <meta name = "що прийде на розум" content = "вміст вашого поля" /> [/ code]

Ну якщо взагалі по жерсті, то ви можете вивести всі необхідні будь-яким зручним способом, нехай навіть на весь екран, закривши основний вміст. Справа ваше, а запропонований мій варіант не несе негативу ні для користувачів, ні для пошукових систем. Всі. Звиваємося, матюкаємося, але витягуємо з html коду все те, що нам потрібно, так як тут вони більш зручні для висмикування, ніж між вертикальними палицями.

Дуже важливий момент для успішного проходження двох перших пунктів. Настійно рекомендую прочитати статтю Парсер, який перевіряє вилучено чи відео Вконтакте , Яка описує створення аналогічної програми і яка описує тонкі моменти цього процесу, найголовнішою з яких є не найчастіше з запитами сторінок на вельмишановний Юкоз, який в три рахунки може записати Ваш IP-адреса в числа потенційних хакерів або їх жертв, які беруть участь в DDOS-атаці цього великого хостингу. Нагородою за це буде неможливість заходу на свій улюблений сайт з даного IP-адреси чи до півночі, то або протягом ще 24 днів, то чи ще якась схема. Суть одна, воно Вам треба? Тому, використовуйте Thread.Sleep, бо програма теж повинна спати.

Будуємо SQL-запит вставки (INSERT TO)

До переходу на цей ступінь, Вам необхідно повністю допив Ваш дизайн і додати одну запис на Ваш новий сайт. Цей запис має бути в точності такий, який ви хочете бачити і всі ваші інші записи. Виконавши це, необхідно залізти в PhpMyAdmin, відкривши вашу базу даних, достукатися до бази wp_posts і подивитися як виглядає ваша запис в базі даних. Далі у вкладці SQL даної таблиці ви можете натиснути кнопку INSERT, яка автоматично заповнить шаблон команди, за допомогою якої можна додати статтю на сайт. Все те ж саме що ви зробили через інтерфейс, можна зробити через SQL запит. І саме цей SQL запит нас цікавить. Для людей володіє логікою відразу стане зрозуміло, в команді спочатку перераховують поля, які необхідно заповнити, а після йдуть значення цих полів. Якщо першу половину шаблону вам чіпати забороняється особисто від мене, то другу половину вам необхідно заповнити. Вгадайте як? Ні, ні руками! Це повинна вміти робити ваша програма, яка на другому етапі повисмикувала все значущі для вас дані з сайту, запам'ятала їх і тепер вставила в рядок, яку ви попередньо створили скопіпастів люб'язно наданий PhpMyAdmin шаблон. Звичайно ж, програма повинна вставляти спарсенние дані у відповідні місця. Щоб не заплутатися вам і знадобитися раніше руками додана стаття, де за допомогою звичайного зіставлення ви легко зможете зрозуміти, що дане поле містить якусь певну інформацію. Наприклад поле title в таблиці SQL буде містити назву статті. (Можливо я помиляюся і назва поля звучить трохи по-іншому. На жаль я не можу надати на суд суспільства шаблон, про який йде мова, так як по PhpMyAdmin кілька образився на мене і не хоче відкриватися. В майбутньому, за рішенням даного непорозуміння, я додам шаблон INSERT в пост.)

Ось. І якщо коротко, то на третьому етапі програма видасть в файл (на екран, та куди завгодно, лише б було вам зручно) готовий запит INSERT, скопіювавши який і вставивши в поле для введення SQL команд в PhpMyAdmin, ваш сайт поповнитися ще одним матеріалом. Категорично рекомендую спочатку налагодити цей момент, щоб SQL адекватно сприймав ваші команди і щоб в них не було помилок. Парсити тисячі сторінка сайту, а потім дізнатися, що є помилка в коді - краще застрелитися, тому що ви дебіл нахуй так жити я вас попередив.

Update: Загалом ось шаблон для додавання запису використовуючи SQL-запит:

[Code] INSERT INTO `wp_posts` (` ID`, `post_author`,` post_date`, `post_date_gmt`,` post_content`, `post_title`,` post_excerpt`, `post_status`,` comment_status`, `ping_status`,` post_password`, `post_name`,` to_ping`, `pinged`,` post_modified`, `post_modified_gmt`,` post_content_filtered`, `post_parent`,` guid`, `menu_order`,` post_type`, `post_mime_type`,` comment_count` ) VALUES ([value-1], [value-2], [value-3], [value-4], [value-5], [value-6], [value-7], [value-8] , [value-9], [value-10], [value-11], [value-12], [value-13], [value-14], [value-15], [value-16], [ value-17], [value-18], [value-19], [value-20], [value-21], [value-22], [value-23]) [/ code]

Як бачите назву кожного поля досить говорить, що допоможе вам легко знайти застосування кожному полю. Деякі непотрібні поля можете залишити порожніми, а деякі можна заповнити будь-якими значеннями. Наприклад поля пов'язані з датами можна легко заповнити виконавши одну команду в програмі, яка виведе поточну дату. Але головне не забувайте перевіряти програму на працездатність, перш ніж запускати її на повну силу.

Перенесення сайту з Ucoz на WordPress

Перенесення сайту з Ucoz на WordPress

Ну що ж, ось і сталося те, про що я довго мріяв і думав: я переніс свій сайт з Ucoz на інший хостинг. Саме про це дія я хотів би написати в даній статті.

Почнемо напевно з того, що подумаємо про те, чи потрібен взагалі такий перехід. У моєму випадку, а пацієнтом є сайт з онлайн кіно amove.ru, перехід був дуже навіть бажаний. По-перше, чисто грошове питання: 10 доларів за тарифний план з усіма можливостями, які були потрібні для сайту, плюс ще два долара зверху за можливість використання php-скриптів. І за все це ви отримуєте по суті звичайний shared-хостинг, на одному ip-адресу і на одному сервері якому розташовані може навіть кілька десятків сайтів. А так як кожен школяр і недоучка через відсутність досвіду і дружніх порад з різних форумів біжить запускати свій сайт на Ucoz, який в цьому плані дуже простий у використанні, то довіра у пошукових систем до вас з-за великої кількості диких сусідів не буде занадто вже й великим. А що можна отримати за ті ж 500-600 рублів? Будь ласка - отримай VPS з 1 ГБ оперативної пам'яті, з 1-2 ядерним процесором, 1 ГБ на SWAP, 20-30 ГБ простору на жорсткому диску, який може бути навіть SSD, плюс 100 Мбітних пропускної канал. Ну тут звичайно як пощастить, у кожного хостера різні параметри дещо відрізняються, але в принципі за ті ж гроші можна отримати куди більш потужний сервер, причому що можливо більш важливо, виділений сервер і виділений ip-адреса.

Крім усього цього у вас буде повний доступ до Вашого сайту, що відразу після переходу з Ucoz на інший хостинг буде здаватися чимось диким, адже тут ви зможете під себе налаштувати абсолютно все, починаючи з операційної системи і веб-сервером і закінчуючи звичайними ковиряжкамі в конфігураційних файлах. Ще не варто забувати, що Ucoz залишає за собою повної право назавжди видалити ваш сайт, що у випадку з онлайн-кінотеатр було кілька загрозливим і що примушувала робити бекапи в міру можливості, які так само обмежені політикою Ucoz. Загалом хвалити VPS або VDS і опускати нижче плінтуса Ucoz можна досить довго, але ви, напевно, вже прийшли до цього висновку, раз загляну на дану сторінку. І тому, почнемо.

Як перенести сайт з Ucoz на WordPress

Ідеї ​​перенести сайт з Ucoz на інший хостинг завжди асоціювалися з бажанням пересісти на DLE, але так як я вирішив перенести сайт своїми руками, а не руками якогось мутного прогерія з чергового форуму, то я зупинився на WordPress, з яким я вже мав справу . WordPress, DLE, Joomla або якась інша CMS - неважливо, так як зараз ви зможете зрозуміти принцип перенесення сайту на іншу CMS, що, як мені здається, більш ніж достатньо. А потім гугл-навчання вам на допомогу.

Отже, процес перенесення сайту з Ucoz на іншу CMS можна розділити на два великі етапи:

  • Перенесення дизайну сайту.
  • Перенесення записів (перенесення бази даних сайту).

Якщо для першого пункту нам досить доступу до файлового менеджера на Ucoz, то для другого необхідний повний бекап вашого сайту, який можна виконати в адмінці і який після можна буде скачати собі на комп'ютер. Слід врахувати той момент, що Ucoz дозволяє робити повні резервні копії тільки раз в сім днів і то з 00:00 до 9:00, щоб не перевантажувати і того хиленькие сервера. Тому Вам необхідно заздалегідь спланувати, щоб в необхідний момент ця функція була активна, так як я раджу насамперед повністю перенести дизайн сайту і тільки після цього зайнятися його заповненням. А особисто у мене перенесення дизайну сайту з ucoz на wordpress зайняв близько 5 днів (враховуйте те, що це мій перший досвід) і тривав наступні 5 днів з внесенням невеликих змін. Скажу чесно, перенесення дизайну - справа досить легке, якщо ваш сайт не навантажений різного роду слайдерами, додатковими інтерактивними модулями та іншої радістю життя. Ось тоді то і доведеться непогано попаритися з додатковими плагінами для WordPress, які доведеться намертво впаяти в систему. Я десь півтора дня витратив на пошук, установку і тестування альтернативного слайдера і в підсумку залишив той, який був. (Слайдер був і залишається на jquery і заробив я собі півтора дня активного знайомства з різними творами різних програмістів тільки тому, що не підключив один необхідний JavaScript файлик, через що я зробив поспішний висновок, що раніше використовуваний слайдер не запрацює на WordPress`е ). Але, перейдемо до справи ....

Перенесення дизайну сайту з Ucoz на WordPress

Якщо Ви збираєтеся самі перенести дизайн, то вам необхідно зрозуміти, як будується ваша html сторінка на ucoz. Швидше за все спочатку йде header (Глобальний блок Верхня частина сайту), після чого йде якась сторінка з обраного Вами модуля (будь то головна сторінка сайту, сторінка категорій або сторінка з основним записом сайту). Ну і завершує все це дія футер (Глобальний Блок Нижня частина сайту). До всього цього в різних місцях можуть підключатися додаткові блоки, будь то сайдбар або щось інше, а ще виклики інформерів. Це необхідно зрозуміти, щоб ви зрозуміли, в якому порядку будується сторінка.

І ось вам та ж схема на WordPress:

І ось вам та ж схема на WordPress:

Грубо кажучи вам тільки необхідно виставити відповідності і перенести код з одного блоку ucoz, в відповідний файл на wordpress. Але не варто думати що це все так просто. Звичайним перенесенням справа не закінчиться, адже необхідно ще перенести всі файли, до яких система буде звертатися на новому хостингу, і, найголовніше, переписати системні коди виклику певних даних. Так, якщо на ucoz ми використовуємо $ ENTRY_TITLE $, то WordPress тайтл записи отримує по команді

[Code] <? Php the_title (); ?> [/ Code]

Але в цілому простий копіпаст з відповідних блоків у відповідний файл дасть бажаний результат. При цьому вам необхідно буде видалити весь код з цих файлів, залишивши тільки ті, які викликають інші, наприклад:

[Code] <? Php get_header (); ?>
<? Php get_footer ();?> [/ Code]

Діючи таким чином можна досягти перших успіхів: в разі якщо ви перенесли всі файли на новий хостинг, то сторінка може непогано відбитися на екрані. І в міру відтворення сторінки (тому бажано починати з header`а), ви увійдете до смаку і зможете переробити всі інші файли. Якщо ж у Вас все одно є деякі проблеми, то почитайте статті на просторах Інтернету присвячені тому, як створити свою власну тему або хоча б свій власний шаблон сторінки.

Так само хотів би порекомендувати для перенесення дизайну використовувати Denwer, за допомогою якого Ви зможете встановити WordPress на локальний комп'ютер. Це буде хорошим способом вийти з положення, якщо Ви до сих пір не впевнені в своїх силах і не хочете витрачатися на хостинг, тільки щоб зрозуміти, що Ви не зможете перенести сайт з Юкоз на Водпресс.

Перенесення Бази даних з Ucoz на WordPress

Коли у Вас нарешті буде готовий дизайн вашого сайту на CMS WordPress або на будь-який інший системі управління сайтом, який ви виберете, настане час перенесення Бази даних сайту з Юкоз. Ось тут-то і настає найбільша проблема всієї цієї затії. Перенесення бази даних сильно ускладнюється тим, що в Ucoz немає бази даних! Ні, вона звичайно ж є, якщо можна це так назвати. Але всі ваші записи і все значення ваших додаткових полях зберігаються не в «нормальної» sql-базі, а в звичайному .txt-файлі. Ну принаймні саме в такому вигляді ви отримаєте свої записи після того, як зробить повний бекап сайту, викачаєте його собі на комп'ютер і разархівіруете. Всі файли так званої бази даних знаходяться в одному з папок в корені витягнутого архіву. Файлів кілька: якийсь відповідає за користувачів системи, щось за коментарі, щось за записи, щось за сторінки, за категорії, за вміст інших модулів. Упевнений, Ви легко знайдете той, який зберігає найголовніше - ваші записи. Відкривши цей файл ви знайдете жах: всі ваші записи упереміш з даними додаткових полів знаходяться в одному файлі. Все упорядкування закінчується тим, що кожен окремий самостійний елемент (текст записи, дата, якісь поля, ім'я автора і так далі) відділений від іншого вертикальною лінією: |

От і все. І не потрібно мріяти що ви просто перенесете базу даних на новий сервер (природно і цей процес супроводжується необхідними правками і без програмування не проходить). Але тут справа куди складніше. У мене кожен запис містила в собі стільки різних даних, що до наступного запису необхідно було пройти через 30-40-50 вертикальних паличок (не рахував, очі ахуевают). Ось тобі і завдання для програміста: спочатку самому не заплутатися в цьому шифрі і написати шалену програму по висмикування певних даних між певними лініями. Та йдіть ви нахуй !. Покричавши трохи і поштовхавшись між цими «палицями» і подумавши про те, як би так по легкому впоратися з усім цим або з головою піти в прописування регулярних виразів (які до речі відпали через те, що не всі статті з сайту мали певні поля і , як мені здалося, саме здалося, тому що спробуйте самі не загубитися серед всього цього неподобства, кількість осередків, складених з вертикальних палиць для різних записів було по-різному). Закривши подалі цей пекельний файл я вирішив Спарс всі дані з кожної статті прямо з сайту, благо програма вміє тягнути HTML код.

Давайте зараз трохи відійдемо вбік і поговоримо про те, як все ж передати дані сайту на Ucoz в базу даних WordPress. Так як навчального мануала про те як перенести сайт, сидячий на Ucoz, на інший хостинг я не знайшов, я йшов наосліп. Тільки на одному сайті знайшов наведений код на PHP, який робить все це справа (за запевненням автора), але в який я не сильно вникав через посередніх знань PHP, які непогано зміцнилися після здійсненого перенесення. Другий спосіб я бачив використання SQL запитів, які знову таки будуть парсити дані з цього жахливого файлу від Юкоз, що не припускала веселого розвитку подій. Залишився спосіб, який я вже використав в деяких своїх інших програмах: використання декстопной програми (для тих хто не знає, це будь-яка програма робочого столу, який має свій інтерфейс). А це дає нам широкий можливості для вибору мови програмування, за допомогою якого ми все це зробимо (якщо, звичайно ж, ви вмієте програмувати. З усіх мов програмування, з якими я знайомий і з допомогою яких я вже примножував двійку на іншу двійку, я вибрав свій улюблений і самий добре вивчений C #. А ось і план робіт з перенесення статей з Ucoz в базу даних SQL:

  1. По черзі переглянути кожну сторінку сайту.
  2. З кожної сторінки витягувати і запам'ятовувати дані, які необхідно перенести.
  3. На виході надати готовий SQL-запит для вставки статті в базу даних SQL.
  4. Використовуючи таку красу як PHPMyAdmin виконати до бази даних нового сайту SQL-запит вставки всього того, що Вам дорого.

Розглянемо кожен момент по порядку:

Парс кожну сторінку сайту

Юкоз надає можливість використовувати відразу декількох модулів, кожен з яких буде містити певний тип записів. Ідеальним випадком буде якщо ви використовували тільки один модуль і все статті у вас однотипні. В такому випадку парсити дані ми будемо тільки один раз, для чого нам необхідно отримати адреси всіх сторінок вашого сайту. Відмінно для цих цілей підійде файл sitemap.xml (якщо його у вас немає, то краще займіться вивченням основ SEO, що в просування сайту допоможе більше, ніж перенесення сайту на інший хостинг). Якщо у Вас тільки один модуль, то з усього sitemap`а вам необхідно буде відфільтрувати тільки додаткові сторінки, можливо сторінки категорій і іншу маячню. Все це необхідно вмістити в перший модуль програми (або окремої програми), яка прочитає файл sitemap.xml, Повисмикували з нього і надасть на виведенні, бажано в текстовий файл, з якого в подальшому буде зручно читати url сторінок, url адреси всіх сторінок.

Парс вміст сторінки

Тепер нам необхідно через підрядник зчитувати отриманий файл і завантажувати html код сторінки. Далі необхідно висмикувати весь корисний контент і, природно, запам'ятовувати його. Можливо не весь контент відображається на сторінці і деякі використовуються для внутрішніх цілей. Тоді на допомогу вам прийде мета-теги виду:

[Code] <meta name = "що прийде на розум" content = "вміст вашого поля" /> [/ code]

Ну якщо взагалі по жерсті, то ви можете вивести всі необхідні будь-яким зручним способом, нехай навіть на весь екран, закривши основний вміст. Справа ваше, а запропонований мій варіант не несе негативу ні для користувачів, ні для пошукових систем. Всі. Звиваємося, матюкаємося, але витягуємо з html коду все те, що нам потрібно, так як тут вони більш зручні для висмикування, ніж між вертикальними палицями.

Дуже важливий момент для успішного проходження двох перших пунктів. Настійно рекомендую прочитати статтю Парсер, який перевіряє вилучено чи відео Вконтакте , Яка описує створення аналогічної програми і яка описує тонкі моменти цього процесу, найголовнішою з яких є не найчастіше з запитами сторінок на вельмишановний Юкоз, який в три рахунки може записати Ваш IP-адреса в числа потенційних хакерів або їх жертв, які беруть участь в DDOS-атаці цього великого хостингу. Нагородою за це буде неможливість заходу на свій улюблений сайт з даного IP-адреси чи до півночі, то або протягом ще 24 днів, то чи ще якась схема. Суть одна, воно Вам треба? Тому, використовуйте Thread.Sleep, бо програма теж повинна спати.

Будуємо SQL-запит вставки (INSERT TO)

До переходу на цей ступінь, Вам необхідно повністю допив Ваш дизайн і додати одну запис на Ваш новий сайт. Цей запис має бути в точності такий, який ви хочете бачити і всі ваші інші записи. Виконавши це, необхідно залізти в PhpMyAdmin, відкривши вашу базу даних, достукатися до бази wp_posts і подивитися як виглядає ваша запис в базі даних. Далі у вкладці SQL даної таблиці ви можете натиснути кнопку INSERT, яка автоматично заповнить шаблон команди, за допомогою якої можна додати статтю на сайт. Все те ж саме що ви зробили через інтерфейс, можна зробити через SQL запит. І саме цей SQL запит нас цікавить. Для людей володіє логікою відразу стане зрозуміло, в команді спочатку перераховують поля, які необхідно заповнити, а після йдуть значення цих полів. Якщо першу половину шаблону вам чіпати забороняється особисто від мене, то другу половину вам необхідно заповнити. Вгадайте як? Ні, ні руками! Це повинна вміти робити ваша програма, яка на другому етапі повисмикувала все значущі для вас дані з сайту, запам'ятала їх і тепер вставила в рядок, яку ви попередньо створили скопіпастів люб'язно наданий PhpMyAdmin шаблон. Звичайно ж, програма повинна вставляти спарсенние дані у відповідні місця. Щоб не заплутатися вам і знадобитися раніше руками додана стаття, де за допомогою звичайного зіставлення ви легко зможете зрозуміти, що дане поле містить якусь певну інформацію. Наприклад поле title в таблиці SQL буде містити назву статті. (Можливо я помиляюся і назва поля звучить трохи по-іншому. На жаль я не можу надати на суд суспільства шаблон, про який йде мова, так як по PhpMyAdmin кілька образився на мене і не хоче відкриватися. В майбутньому, за рішенням даного непорозуміння, я додам шаблон INSERT в пост.)

Ось. І якщо коротко, то на третьому етапі програма видасть в файл (на екран, та куди завгодно, лише б було вам зручно) готовий запит INSERT, скопіювавши який і вставивши в поле для введення SQL команд в PhpMyAdmin, ваш сайт поповнитися ще одним матеріалом. Категорично рекомендую спочатку налагодити цей момент, щоб SQL адекватно сприймав ваші команди і щоб в них не було помилок. Парсити тисячі сторінка сайту, а потім дізнатися, що є помилка в коді - краще застрелитися, тому що ви дебіл нахуй так жити я вас попередив.

Update: Загалом ось шаблон для додавання запису використовуючи SQL-запит:

[Code] INSERT INTO `wp_posts` (` ID`, `post_author`,` post_date`, `post_date_gmt`,` post_content`, `post_title`,` post_excerpt`, `post_status`,` comment_status`, `ping_status`,` post_password`, `post_name`,` to_ping`, `pinged`,` post_modified`, `post_modified_gmt`,` post_content_filtered`, `post_parent`,` guid`, `menu_order`,` post_type`, `post_mime_type`,` comment_count` ) VALUES ([value-1], [value-2], [value-3], [value-4], [value-5], [value-6], [value-7], [value-8] , [value-9], [value-10], [value-11], [value-12], [value-13], [value-14], [value-15], [value-16], [ value-17], [value-18], [value-19], [value-20], [value-21], [value-22], [value-23]) [/ code]

Як бачите назву кожного поля досить говорить, що допоможе вам легко знайти застосування кожному полю. Деякі непотрібні поля можете залишити порожніми, а деякі можна заповнити будь-якими значеннями. Наприклад поля пов'язані з датами можна легко заповнити виконавши одну команду в програмі, яка виведе поточну дату. Але головне не забувайте перевіряти програму на працездатність, перш ніж запускати її на повну силу.

Заповнити базу Даних сайту с помощью інструменту PhpMyAdmin

Цей пункт є останнім и найбільш простим. На цьом етапі ми просто повінні вручну скопіюваті ті SQL-запиту, Які нам підготувала наша програма, и Вставити їх в Спеціальне поле PhpMyAdmin, Пожалуйста знаходиться у вкладці SQL, после чего необходимо Виконати цею запит. Результат правильного виконаного запиту ви зможете побачити на своєму сайті, який за якісь пару секунд може поповнитися більш ніж на тисячі записів. От і все. Залишилося напевно сказати про те, що можливо для перенесення всіх даних своїх статей вам необхідно буде виконувати запити не тільки до таблиці wp_posts, але і до інших, наприклад, до wp_postmeta, якщо ви будете використовувати додаткові поля, і до wp_comments, якщо ви будете переносити коментарі. А деякі плагіни можуть створити і свої власні таблиці. Тому то я і рекомендую вам спочатку додати одну або дві тестові записи і перевірити, які дані були вписані в які таблиці, виходячи з чого і побудувати шаблонні запити до бази даних.

Резюме по перенесенню сайту з хостингу і CMS від Ucoz на інший хостинг з CMS WordPress

Ось такий він, тернистий шлях по перенесенню сайту з Юкоз на Вордпресс. Скажу чесно, у мене, у людини без досвіду будь-якого перенесення сайту не те що з CMS на CMS, але і з хостингу на хостинг без зміни системи управління сайтом, з початковими знаннями HTML, CSS і PHP на рівні внесення змін до готовий шаблон і створенням нескладних конструкцій, з досить непоганим рівнем володіння C # (створення програми для перенесення всіх даних з сайту на сайт зайняло у мене найменше часу) зайняло близько 6-7 днів копіткої роботи. При цьому три дня з цього можна сміливо відняти за мою банальну дурість при спробі перенести старий слайдер і подальшим перебором близько 10-15 люб'язно запропонованих мені Яндексом слайдеров, які або відмовлялися працювати, або не підходили з інших причин, а так само за спроби змусити працювати на сайті хоча б один плагін зірочки рейтингу статті, які відважні не хотіли працювати так як я цього хочу, або відкидали копита відразу ж після того, як я внесу в їх код необхідні мені зміни. І якщо не врахувати ці образливі до сліз моменти, то близько двох днів я перетягував дизайн, один день пішов на програмування і видобуток всіх даних з сайту (через те, що між кожними запитами я зазвичай ставлю 5 секунд таймаута, то програма про парсингу півтори тисячі сторінок працювала від двох то трьох годин) і ще один день можна списати на час, необхідний для повного оновлення DNS записів вашого сайту, на протязі якого можна навести необхідний порядок на новому сайті.

Ось і все що хотілося б розповісти Вам про процес перенесення сайту на WordPress з Ucoz`а. Якщо комусь потрібна допомога в цьому, пишіть на email-адресу. Допомогти не обіцяю, але якщо сайт не складніше того, який переносив я, можу й взятися. Всім удачі!

А що можна отримати за ті ж 500-600 рублів?
Php the_title (); ?
Php get_header (); ?
Php get_footer ();?
Суть одна, воно Вам треба?
Вгадайте як?
А що можна отримати за ті ж 500-600 рублів?
Php the_title (); ?
Php get_header (); ?
Php get_footer ();?