Одна из самых частых причин смены домена сайта – это перенос его с локального сервера на боевой. Процесс переноса сайта как правило для разных движков отличается, для некоторых движков достаточно править файлы конфигурации, чтобы все ссылки на сайте обновились. Что касается сайтов, реализованных на WordPress то здесь так же необходимо произвести поиск и замену URL-адресов в базе данных.
Здесь мы рассмотрим пример замены URL-адресов в базе данных, посредством нескольких ключевых запросов. Стоит сразу условиться, что база данных уже импортирована на рабочий сервер, и у нас под рукой есть доступ к консоли SQL. В большинстве случаев запросы проще выполнить через утилиту phpMyAdmin.
Не торопитесь копировать и выполнять запросы сразу же в базу данных. Для начала их следует вставить в какой-либо текстовый редактор, и сформировать их правильным образом. Для начала давайте условимся, что у нас есть два домена old-site.com и new-site.com, соответственно первый домен – это старый домен, второй – тот на который следует выполнить замену.
Соответственно есть несколько таблиц, в которых следует выполнить замену.
UPDATE wp_options SET option_value = REPLACE(option_value, 'http://old-site.com', 'https://new-site.com') WHERE option_name = 'home' OR option_name = 'siteurl'; UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://old-site.com', 'https://new-site.com'); UPDATE wp_posts SET guid = REPLACE (guid, 'http://old-site.com', 'https://new-site.com'); UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://old-site.com','https://new-site.com'); UPDATE wp_comments SET comment_content = REPLACE (comment_content, 'http://old-site.com', 'https://new-site.com'); UPDATE wp_comments SET comment_author_url = REPLACE (comment_author_url, 'http://old-site.com', 'https://new-site.com');
Как вы можете заметить в этом процессе задействовано несколько таблиц.
Ключевые моменты, на которые следует обратить внимание.
Во-первых, это префикс таблиц – в моём примере префикс таблиц указан как wp_, это значение по умолчанию, однако не исключено что у вас он может отличаться. Во-вторых, обратите внимание на написание доменов, а именно протоколы http и https, чтобы замена выполнилась корректно. Иногда бывают случаи, что ссылки на сайте встречаются как с http-протоколом, так и https. В этом случае запросы для замены ссылок можно выполнить дважды для каждого вида ссылок отдельно.