Главная » 2014 » Август » 28 » Перенос блога с ucoz на wodpress
20:30
Перенос блога с ucoz на wodpress

Стоимость содержания сайта на ucoz растет (не хочется иметь на своем сайте левую рекламу), поэтому я решил сэкономить, переходом на другой хостинг и движок. Статья пока сырая т.к. спешу поделиться своим не сложным методом - у меня перенос статей с отладкой статей занял два вечера.

Основные критерии для решения задачи:

  1. Исходные коды движок сайта должен быть открытым и свободным(GPL) - так как бесплатными, но закрытыми системами я уже "сыт".
  2. Движок должен быть популярным у пользователей, хостинг провайдеров и активно развиваться.
  3. Хостинг провайдер должен поддерживать выбранный мной движок, бэкапы и предоставлять бесплатный и разумные платные тарифы.
  4. Процедура переноса не должна включать в себя программирования, денежных вложений и должны использоваться доступные инструменты.

В качестве движка был выбрана популярная и гибкая платформа WordPress.

Сначала решил перенести только модуль блог  (разделы и  статьи), потом подумаю о гостевой книге, пользователях и комментариях.

Этапы перехода:

  1. Сделал бакапы на ucoz  и сохранил на локальный компьютер.
  2. Зарегистрировал бесплатный тарифный план  у провайдера.
  3. Установил чистый Wordpress на сайте.
  4. Здесь получил описание структуры таблиц, которое не совсем совпадает с полученными мной файлами - пришлось добавить несколько новых полей.
  5. Загрузил в эти таблицы данные из файлов бэкапов с помощью функции  импорта из CSV файлов У меня получилось таблицы TABLE 12 и TABLE 13
  6. Скопировал данные в таблицы wordpress. На данном этапе пришлось повозиться, т.к. требовалось установить связи между данными и разработать функции конвертации полей (c MySQL не очень знаком, но знание основ языка SQL сильно помогло). Внизу приведены мои скрипты SQL. Замечу, что я не стал пока заморачиваться тем, что адреса статей совпадали со старыми.
  7. Далее беру напильник и вручную допиливаю статьи блога и оформление.

Таким же макаром можно перенести остальные модули, но кому то придется и повозиться. Шаги 2-7 можно сделать у себя на домашнем компьютере, и потом спокойно выбирать хостинг провайдера и заниматься дизайном. Согласно иследованию, открытые системы на PHP более подвержены риску взлома, поэтому придется разработать более жесткую политику безопасности для сайта (политика доступа, обновления и т.п.).

Что сейчас? Пока продолжаю процедуру полного переноса, как все будет готово, можно будет:

  1. спокойно сменить хостера, так как Wordpress можно поднять практически везде.
  2. Куча бесплатных плюшек для сайта, ограничен только фантазией.

 

//Для удобства отладки переименовал  поля таблиц
ALTER TABLE `TABLE 12` CHANGE `COL 1` `id` INT( 1 ) NULL DEFAULT NULL ;
ALTER TABLE `TABLE 12` CHANGE `COL 2` `position` INT( 1 ) NULL DEFAULT NULL ;
ALTER TABLE `TABLE 12` CHANGE `COL 3` `num_data` INT( 2 ) NULL DEFAULT NULL ;
ALTER TABLE `TABLE 12` CHANGE `COL 4` `name` VARCHAR( 12 ) CHARACTER SET utf8 COLLATE;

 

ALTER TABLE `TABLE 13` CHANGE `COL 1` `id` INT( 2 ) NULL DEFAULT NULL ;
ALTER TABLE `TABLE 13` CHANGE `COL 2` `catID` INT( 1 ) NULL DEFAULT NULL ;
ALTER TABLE `TABLE 13` CHANGE `COL 3` `year` INT( 4 ) NULL DEFAULT NULL ;
ALTER TABLE `TABLE 13` CHANGE `COL 4` `month` INT( 1 ) NULL DEFAULT NULL ;
ALTER TABLE `TABLE 13` CHANGE `COL 5` `day` INT( 2 ) NULL DEFAULT NULL ;
ALTER TABLE `TABLE 13` CHANGE `COL 11` `author` VARCHAR( 6 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ;
ALTER TABLE `TABLE 13` CHANGE `COL 12` `title` VARCHAR( 103 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL;
ALTER TABLE `TABLE 13` CHANGE `COL 13` `brief` VARCHAR( 1107 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ;
ALTER TABLE `TABLE 13` CHANGE `COL 14` `message` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ;
ALTER TABLE `TABLE 13` CHANGE `COL 29` `sbscr` VARCHAR( 64 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ;
ALTER TABLE `TABLE 13` CHANGE `COL 22` `tegs` VARCHAR( 87 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ;

//далее идет код импорта

//загружаем категории

delete from wp_terms;

INSERT INTO `wp_terms`(`term_id`, `name`, `slug`) select id, name, name from `TABLE 12`;


delete from wp_term_taxonomy;

INSERT INTO `wp_term_taxonomy`( `term_id`, `taxonomy`) select id, 'category' from `TABLE 12`

//загружаем материалы
delete from wp_posts;

INSERT INTO `wp_posts` ( `ID` , `post_author` , post_title, post_date, `post_content` , `post_status`,post_name )
SELECT id, 1, title, date( year *10000 + MONTH *100 + DAY ) , message, 'draft', `sbscr` FROM `TABLE 13`

//устанавливаем связь между постами и категориями

DELETE FROM `wp_term_relationships` ;

INSERT INTO `wp_term_relationships`(`object_id`, `term_taxonomy_id`)
SELECT b.id, term_taxonomy_id FROM `wp_term_taxonomy` as tt
left join `TABLE 13` as b on tt.term_id = b.catid

 

Категория: сайт | Просмотров: 2294 | Добавил: mirspo
Всего комментариев: 0
idth="100%" cellspacing="1" cellpadding="2" class="commTable">
Имя *: Email:
Код *: