/ Wordpress / Перенос сайта wordpress

Перенос сайта wordpress

HIT

05.09.2015

2768

При переносе сайта (на другой хостинг или на другой домен) встречается множество нюансов. Рассмотрим их.

Ошибки при переносе

При экспорте дамба базы данных иногда выдается ошибка:

#1273 — Unknown collation: ‘utf8mb4_unicode_ci’

Чтобы исправить надо:
Открыть БД в Нодпад++ и с помощью поиска заменить все ‘utf8mb4_unicode_ci’ на «utf8_general_ci», также «utf8mb4» на «utf8».
После этого база без проблем импортируется.

Дамп данных таблицы `wp_comments`

Эта ошибка означает что в БД нет какой-то таблицы.

Замена домена

Поменять домен можно в настройках wordpress, но иногда так же надо его менять и в базе данных.
Например, если в записях содержатся ссылки на изображения по старому домену. Или при добавлении SSL сертификата.

Замена в базе данных старого домена на новый

UPDATE wp_options SET option_value = REPLACE(option_value, 'http://test.site.ru', 'http://site.ru') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://test.site.ru', 'http://site.ru');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://test.site.ru', 'http://site.ru');
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://test.site.ru','http://site.ru');
UPDATE wp_term_taxonomy SET description = REPLACE (description, 'http://test.site.ru', 'http://site.ru');

Для того, чтобы выполнить эти запросы, вам нужно выбрать базу данных в phpMyAdmin, перейти на вкладку SQL, вставить запросы в поле и нажать ок.

Если есть заполненные описания с изображениями в категория, то их обновить нужно так

UPDATE wp_term_taxonomy SET description = REPLACE (description, 'http://site.ru','https://site.ru');

Для коротких описаний woocommerce нужно делать еще такой запрос на обновление

UPDATE wp_posts SET post_excerpt = REPLACE (post_excerpt, 'http://test.site.ru', 'http://site.ru');

Если во время разработки сайта на техническом домене был установлен Yoast, то в его таблицах при переносе на основной домен нужно также сделать замены:

UPDATE wp_yoast_indexable SET permalink = REPLACE (permalink, 'http://site.beget.tech', 'https://site161.ru');
UPDATE wp_yoast_indexable SET twitter_image = REPLACE (twitter_image, 'http://site.beget.tech', 'https://site161.ru');
UPDATE wp_yoast_indexable SET open_graph_image = REPLACE (open_graph_image, 'http://site.beget.tech', 'https://site161.ru');
UPDATE wp_yoast_seo_links SET url = REPLACE (url, 'http://site.beget.tech', 'https://site161.ru');

Экспорт и импорт

Одним из вариантов переноса является экспорт контента с одного сайта (старого) и импортом на другой сайт (новый). Данные функции находятся в меню Инструменты. При экспорте получаем файл .xml который содержит практически всю информацию с сайта, кроме: шаблонов и плагинов. При этом папка Медиафайлы (uploads) копируется при импорте один в один со старого сайта.
Единственной небольшой проблемой могут стать абсолютные ссылки в записях, но это легко решить через phpMyAdmin (как описано в предыдущем пункте.)

Размер дампа базы

При импорте столкнулся с тем, что в php.ini установлен лимит на размер импортируемого дампа базы.

Как менять этот параметр

Импорт через UpdraftPlus Backup

Если сделать полный импорт вместе с базой данный через данный плагин, то после окончания в базе (siteurl и host) будут с того сайта с которого делался бэкап. Если есть доступ phpMyAdmin это легко исправить, если нет доступа, то на сайте нужно прописать следующую функцию в functions.php:

update_option( 'siteurl', 'http://site.ru' );
update_option( 'home', 'http://site.ru' );

Либо альтернативный способ прописать в wp-config:

define( 'WP_HOME', 'http://stp61.ru' );
define( 'WP_SITEURL', 'http://stp61.ru' );
[site-socialshare]
  • Комментарии
  • Вложения

Добавить комментарий

Пока нет комментариев. Будь первым!

Перенос сайта wordpress
Платежная система PayKeeper
Рекомендации для васПлатежная система PayKeeperOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.