Создайте тестовую систему WordPress как клон из продуктивной системы

Для нашего сайта WordPress я хотел создать тестовый экземпляр – для тестирования обновлений WordPress-обновлений / плагинов и новых разработок на тему и так далее …

поэтому я написал сценарий для копирования базы данных и файлов:

sourcedir="/srv/www/htdocs/www.example.de" testdir="/srv/www/htdocs/test.example.de" workdir="/data/example.de_test-system" sqldumpfile="$workdir/mysql_dump_example_wp2017.sql" echo "delete webroot test.example.de" rm -rf $testdir echo "www.example.de nach test.example.de kopieren" cp -R $sourcedir $testdir echo "cache-verzeichnisse leeren" rm -rf $testdir/wp-content/cache/minify rm -rf $testdir/wp-content/cache/db rm -rf $testdir/wp-content/cache/object rm -rf $testdir/wp-content/cache/page_enhanced rm -rf $testdir/wp-content/cache/tmp echo "alten dump loeschen" rm -f $sqldumpfile echo "aktuellen Dump aus DB ziehen" mysqldump -u root --password=xxx example_wp_2017 > $sqldumpfile echo "dump bearbeiten - www.example.de gegen test.example.de ersetzen" sed -is/www.example.de/test.example.de/g $sqldumpfile echo "bearbeiteten dump in test-DB einspielen" mysql -u root --password=xxx example_wp_2017_test < $sqldumpfile echo "test-config einspielen" cp /data/example.de_test-system/wp-config.php $testdir echo "www-nutzer-rechte auf test.example.de setzen" chown -R wwwrun $testdir chgrp -R www $testdir 

скрипт скопирует папку WordPress, пустые папки кэша, удалит базу данных и найдет / заменит записи производственной системы тестовой системой и импортирует дамп в базу данных – наконец, скопируйте test-config в тестовую папку

это работает, но я получил некоторые странные ошибки – например, изображение логотипа, где вместо этого отображается изображение с заполнителем

мета-навигация отсутствует

и в бэкэнд отсутствуют некоторые точки в левой навигации – например, пользовательские типы сообщений

я пропускаю некоторые вещи в моем сценарии?

В целом тестовые среды лучше использовать то же имя домена, что и сайт в реальном времени. Поскольку вам не кажется, что вы следуете такому шаблону (и, да, это сложнее), вам нужно убедиться, что вы правильно конвертируете все URL-адреса в БД, и то, как вы это делаете, не удастся с любыми данными, которые сериализованная. Используйте wp-cli для изменения URL-адресов вместо повторного создания собственного решения.

Кроме того, вы, вероятно, захотите изменить параметр или добавить код, чтобы убедиться, что Google не пытается индексировать тестовый сайт.

Я нашел лучший клонирующий плагин для моего использования – это WP Clone здесь: https://wordpress.org/plugins/wp-clone-by-wp-academy/

Достаточно проста в использовании, просто установите на исходные и целевые сайты WP. Затем экспортируйте с исходного сайта и импортируйте в цель (войдите в цель). Все ваши настройки (включая пользователей) и контент, включая носитель, будут находиться на целевом сайте; вам нужно будет войти в систему, используя учетную запись, которая была в исходной системе.

Отличный плагин.