- WP Magazine
- Про WordPress на русском языке
- Как изменить адрес WordPress-сайта
- Почему WordPress не работает с новым доменом
- О чем следует помнить перед сменой домена
- «Трудности» с кириллическими доменами .рф
- Изменяем домен сайта с помощью WP-CLI
- Изменяем домен сайта с помощью PHP-скрипта
- Вместо заключения
- WordPress.org
- Русский
- Не работают поддомены
- WordPress.org
- Русский
- После переноса сайта — не работают функции
WP Magazine
Про WordPress на русском языке
Как изменить адрес WordPress-сайта
Решив изменить адрес сайта, следует помнить, что помимо изменения домена в настройках хостинга, необходимо изменить и несколько настроек в самом WordPress. Если этого не сделать, сайт или часть его функционала перестанет работать.
При переносе сайта с локального сервера на рабочий также важно не забыть о смене домена, если адреса отличаются. Наша статья поможет разобраться в чем дело и правильно изменить адрес сайта, чтобы он смог работать должным образом.
Почему WordPress не работает с новым доменом
Для построения всех ссылок внутри WordPress используются несколько настроек, которые хранят в себе адрес сайта (его домен). Задаются они единожды в момент установки WordPress после чего сохраняются в таблице wp_options базы данных и требуют ручного обновления, если вы решили изменить адрес сайта.
О чем следует помнить перед сменой домена
Помимо обновления настроек доменов на странице Общие настройки (Настройки → Общие), стоит вспомнить и еще о некоторых вещах, которые имеют место быть.
- Ссылки в статьях и страницах.
- Ссылки в настройках тем и плагинов.
- Картинки в статьях, страницах и других местах сайта.
- Колонка guid в таблице wp_posts и т. п.
Иногда домен может храниться в виде сериализованного значения внутри базы данных. На практике это происходит, если в одну «ячейку» базы данных записывается целый массив значений. И если количество символов в новом и старом домене будет различаться, то осечку дадут большинство способов с простой заменой через поиск, о которых «рассказывает интернет».
На иллюстрации ниже в «ячейке» 1 хранится обычное значение, а в 225 сериализованное, где помимо самого значения указывается и его размер.
» data-medium-file=»https://wpmag.ru/wp-content/uploads/2015/05/serialized-option-300×29.png» data-large-file=»https://wpmag.ru/wp-content/uploads/2015/05/serialized-option.png» loading=»lazy» src=»https://wpmag.ru/wp-content/uploads/2015/05/serialized-option.png» alt=»Сериализованные значения» width=»680″ height=»65″ srcset=»https://wpmag.ru/wp-content/uploads/2015/05/serialized-option.png 680w, https://wpmag.ru/wp-content/uploads/2015/05/serialized-option-300×29.png 300w» sizes=»(max-width: 680px) 100vw, 680px»/>
К счастью, обо всем этом заботится утилита WP-CLI, которая умеет выполнять поиск и замену строк где бы и в каком формате они не хранились в базе данных. Работу с ней мы и затронем ниже в этой статье, но обо всем по порядку.
«Трудности» с кириллическими доменами .рф
Система доменных имен (DNS) создана так, что адреса сайтов могут содержать лишь буквы английского алфавита, цифры и символ «-». Все прочие символы должны быть записаны в качестве комбинаций из этих допустимых символов. Для доменов вида мой-сайт.рф это означает, что запись домена в настройках WordPress необходимо производить в формате Punycode. Например, домен мой-сайт.рф в Punycode будет выглядеть как xn—-8sbzclmxk.xn--p1ai .
Сконвертировать домен .рф из кириллицы в Punycode можно автоматически на сайте mothereff.in/punycode.
Конвертация доменов в punycode
» data-medium-file=»https://wpmag.ru/wp-content/uploads/2015/05/punycode-domain-name-converter-300×107.png» data-large-file=»https://wpmag.ru/wp-content/uploads/2015/05/punycode-domain-name-converter.png» loading=»lazy» src=»https://wpmag.ru/wp-content/uploads/2015/05/punycode-domain-name-converter.png» alt=»Конвертация доменов в punycode» width=»764″ height=»272″ srcset=»https://wpmag.ru/wp-content/uploads/2015/05/punycode-domain-name-converter.png 764w, https://wpmag.ru/wp-content/uploads/2015/05/punycode-domain-name-converter-300×107.png 300w» sizes=»(max-width: 764px) 100vw, 764px»/>
Конвертация доменов в punycode
Изменяем домен сайта с помощью WP-CLI
Утилита WP-CLI — универсальный инструмент среди множества возможностей которого есть и грамотный поиск с заменой любых строк внутри базы данных. Мы подразумеваем, что WP-CLI уже установлен на хостинге. Если это не так, можно попросить поддержку провайдера установить утилиту, или выполнить процедуру смены домена на своем локальном сервере.
Перед началом не забудьте сделать резервную копию базы данных на всякий случай.
Итак, чтобы изменить домен сайта, подключаемся по SSH к серверу и с помощью команды cd переходим в папку со своим сайтом.
С помощью команды search-replace «попросим» WP-CLI заменить old-domain.ru на new-domain.com .
Команда в таком виде заменит old-domain.ru на new-domain.com лишь в таблицах, которые имеют отношение к текущей установке WordPress. После выполнения выведется таблица с небольшой статистикой.
Поиск и замена в WP-CLI
» data-medium-file=»https://wpmag.ru/wp-content/uploads/2015/05/wp-cli-search-replace-result-300×185.png» data-large-file=»https://wpmag.ru/wp-content/uploads/2015/05/wp-cli-search-replace-result.png» loading=»lazy» src=»https://wpmag.ru/wp-content/uploads/2015/05/wp-cli-search-replace-result.png» alt=»Поиск и замена в WP-CLI» width=»570″ height=»352″ srcset=»https://wpmag.ru/wp-content/uploads/2015/05/wp-cli-search-replace-result.png 570w, https://wpmag.ru/wp-content/uploads/2015/05/wp-cli-search-replace-result-300×185.png 300w» sizes=»(max-width: 570px) 100vw, 570px»/>
Поиск и замена в WP-CLI
Используя дополнительные атрибуты, можно указать конкретные таблицы и колонки в таблицах, где необходимо производить замену. Будьте осторожны, если в одной базе данных расположены таблицы нескольких сайтов. Также в WP-CLI есть команда wp option update для обновления отдельных опций.
Изменяем домен сайта с помощью PHP-скрипта
В случае, если по каким-то причинам WP-CLI недоступен, вы можете воспользоваться PHP-скриптом от компании Interconnect IT из Ливерпуля. Для его использования достаточно лишь FTP-доступа. Как и WP-CLI, скрипт заботится обо всех форматах данных и не сломает сериализованные значения.
Снова замечу, что на всякий случай лучше сделать резервную копию базы перед началом.
2. Зайдем в корневую папку сайта на сервере через FTP. Прямо в корне установки WordPress создаем «секретную» папку с любым именем. Обязательно сделайте имя как можно более сложным из букв разного регистра, цифр и символа «-». Такое имя необходимо для того, чтобы никто кроме вас не смог найти ее и воспользоваться скриптом — он не требует авторизации и любой пользователь, зашедший на страницу, сможет взаимодействовать с вашей базой данных.
3. Распакуем содержимое архива, скаченного на первом шаге, и загрузим в «секретную» директорию.
Файлы утилиты Interconnect/it
» data-medium-file=»https://wpmag.ru/wp-content/uploads/2015/05/finder-ftp-replacer-300×162.png» data-large-file=»https://wpmag.ru/wp-content/uploads/2015/05/finder-ftp-replacer.png» loading=»lazy» src=»https://wpmag.ru/wp-content/uploads/2015/05/finder-ftp-replacer.png» alt=»Файлы утилиты Interconnect/it» width=»766″ height=»414″ srcset=»https://wpmag.ru/wp-content/uploads/2015/05/finder-ftp-replacer.png 807w, https://wpmag.ru/wp-content/uploads/2015/05/finder-ftp-replacer-300×162.png 300w, https://wpmag.ru/wp-content/uploads/2015/05/finder-ftp-replacer-768×416.png 768w» sizes=»(max-width: 807px) 100vw, 807px»/>
Файлы утилиты Interconnect/it
4. Откроем скрипт, который мы только что загрузили. Для этого откройте в браузере страницу example.org/replacer-x36D891EHY-/ . Как можно догадаться, «replacer-x36D891EHY-» — это название секретной директории.
Поиск с заменой в базе данных WordPress
» data-medium-file=»https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script-300×226.png» data-large-file=»https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script.png» loading=»lazy» src=»https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script.png» alt=»Поиск с заменой в базе данных WordPress» width=»766″ height=»576″ srcset=»https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script.png 1000w, https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script-300×226.png 300w, https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script-768×578.png 768w» sizes=»(max-width: 1000px) 100vw, 1000px»/>
Поиск с заменой в базе данных WordPress
5. На открывшейся странице в поле «replace» необходимо указать свой старый домен (например, old-domain.ru ), а в поле «with» новый домен (например, new-domain.com ).
Галочку «use regex» снимаем. Данные в секции «database» должны автоматически заполниться при открытии страницы. В секции «tables» выбираем «all tables».
6. Секция «actions» содержит несколько кнопок для действий. Нас интересует кнопка «live run». Нажав на нее откроется диалоговое окно, в котором необходимо подтвердить запуск, нажав кнопку «Ок».
7. Начнется процесс поиска и замены домена. Не закрывайте страницу! Во время выполнения будут появляться результаты операции.
Результат поиска с заменой по базе данных WordPress
» data-medium-file=»https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script-results-300×189.png» data-large-file=»https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script-results.png» loading=»lazy» src=»https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script-results.png» alt=»Результат поиска с заменой по базе данных WordPress» width=»766″ height=»481″ srcset=»https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script-results.png 1000w, https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script-results-300×189.png 300w, https://wpmag.ru/wp-content/uploads/2015/05/search-replace-php-script-results-768×483.png 768w» sizes=»(max-width: 1000px) 100vw, 1000px»/>
Результат поиска с заменой по базе данных WordPress
8. После успешной замены необходимо удалить «секретную» директорию со всем содержимым. Это можно сделать через FTP-клиент. Через кнопку «delete me» внизу страницы скрипт может не удалиться, поэтому надежнее сделать это через FTP-клиент.
Вместо заключения
Мы рассмотрели два наиболее правильных пути для смены домена WordPress-сайта. В интернете описываются и другие способы сделать это, но большинство из них не учитывают многих тонкостей хранения данных в базах данных.
Инструменты, описанные в статье для замены адреса сайта, могут использоваться и для других целей, когда необходимо выполнить поиск с заменой каких-либо строк внутри базы данных. Если у вас возникли вопросы во время смены адреса сайта, напишите комментарий и мы постараемся вам помочь.
Источник
WordPress.org
Русский
Не работают поддомены
Нажимаю потом перейти в консоль — открывается страница ошибки, пишет, что не удалось найти ip-адрес сервера.
На саму страницу тоже не заходит.
Установил и настроил плагин WPMU Domain Mapping — все равно не работает.
На хостинге тоже добавил этот поддомен, не помогло.
Когда заходжу в пункты меню domains или domain mapping, то появляется такое сообщение:
Please copy sunrise.php to /home/l/lomakin5/public_html/zdrowie/public_html/wp-content/sunrise.php and ensure the SUNRISE definition is in /home/l/lomakin5/public_html/zdrowie/public_html/wp-config.php
Не понял я где этот sunrise.php взять
Как настроить этот мультисайт, чтобы было много поддоменов?
- Тема изменена 2 года, 11 месяцев назад пользователем Yui .
- Тема изменена 2 года, 11 месяцев назад пользователем Omsk .
Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]
не удалось найти ip-адрес сервера.
а DNS настроили? и сервер, он должен принимать запросы для всех поддоменов в одну папку на диске
это вообще левый файл. не нужно читать древних инструкций. WordPress-MU давно уже вошел в состав обычного WordPress
https://codex.wordpress.org/%D0%A1%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5_%D1%81%D0%B5%D1%82%D0%B8
все проще сейчас
(тема переносится в соотв. раздел)
- Ответ изменён 2 года, 11 месяцев назад пользователем Yui .
DNS не настроил. Где его нужно настраивать? В инструкции про это нет.
Источник
WordPress.org
Русский
Поддержка → Проблемы и решения → После переноса сайта — не работают функции
После переноса сайта — не работают функции
Здравствуйте. При переносе сайта с одного домена на другой, возникла проблема с созданием новых записей и редактированием старых записей. Вот скрин проблемы: https://i.ibb.co/z2GdF6s/image.jpg
Перенос делал с сайта my-aliexpress.ru (сейчас не откроется так как стоит редирект 301 на https://my-bookmark.ru) собственно переносил сайт на домен https://my-bookmark.ru
Для переноса копии сайта делал:
— Копию БД SQL и через блокнот менял my-aliexpress.ru на my-bookmark.ru авто заменой
— Создавал новую БД, пользователя и загружал измененною БД SQL, само собой в файле wp-config.php менял данные подключения к новой БД и т.п.
— Менял адрес домена в .htaccess с my-aliexpress.ru на my-bookmark.ru
— Менял адрес домена в robots.txt с my-aliexpress.ru на my-bookmark.ru
Не могу понять почему возникла такая проблема, кто подскажет, где «лечить» эту неисправность?
через блокнот менял my-aliexpress.ru на my-bookmark.ru авто заменой
Нельзя так делать — так портятся сериализованные данные.
Замену домена (и вообще текста в БД) правильнее делать плагином Better Search Replace.
Или вообще переезжать при помощи плагина Duplicator.
Менял адрес домена в .htaccess с my-aliexpress.ru на my-bookmark.ru
По хорошему, там вообще не нужен домен.
Менял адрес домена в robots.txt с my-aliexpress.ru на my-bookmark.ru
Вообще никак на работу WP не влияет.
Снес все: файлы и БД и решил сделать все как вы подсказали через плагин Duplicator.
Итог: такая же проблема.
Методом проб, была найдена проблема, это плагин Yoast SEO при отключении все работает нормально, при повторном включении снова не работает, при деактивации и новой активацией та же проблема. Решил полностью удалить Yoast SEO и снова установить Yoast SEO проблема не устранилась. Написал в Yoast SEO разрабам, а они отвечают, что все консультации только для премиум клиентов (а это на минуточку 89 евро!), Yoast SEO бесплатная версия по их словам «как есть».
Кто может помочь с решением уже проблемы с Yoast SEO бесплатной версией?
Видимо, это что-то новенькое, очередное «улучшение», потому что я переносил кучу сайтов с Ёстом и проблем не было.
Решил полностью удалить Yoast SEO
Нажимали «Удалить» в админке или просто снесли файлы плагина?
Судя по факту существования плагинов Uninstall Yoast, убить его не так уж и просто.
Нет. Если просто удалить с админки, файлы от плагина по пути /wp-content/plugins/wordpress-seo все равно остаются.
Я сделал так: деактивировал плагин, далее удали с админки и далее по фтп удали всю паку от плагина, после чего установил плагин заново, но проблема не решилась.
Я ХЗ, что делать… Есть варианты?
Обратил внимание вот ан что: Если нажать на кнопку «Скопировать текст ошибки» https://i.ibb.co/z2GdF6s/image.jpg и вставить его например в блокнот, то вот что появляется:
Есть мысли, где зарыта проблема?
Если просто удалить с админки, файлы от плагина по пути /wp-content/plugins/wordpress-seo все равно остаются.
Вообще-то, не должны. Некоторые плагины отлавливают факт удаления и убирают за собой, чего не делают при деактивации. За Ёста не знаю, внутрь не смотрел, ибо он огромный и постоянно мутирует 🙂
Отказаться от него. Правда, достойная альтернатива Ёсту — Rank Math SEO — тоже заваливается в сторону «дайте денег».
Ну или «делать вскрытие», что с учетом аякса и современных тенденций монстрезации софта непросто даже для специалиста.
Да, кстати, как-то упустил (как само собой разумеющиеся), Вы логи ошибок смотрели? См. Отладка в WordPress
Я вот понять не могу копия файлов, базы, без каких либо добавлений, тупо домен другой, тем более все делалось в короткое время и новой версии Yoast SEO не выходило, а по факту такая проблема — в голове не укладывается.
По поводу логов, то на фтп в /logs паке пусто нет файла. Или вы в другом месте имели ввиду?
Если в пределах того же хостинга и аккаунта, то да, странно.
Расположение и наличие системных логов зависит от хостинга и настроек аккаунта в панели управления хостингом.
WP умеет вести свой лог, посмотрите по ссылке, что я дал.
Стоит иметь в виду, что некоторые плагины отключают вывод/логгироване ошибок, за что их авторам надо бы [вырезано самоцензурой].
Источник