Наступил момент, когда потребовалось вносить новые изменения на сайт и для того, чтобы старая версия сайта оставалась работоспособной и доступной пользователям было принято решение перенести на поддомен "https://TEST.example.com"
Казалось бы, задача простая и трудностей возникнуть не должно.
Но, копирование файлов и перенос базы данных постоянно редиректил на основную версию сайта, что даже не позволяло открыть сайт, который был на поддомене. (Вот только если закомментить правила в .htaccess, сайт был доступен, но визуально было видно, что с ним что-то не так)
Перенос с помощью плагина Duplicator (которым я пользовалась всегда) выдавал постоянно незащищеное соединение и не давал возможность в принципе просматривать сайт, который может и был перенесён, и кое-как работоспособен. Для простого переноса плагин вполне подойдет.
Опытные пользователи, вероятно, знакомы с данной темой и без труда переносят сайты на WP на поддомены.
Мне пришлось помучаться и поискать решение, которое, надеюсь, станет полезным для посетителей форума.
Было время и желание разобраться, в чём же было дело и почему сайт переносился некорректно.
Изначально, я думала что проблема обстоит в правилах, которые были в .htaccess, ведь если их закомментить, всё в принципе "работало"
Это заставило меня искать решение, пробовать множество разных правил, которое избавило бы мой тестовый сайт от постоянного редиректа. Но никакого положительного результата редактирования этого файла не приносило. (Кроме получения новых знаний об этом файле и его правилах, что нельзя не считать плюсом)
РЕШЕНИЕ
Есть несколько вариантов решения.
Для начала я опишу подробно свой, в работоспособности которого я уверена на 100%.
Перенос WP вручную
Условно перенос можно разделить на два этапа
После переноса файлов, нужно загрузить себе БД существующего сайта.
Это можно сделать в панели управления хостингах используя службу phpMyAdmin
Теперь нужно создать новую БД для клона сайта. В которую позже импортировать обработанную БД.
//После завершения переноса файлов необходимо отредактрировать файл конфигурации wp-config.php
//Изменить старые настройки: название БД/логин пользователя БД/пароль к БД на новые.
В чём же обстоит загвоздка и проблема в некорректности отображения или редиректов? В содержании БД.
Помимо хранения информации о домене сайта, например, "https://example.com" база данных так же индексирует эту информацию посредством подсчёта символов, указывая из скольких символов состоит строка с именем вашего домена.
Выглядит она примерно так:
s:91:"https://example.com/wp-content/plugins/post-grid/assets/frontend/css/images/placeholder.png"
s:N - количество символов, которые содержаться в строке url
И если просто в редакторе изменить один домен на другой, а количество символов не трогать, будут ошибки в домене и виджеты, страницы, записи просто не будут работать.
Я произвела замену и подсчеты самостоятельно, заняло это примерно часа три-четыре. Сейчас сложно сказать почему эти действия захотелось выполнить вручную, но...
Но автоматизировать этот процесс так же можно.
СПОСОБ 2 и 3, 4
На просторах интернета был найден скрипт или программа "Safe Search and Replace on Database with Serialized"
Как он работает - лично не проверяла, поэтому описать его работу и настройки не могу.
Но он является бесплатным и как с ним работать вы запросто найдете на просторах интернета.
Так же, оказывается есть ещё способ с помощью плагина "Velvet Blues Update URLs"
Его работу так же описывать не буду, потому что не проверяла.
Но насколько можно судить по скринам плагина, в нём используется интуитивный интерфейс, что облегчает работу с переносом.
И ещё можно воспользоваться плагином "WP Migrate DB".
Информации о переносе на поддомен с сохранением работоспособности всего сайта, по какой-то причине не особо много, хотя, возможно я искала как-то не так. В основном попадала на варианты, где предлагали развернуть чистый WP, натянуть на него тему и плагины настроить заново.
В любом случае, используя эти способы - вы без проблем сможете перенести сайт на поддомен.
Ну или полностью на новый домен.
Будет интересно прочитать и про другие способы переноса.
Жду ваши комментарии
Казалось бы, задача простая и трудностей возникнуть не должно.
Но, копирование файлов и перенос базы данных постоянно редиректил на основную версию сайта, что даже не позволяло открыть сайт, который был на поддомене. (Вот только если закомментить правила в .htaccess, сайт был доступен, но визуально было видно, что с ним что-то не так)
Перенос с помощью плагина Duplicator (которым я пользовалась всегда) выдавал постоянно незащищеное соединение и не давал возможность в принципе просматривать сайт, который может и был перенесён, и кое-как работоспособен. Для простого переноса плагин вполне подойдет.
Опытные пользователи, вероятно, знакомы с данной темой и без труда переносят сайты на WP на поддомены.
Мне пришлось помучаться и поискать решение, которое, надеюсь, станет полезным для посетителей форума.
Было время и желание разобраться, в чём же было дело и почему сайт переносился некорректно.
Изначально, я думала что проблема обстоит в правилах, которые были в .htaccess, ведь если их закомментить, всё в принципе "работало"
Это заставило меня искать решение, пробовать множество разных правил, которое избавило бы мой тестовый сайт от постоянного редиректа. Но никакого положительного результата редактирования этого файла не приносило. (Кроме получения новых знаний об этом файле и его правилах, что нельзя не считать плюсом)
РЕШЕНИЕ
Есть несколько вариантов решения.
Для начала я опишу подробно свой, в работоспособности которого я уверена на 100%.
Перенос WP вручную
Условно перенос можно разделить на два этапа
- Перенос файлов.
- Перенос и работа над базой данных. (Да, именно работа)
После переноса файлов, нужно загрузить себе БД существующего сайта.
Это можно сделать в панели управления хостингах используя службу phpMyAdmin
Теперь нужно создать новую БД для клона сайта. В которую позже импортировать обработанную БД.
//После завершения переноса файлов необходимо отредактрировать файл конфигурации wp-config.php
//Изменить старые настройки: название БД/логин пользователя БД/пароль к БД на новые.
В чём же обстоит загвоздка и проблема в некорректности отображения или редиректов? В содержании БД.
Помимо хранения информации о домене сайта, например, "https://example.com" база данных так же индексирует эту информацию посредством подсчёта символов, указывая из скольких символов состоит строка с именем вашего домена.
Выглядит она примерно так:
Код:
(2847, 950, 'post_grid_post_settings', 'a:10:{s:9:"post_skin";s:6:"flip-x";s:19:"custom_thumb_source";s:91:"https://example.com/wp-content/plugins/post-grid/assets/frontend/css/images/placeholder.png";}'),
s:N - количество символов, которые содержаться в строке url
И если просто в редакторе изменить один домен на другой, а количество символов не трогать, будут ошибки в домене и виджеты, страницы, записи просто не будут работать.
Я произвела замену и подсчеты самостоятельно, заняло это примерно часа три-четыре. Сейчас сложно сказать почему эти действия захотелось выполнить вручную, но...
Но автоматизировать этот процесс так же можно.
СПОСОБ 2 и 3, 4
На просторах интернета был найден скрипт или программа "Safe Search and Replace on Database with Serialized"
Как он работает - лично не проверяла, поэтому описать его работу и настройки не могу.
Но он является бесплатным и как с ним работать вы запросто найдете на просторах интернета.
Так же, оказывается есть ещё способ с помощью плагина "Velvet Blues Update URLs"
Его работу так же описывать не буду, потому что не проверяла.
Но насколько можно судить по скринам плагина, в нём используется интуитивный интерфейс, что облегчает работу с переносом.
И ещё можно воспользоваться плагином "WP Migrate DB".
Информации о переносе на поддомен с сохранением работоспособности всего сайта, по какой-то причине не особо много, хотя, возможно я искала как-то не так. В основном попадала на варианты, где предлагали развернуть чистый WP, натянуть на него тему и плагины настроить заново.
В любом случае, используя эти способы - вы без проблем сможете перенести сайт на поддомен.
Ну или полностью на новый домен.
Будет интересно прочитать и про другие способы переноса.
Жду ваши комментарии
Последнее редактирование: