Вопрос или проблема
У меня есть сайт WPMU в подкаталоге /new/. Таким образом, мой основной URL — example.com/new
. Я смог использовать .htaccess
и скопировать файл index.php
в домен, чтобы получить только example.com
для моего основного сайта. Однако…
У меня есть плагин ‘NS Cloner Pro’, который клонирует сайты WPMU одним кликом (отличный плагин!), но каждый клон все еще содержит подкаталог /new/. Я хочу получить example.com/clone-site-1/
,
но получаю example.com/new/clone-site-1
.
Я пробовал использовать скрипт “search-and-replace” от www.interconnectit.com, чтобы удалить /new/, но в результате получал и example.com/clone-site-1/
, и example.com/new/clone-site-1
, что говорит мне о том, что что-то пошло не так.
Как я могу создать только example.com/clone-site-1/
БЕЗ example.com/new/clone-site-1
?
Вот ответ, который я предоставил через официальную поддержку, и окончательным подтвержденным решением было переместить установку в корень домена и полностью избавиться от /new/; полное объяснение:
Спасибо за ваш вопрос. Надеюсь, я правильно понял вашу ситуацию. Вы ранее создавали подсайты обычным способом? Как выглядят их пути?
Не уверен, что даже нормально созданные подсайты будут работать с этой установкой. Кажется, это может вызвать проблемы с темами и плагинами, загрузкой файлов и т. д., потому что WordPress multisite будет ожидать ссылаться на все относительно места, где он установлен (/new/).
Pro-версия Cloner имеет встроенный уровень сайта и глобальный Поиск и Замену, но даже если вы используете это для замены /new/ на /sub-site-name/, я думаю, у вас возникнут другие проблемы с постоянными ссылками и другими частями WP.
Я просто предполагаю, не тестировал вашу конкретную установку ранее.
Если вы можете переместить index.php в корень, почему бы вам просто не установить WPMS в корень домена с самого начала? Думаю, так у вас будет гораздо меньше проблем в будущем.
Другим вариантом было бы обновить только URL домашней страницы, как вы хотите (без /new/), но оставить всю стандартную структуру и ссылки WP на месте для всего остального. Не уверен, как это получится, но.
Для исправления URL в базе данных я всегда использую плагин Better Search and Replace. Мне он хорошо помогает. https://wordpress.org/plugins/better-search-replace/
.
Ответ или решение
Если у вас есть WPMU-сайт, размещенный в подкаталоге /new/, и вы используете плагин NS Cloner Pro для клонирования сайтов WordPress Multisite, вам может понадобиться поменять URL, чтобы он отображался без подкаталога /new/. Ваша текущая проблема заключается в следующем: при клонировании созданные клонированные сайты получают путь вида example.com/new/clone-site-1, а вам нужно, чтобы было example.com/clone-site-1.
Вот что можно сделать в вашей ситуации:
1. Перенос WordPress в корневую директорию
Наиболее простой и долгосрочный способ решения проблемы — это установка WordPress Multisite в корневой каталог вашего домена сразу, без использования подкаталога /new/. Это избавит вас от необходимости выполнять сложные манипуляции с .htaccess и перемещать другие файлы. Следуйте этим шагам:
- Сделайте резервную копию вашего сайта, включая базу данных и файлы.
- Перенесите все файлы из подкаталога /new/ в корневую директорию.
- Обновите файл .htaccess и wp-config.php, чтобы они указывали на корректные пути.
- Проверьте базу данных и внесите необходимые изменения для обновления URL с /new/ на корневой каталог с помощью SEO-оптимизированного плагина, такого как Better Search Replace.
2. Клонирование с заменой URL
Если вышеуказанный способ вам не подходит, и вам необходима работа именно из подкаталога, можно настроить замены URL для клонированных сайтов:
-
Использование встроенного поиска и замены: NS Cloner Pro имеет встроенные инструменты для поиска и замены на уровне сайта и глобальном уровне. Попробуйте использовать эти инструменты, чтобы заменить все вхождения /new/ на /clone-site-name/.
-
Использование Better Search Replace: После клонирования сайта используйте плагин Better Search Replace для замены всех оставшихся вхождений подкаталога /new/. Этот плагин прост в использовании и позволяет точно заменять URL в базе данных.
3. Настройка .htaccess и перенаправления
Если первый вариант не возможен и замена URL по каким-либо причинам не зависит от вашего выбора, вы можете настроить правила перенаправления в .htaccess. Например:
RewriteEngine On
RewriteRule ^clone-site-1/(.*)$ /new/clone-site-1/$1 [L,NC,R=301]
В конце концов, центральной целью является обеспечение правильно работающего WordPress Multisite, который будет удобно управляться и не создаст дополнительных технических сложностей в будущем.
SEO и оптимизация
При выполнении всех вышеуказанных шагов обратите внимание на SEO-оптимизацию вашего сайта:
- Обновите карту сайта и настройте файлы robots.txt для правильно работающих путей.
- Проверьте все внутренние ссылки и убедитесь, что они корректно обновлены.
- Используйте инструменты SEO-анализа, такие как Google Search Console, для проверки на наличие ошибок.
Эти шаги должны гарантировать, что ваш сайт будет работать гладко и без лишних проблем, связанных с размещением в подкаталоге.