Создайте тестовую систему 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 -i s/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, очистит папки кэша, создаст дамп базы данных и найдет/заменит записи производственной системы на тестовую систему и импортирует дамп в базу данных - наконец, скопируйте тестовую конфигурацию в тест папка
Это работает, но у меня есть некоторые странные ошибки - например, изображение логотипа, где вместо него отображается изображение-заполнитель
Отсутствует мета-навигация
И в бэкэнде некоторые точки в левой навигации отсутствуют - например, пользовательские типы записей
Я что-то пропустил в своем сценарии?
2 answers
В общем случае в тестовых средах лучше использовать то же доменное имя, что и на живом сайте. Поскольку не похоже, что вы следуете такому шаблону (и да, ему сложнее следовать), вам нужно убедиться, что вы правильно конвертируете все URL-адреса в БД, и то, как вы это делаете, приведет к сбою с любыми данными, которые сериализуются. Используйте wp-cli для изменения URL-адресов вместо того, чтобы заново изобретать собственное решение.
Кроме того, вы, вероятно, захотите изменить опцию или добавить какой-нибудь код, чтобы убедиться, что Google делает не пытайтесь индексировать тестовый сайт.
Я нашел лучший плагин для клонирования для моего использования - WP Clone здесь: https://wordpress.org/plugins/wp-clone-by-wp-academy/
Довольно прост в использовании, просто установите на исходный и целевой сайты WP. Затем экспортируйте с исходного сайта и импортируйте в цель (войдите в цель). Все ваши настройки (включая пользователей) и контент, включая мультимедиа, будут находиться на целевом сайте; вам придется войти в систему, используя учетную запись, которая была в исходной системе.
Отличный плагин.