Как переместить папку UPLOADS в WordPress и что нужно при этом учитывать
Перенос WordPress в другую корневую папку
Перенос сайта с одной темы WordPress на другую
ПРивет. вот такой вопрос у меня: => есть сайт на WordPress и мне его нужно перенести на другую.
Добавить папку с плагином в шаблон WordPress
Здравствуйте. Имеется отдельный плагин и отдельная тема вордпресс. При стандартной установке -.
Перенос wordpress
Залил файлы на хостинг, не выдает ошибку заединения с базой, вообще ничего не выдает, в просмотре.
Перенос сайта HTML на wordpress
Всем привет! цель: перенести сайт (3 страницы) на wordpress потом будет,конечно, больше страниц.
Меняем стандартные пути к папкам в WordPress
Опубликовано: ADv Дата 26.11.2013 в рубрике Настройки 4 комментария
Как переименовать папку WP-Content
Если вы уже работали с WordPress, то наверняка видели, что все полезное содержимое в виде изображений, таблиц стилей, тем и плагинов в WordPress по-умолчанию хранится в папке wp-content. Но, вероятно, вы не догадывались, что название этой папки можно изменить на что-либо другое, и движок все равно будет работать!
Одним из преимуществ переименования «wp-content/» является то, что ваш сайт будет выглядеть менее WordPress-ным, в то время как это свойство может также добавить некоего рода безопасности что-ли..
Сейчас мы покажем как это всё можно проделать.
Создаем новую папку
В нашем примере мы переименуем папку wp-content в assets. Обратите внимание, что после переименования этой папки все активированные плагины или темы будут деактивированы и не будут отображаться на назначенных им страницах, так как WordPress не сможет найти их в дефолтном расположении — папке wp-content.
Модификация конфига
Теперь нужно проделать несколько изменений в файле wp-config.php, но, всё же лучше сделать резервную копию этого файла перед внесением в него правок. И тогда, в случае чего-то непредвиденного, мы всегда сможем вернуть его из бекапа.
Для начала добавим следующую строку перед require_once(ABSPATH . ‘wp-settings.php’); (обычно расположена в самом низу) для того, чтобы сообщить WordPress, что путь wp-content был изменен на assets.
Затем добавим следующую строку сразу под предыдущей, чтобы указать WordPress на новый путь к папке.
После добавления строки выше WordPress снова обнаружит и отобразит список установленных тем и плагинов.
Но, как вы можете увидеть ниже, ссылка на скриншот темы сломалась.
Для того, чтобы это исправить, добавьте эту строку для указания новой ссылки на папку.
Вот и все. Теперь все плагины, темы и любые другие медиафайлы, которые вы загружаете, будут сохраняться в нашей новой папке.
Следует отметить!
Существуют некоторые плагины и темы, которые не особо следуют стандартам разработки. Они указывают “wp-content” в качестве пути и ссылки «жестко», зашивая путь в файл, нежедли определяя их налету. В таки случаях плагины и темы могут работать не полностью, либо вообще не работать.
Более того, это также ломает ссылки к изображениями, которые уже прикреплены к записям и были залиты в папку wp-content.
Поэтому вышеописанная модификация должна применяться с осторожностью, и, в идеале, конечно лучше проделывать такое, если вы только собираетесь установить WordPress, либо только-только установили. В противном случае, сайт может полностью «поломаться», и придется исправлять огромное количество деталей.
Как изменить стандартный путь к медиафайлам в WordPress
Новый загрузчик медиа файлов, появившийся в версии 3.5 — наверное одно из самых значительных изменений в той версии. Другим важным изменением, но менее обсуждаемым, было исчезновение настройки в админ.панели для изменения директории для загрузок из меню Параметры. Причиной данного удаления из интерфейса было то, что она не так часто использовалась, нежели другие опции. Также ее изменение могло привести к плачевным последствиям для сайта, если пользователь сделал это случайно. Удаление настройки упростило интерфейс, и оставили только возможность организации папок по месяцам/годам. Ниже мы расскажем, как изменить стандартный путь к медиа файлам в WordPress 3.5+.
Примечание: Производите нижеуказанные действия, если вы НЕ новичок в WordPress. Или же если вы понимаете, что делаете.
Для изменения стандартного пути к медиа файлам вам необходимо отредактировать файл wp-config.php, расположенный в корневой директории установленного у вас WordPress. Если вы хотите, чтобы папка для загрузок у вас выглядела так wp-content/files, то необходимо поместить следующий код в wp-config.php:
Если же вы хотите, чтобы ваша папка для загрузок находилась вне директории wp-content, например http://www.example.com/files/ , то вам нужно установить путь для загрузок в wp-config.php вот так:
Помните, что вы в любой момент можете выбрать сортировку загруженных файлов по месяцам/годам в Параметры » Медиафайлы.
Источник:
Надеемся, что статья окажется для вас полезной. Если у вас остались вопросы, не стесняйтесь задавать их в комментариях.
Как перенести сайт WordPress на другой хостинг
Как сменить хостинг-провайдера для сайта на WordPress? Давайте разберёмся пошагово.
Переезд означает перенос файлов движка сайта, базы данных и резервных копий в другое облачное хранилище – хостинг. Также потребуется откорректировать DNS-записи домена для перенаправления его обслуживания к новому провайдеру. Ведь, по сути, домен – название корневой папка сайта, его нужно прикрепить к новому адресу сервера.
Что изменится в случае успешного переноса? Формально – ничего. Ваш сайт на WordPress сохранит все свои свойства, посетители будут видеть тот же дизайн и контент, визуально и функционально всё останется в том же виде. Но вы получите преимущества нового провайдера: стабильность, возможности тонкой настройки, бонусы/акции, улучшенную техподдержку и, возможно, более низкую стоимость услуг.
Какой новый хостинг выбрать для переезда, вместо старого? Из личного опыта, наилучшим по совокупности характеристик является Bluehost. Провайдер официально рекомендован разработчиками CMS WordPress вот уже 15 лет. Более сотни дата-центров по всему миру, отличная техподдержка, аптайм серверов 99,8%, технология CloudFlare CDN для быстрого доступа к ресурсам из любой точки мира, удобная панель управления, щедрые условия на тарифах. Надёжное, беспроблемное от слова совсем для клиентов решение по цене $2.95 в месяц с полным набором возможных хостинговых услуг.
На хостинге Bluehost действует манибек в течение 30 дней. Места много – 50 Гб на SSD-диске, бесплатный SSL, мощная защита от DDoS, очень высокая скорость работы. Техподдержка англоязычная, зато компетентная, вежливая и доступна круглосуточно через лайв-чат и телефон. Переезд на Bluehost окажется последним для вашего сайта, потому что повода смотреть дальше не появится. Ничего лучше просто нет – это мнение многих зарубежных экспертов отрасли, подкреплённое опытом миллионов владельцев сайтов. Вы забудете о возможности существования каких-либо проблем по сайту, переехав к этому провайдеру.
Ввиду вышесказанного, мы будем рассматривать перенос сайта WordPress в контексте работы с Bluehost. Тем не менее, алгоритм в полной мере окажется справедливым и для других провайдеров – инструкция универсальна, поможет в любом случае. Технически ничего сложного в ней нет, достаточно быть опытным пользователем ПК. Следуйте шагам и получите ожидаемый результат: сайт без каких-либо потерь заработает на Bluehost так, будто бы всё время был там.
Шаг 1. Регистрируемся на Bluehost
Начнём с подготовки нового дома для сайта. Выберите тарифный план Bluehost.com, для одного сайта подойдёт тариф Basic. Далее вам предложат выбрать доменное имя, выберите опцию «Use a domain you own» или «I’ll create my domain later», если собираетесь и дальше использовать текущий домен (мы рассматриваем именно этот случай).
Теперь нужно создать аккаунт, для автоматического заполнения части личной информации можно использовать привязку к учётной записи Google. Заполните остальные поля вручную, выберите срок аренды хостинга (чем он дольше, тем дешевле получится). Снимите галочки с дополнительных платных опций в поле «Package Extras» или оставьте что-то – по желанию. Введите платёжные данные карты и подтвердите транзакцию. Не волнуйтесь, 30-дневный манибек, в случае чего, беспроблемный, мы проверяли его работу.
После этого вам на почту придут данные аккаунта, включая NS-адреса провайдера, которые вскоре понадобятся для привязки домена. Авторизуйтесь, зайдите в панель управления. Ваш новый хостинг готов к работе.
Шаг 2. Загружаем бекап архив сайта со старого хостинга на компьютер
Файлы сайта со старого хостинга выгоднее и проще всего скачивать архивом через встроенный в панель управления текущего хостера Менеджер файлов (Диспетчера файлов). Для этого необходимо выделить корневую папку с названием домена и нажать «создать архив», после чего загрузить его на ПК. Создать архив сайта можно также используя инструмент «Резервная копия».
Создания архива сайта через панель ISPmanager:
Создания архива сайта через панель CPanel:
Можно также зайти с FTP в каталог сайта, используя клиент Filezilla и скачать папку с файлами сайта, но это займёт намного больше времени и за надёжность способа мы не отвечаем. В таких случаях отдельные файлы нередко теряются – потом будет трудно понять, почему восстановленный на новом хостинге сайт не работает или выдаёт ошибки. Так что лучше пользуйтесь встроенным файловым менеджером, создавайте архив и скачивайте его.
Шаг 3. Скачивание базы данных сайта
Для этого нужно зайти в панель управления базами данных – phpMyAdmin. Слева увидите колонку со списком всех имеющихся на аккаунте баз данных. Вы должны знать название той, на которой работает переносимый сайт.
Если сайт один, то проблем не будет – в списке увидите лишь одно название. Выделите его, потом нажмите в верхнем меню вкладку «Экспорт». Оставьте настройки по умолчанию – тип базы SQL и быстрый способ загрузки. Нажмите «Вперёд». В итоге, загрузится файл базы данных с расширением .sql, что и требовалось. У нас есть всё необходимое для начала переноса сайта.
Шаг 4. Привязываем домен к Bluehost
Скорее всего, ваш текущий домен зарегистрирован у хостера, от которого переезжаете. Вам нужно зайти в панель управления доменами, выбрать нужный и изменить значения NS-серверов на те, которые вы получили в почтовом письме после регистрации аккаунта в Блухосте.
Теперь нужно добавить домен сайта WordPress в панель управления Bluehost. Для этого зайдите в раздел «Domains», выберите «Assign», там будут отображены 4 шага по парковке домена:
- На 1 шаге «Enter Domain» впишите название домена в строку «Use a domain that is not associated with your account»;
- На 2 шаге «Verify Ownership» вас попросят изменить значения NS-серверов у регистратора домена. Вы это уже сделали, по идее. Система подсказывает текущие NS-адреса домена и указывает, на что их нужно сменить. В нашем случае это NS1.BLUEHOST.COM, NS2.BLUEHOST.COM. Bluehost выдаёт IP-адреса для смены А-записи (это значение индивидуально) в настройках домена там, где вы его регистрировали. Также для подтверждения прав на домен вам предложат создать страницы на сайте старого хостинга с указанными URL и содержанием. Выбирайте любой из трёх предложенных вариантов. Мы рекомендуем просто заменить NS-адреса.
- На шаге 3 нужно выбрать вариант «Parked Domain», чтобы вы смогли использовать домен в качестве основного на своём аккаунте Bluehost.
- Шаг 4 позволяет назначить папку для нового домена и суб-домены, если нужно.
После выполнения всех инструкций и заполнения полей подтвердите действие парковки домена, нажав «Assign this Domain». Всё, дело сделано.
Процесс парковки домена обычно занимает несколько часов, иногда больше суток. То есть это не мгновенно происходит. Придётся подождать, а потом продолжить работу.
Если вы желаете продолжить на новом домене, то просто зарегистрируйте его в панели «Domains — Register». Будет создана корневая папка с его названием, в которую на следующем шаге мы перенесём сайт.
Шаг 5. Перенос сайта WordPress в папку домена
Итак, у вас есть скачанный архив с файлами сайта и база данных, а также припаркованный домен на новом хостинге. Загрузите и распакуйте в файловом менеджере Bluehost архив сайта в папку с названием домена (она появится автоматически после завершения процесса парковки). Также можете для этой цели использовать FTP-соединение, распаковав файлы через Filezilla, к примеру.
Важно: перед тем, как распаковывать файлы в корневую папку хостинга public_html, удалите оттуда файл index.html. В противном случае, при вводе названия домена в адресную строку будет открываться приветственная страница хостера.
По итогу, у вас в папке с названием домена появятся все файлы сайта на новом хостинге: директории «wp—content», «wp-admin», «wp-includes» и другие, а также несколько файлов, имеющих расширение .php, включая важнейший файл конфигурации wp-config.php, с которым сейчас поработаем.
Шаг 6. Подключение базы данных к сайту
База данных содержит весь контент сайта помимо стандартных данных движка и плагинов. Настало время подключить её. Для начала нужно создать свежую базу для сайта.
- В панели управления Bluehost на главном экране выберите «Databases» и создайте новую БД:
- Добавьте нового пользователя и придумайте пароль:
- Добавьте пользователя в базу данных:
Теперь заходим в phpMyAdmin и выбираем свежую БД из списка в левой колонке, далее – пункт «Импорт» из верхнего меню. Загрузите ранее скачанную базу данных с ПК на хостинг; информация, которую она содержит, будет скопирована в новую базу данных.
Теперь необходимо «подружить» БД с файлами движка сайта. Дело в том, что её название изменилось, WordPress не сможет идентифицировать данные, нужно ему помочь. Для этого нужно зайти в файловый менеджер Bluehost, найти корневую папку с названием домена сайта, а затем – файл wp-config.php. Кликните по нему правой кнопкой мыши, выберите «Edit».
В открывшемся редакторе нужно заменить значения в строках «DB_NAME», «DB_USER» и «DB_PASSWORD» на те, что вы создали в новом хостинге. Название, имя пользователя базы данных и пароль. Исправьте данные и сохраните изменения. Теперь БД подключена к сайту.
Если после всех операций возникает ошибка соединения с БД, то перепроверьте, нормально ли база данных загрузилась через phpMyAdmin (там сообщение о результатах загрузки появляется, будьте внимательны). Также посмотрит, правильно ли вы отредактировали wp-config.php. Один неверный символ – и всё, ничего не будет работать.
Шаг 7. Последние штрихи
Пора проверить, что у нас получилось. Зайдите в настройки сайта в панели управления WordPress, измените значение любого параметра и сохраните изменения, чтобы они записались в базу данных. Если вы раньше использовали плагины для кэширования, то сотрите данные кэша вручную через файловый менеджер из каталога wp-content/cache/.
Посмотрите, нормально ли открываются ссылки, корректно ли отображается контент? Иногда случается так, что всё на месте, кроме картинок. Чтобы изображения появились, поставьте права чтения/записи в значение 755 для директории wp-content/uploads/. Для этого кликните правой кнопкой мышки по директории, выберите «Change permissions», переставьте галочки и подтвердите изменения.
Выводы
Перенести сайт WordPress на другой хостинг при сохранении текущего домена несложно. Нужен доступ к аккаунту текущего хостинга/доменного регистратора, базе данных и новый хостинг с оплаченным тарифным планом. Остальное – дело техники. Просто следуйте инструкции, будьте внимательны на каждом этапе, и перенос пройдёт гладко.
Загруженный файл не удалось переместить в wp-content/uploads
Продолжаю я настраивать VPS сервер на CloudMouse, и один мой сайт там уже успешно крутится. Но тут возникла проблема: картинки при написании статьи не загружаются! Выдает ошибку: Загруженный файл не удалось переместить в wp-content/uploads . В чем проблема?
Проблема, в принципе, решается просто — на эту папку можно установить права 777 и тогда все будет грузиться как надо. Но права 777 — это дыра, так как папка становится доступна для записи всем.
В интернете проблема поднята на многих форумах, кто то пишет, что ничего страшного, так как на сервере ты один и это не так страшно. Кто то пишет, что это опасно, так как можно купить сервер на этом же хостинге и получить доступ к этой папке.
Лично я перешел на VPS исключительно с целью увеличить безопасность. Меня уже не раз ломали на моём хостинге HTS (тут я рассказывал о том, как можно проверить сайт на вирусы), и два раза заливали дорвеи как раз в папку wp-content/uploads.
На хостинге к этой папке у меня стояли права 755, и это то, что нужно. Но 777 я ставить принципиально не хотел, даже если угроза не так серьезна. Что же делать?
Как решить проблему «Загруженный файл не удалось переместить в wp-content/uploads»?
Потратил я пол часа на поиски решения, и еле нашел его на одном англоязычном сайте, где все задают вопросы, а на них отвечают. И вот там был как раз такой вопрос. И на него был маленький ответ, который и решил мою проблему. Все оказалось как всегда очень просто!
Для решения проблемы открываем терминал и подключаемся к хостингу через SSH. Переходим в папку wp-content (на примере моего сайта):
Далее даем такую команду:
Что мы сделали? Мы поменяли владельца этой папки с текущего на www-data. Теперь можно дать папке и файлам нужные права:
Все, теперь папка и все файлы в ней имеют права 755, то есть только владелец имеет права на запись. Но при этом WordPress будет иметь доступ к этой папке и иметь возможность грузить туда картинки.
Ну вот и все, теперь картинки отлично загружаются в статью, и прав 777 при этом на папку upload нет. Написал себе как шпаргалку, но уверен, кому то тоже может пригодиться.
Если у вас свой сервер, то есть лучший способ решения проблемы — это назначить пользователем на папки себя. Я не имею ввиду логин сервера, но логин в ISPmanager, найти его можно тут: УЧЕТНЫЕ ЗАПИСИ — ПОЛЬЗОВАТЕЛИ
Когда мы посмотрели свой логин, открываем консоль сервера и даем команду:
Все, теперь вы сможете загружать все фото без проблем. Кстати, если вы дадите такие права всем файлам на сайте, то и шаблоны, и плагины вы сможете загружать и обновлять без FTP или SSH доступа, что очень удобно! Успехов!
Что будет непонятно — СПРАШИВАЙТЕ!
Переносим сайт на WordPress при помощи бесплатного плагина WP Migrate DB
Миграция сайта между серверами или доменами довольно часто необходима в процессе разработки. Множество установленных плагинов и большое число различных реализаций WordPress усложняют процесс. Для упрощения этого процесса, существуют плагины которые могут выполнить эту работу за вас, такие как WP Migrate DB.
В этой статье мы рассмотрим все необходимые шаги для копирования или переноса WordPress сайта с одного сервера на другой с помощью бесплатного и чрезвычайно надежного плагина WP Migrate DB от Delicious Brains.
Наша цель — рассказать вам о существующих решениях и провести через нюансы миграции сайтов на WordPress. При выборе правильного модуля миграции следует учитывать много факторов. Независимо от того, решите ли вы использовать WP Migrate DB или другие инструменты, понимание, как работают подобные плагины, значительно упростит ваш выбор.
Что из себя представляет миграция WordPress?
WordPress — это система управления контентом. По сути, весь контент и настройки сайта находятся в базе данных WordPress. База данных управляет всеми темами, плагинами и мультимедийными объектами. Перенести файлы вашего сайта из одного места в другое относительно просто, однако, это не относится к базе данных. URL-адреса в базе данных связаны со структурой каталогов на сервере. Таким образом, при миграции требуется замена всех записей в базе данных на те, которые связаны с целевым сервером и его файловой структурой.
Ядро WordPress и многие плагины используют сериализованные массивы, объекты и JSON-кодирование данных для хранения информации в БД. Сериализация данных используется широко, поскольку она помогает сократить записи в базе данных, что приводит к меньшему количеству запросов в базу и повышению производительности.
Однако такой ход влияет на мобильность WordPress, так как нельзя просто заменить URL-адреса в сериализованных данных. Информация должна быть десериализована, заменена и сериализована снова. С вложенными сериализованными данными этот процесс становится еще более сложным. В этом случае плагин WP Migrate DB и ему подобные занимается обработкой информации самостоятельно, облегчая жизнь разработчика.
Четыре сценария миграции
Миграция WordPress может проходить по одному из следующих сценариев:
- С одного хостинга на другой (оба сайта рабочие).
- С хостинга на локальный тестовый сервер (на вашем ПК).
- Между двумя локальными серверами.
- С локального тестового сервера (на вашем ПК) на хостинг.
Во всех этих случаях шаги миграции одинаковы. Все, что вам нужно — определиться откуда и куда будет выполняться миграция.
Подготовка к миграции
Минимальные права доступа, которые потребуется для переноса сайта на WordPress с помощью плагина WP Migrate DB:
В исходной копии WordPress:
- Доступ к админ-панели WordPress;
- Доступ к темам, плагинам и медиа-файлам в каталоге wp-content по FTP или через диспетчер файлов панели управления вашего хостинга, например cPanel, Plesk и т. д.
В целевой копии WordPress:
- Доступ к целевому серверу по FTP и в панель управления хостинга для установки WordPress и копирования необходимых файлов;
- Доступ к phpMyAdmin или инструменту управления базами данных, которые доступны для вашего сервера хостинга.
Настройка миграции
Если сайт, который нужно мигрировать, имеет большое количество пользовательских настроек, таких, как модифицированная тема, много плагинов и виджетов, настроенных под данный конкретный сайт, то возникнет проблема неудобства настройки всего заново после миграции. В случае использования плагина WP Migrate DB максимум, что нужно будет сделать — это изменить настройки подключения базы данных в wp-config.php на новом сервере и отредактировать правила в .htaccess.
Два важных момента, которые нужно учесть перед миграцией
Перед началом процесса миграции есть пара ключевых моментов о которых нужно помнить: каталог установки WordPress и префикс таблиц базы данных.
Каталог установки WordPress
Вам нужно знать, куда установлен WordPress на исходном сервере — в корневом каталоге сайта (по умолчанию) или в подкаталоге. Это имеет решающее значение, поскольку на целевом сервере каталог WordPress необходимо настроить аналогичным образом. Если на исходном сервере WordPress установлен в подкаталоге, то на целевом WordPress также должен быть установлен в подкаталоге.
Кроме того, имя подкаталога WordPress должно совпадать на обоих серверах. Например, если вы используете каталог sandbox для установки WordPress, обе установки WordPress должны использовать одно и то же имя каталога, то есть sandbox.
В нашем случае WordPress установлен в корневую директорию сайта на хостинге, то есть в public_html
Префикс таблиц
Префикс таблиц в обеих установках WordPress также должен совпадать. Причина, по которой мы останавливаемся на этом моменте, заключается в том, что лучше всего задать необходимые префиксы таблиц во время установки вашего целевого WordPress, а не позже, так как в итоге вы получите ненужные таблицы, загромождающие базу данных.
Чтобы найти префикс таблицы, используемый вашим исходным WordPress, просмотрите значение константы $table_prefix в файле wp-config.php.
В нашей установке исходный WordPress использует префикс таблицы по умолчанию wp_
И последнее, но не менее важное замечание — убедитесь, что вы создали резервную копию сайта.
Шаг 1. Настройка WordPress на целевом сервере
После того, как были выполнены все подготовительные действия, первое, что вам нужно сделать, это установить WordPress на целевой сервер. В нашем примере мы установили WordPress с помощью утилиты Softaculous, которая доступна в cPanel хостингового сервера.
Мы будем выполнять миграцию для получения тестовой копии сайта на поддомене dev.testhostpro.com.ua. В процессе установки изменяем поле каталога, в который будет установлен WordPress на пустое (в нашем примере WordPress установлен в корневую папку сайта) и префикс таблиц на стандартный.
Другие параметры WordPress, такие как имя сайта, описание, пользователи и т. д., не будут иметь значения в данный момент, поскольку они будут перезаписаны из исходного WordPress на более позднем этапе миграции. Пользователь админ-панели, созданный во время процесса установки, необходим только для возможности входа в настройки плагина WP Migrate DB.
Примечание. Если вы выполняете установку WordPress вручную через FTP, можете установить префикс таблицы с помощью файла в wp-config.php или в течении стандартного процесса установки. Если запустить настройки по умолчанию, то установится префикс таблицы wp_
Шаг 2. Экспорт исходной базы данных с помощью WP Migrate DB
Для миграции базы данных необходимо, чтобы плагин WP Migrate DB был установлен и активирован как на исходном, так и на целевом сайте. Это связано с тем, что плагину должен быть известен путь к папке сайта и URL-адреса на новом сервере, чтобы правильно их заменить в исходной базе данных.
После этого перейдите в Инструменты → WP Migrate DB в обоих WordPress:
Затем вам необходимо сделать следующее.
На целевом WordPress:
Отметьте «Экспортировать файл» и скопируйте записи, которые вы увидите ниже в полях «Найти»
На исходном WordPress:
Вставьте скопированные записи в пустые поля «Заменить»
Вы можете также изменить некоторые расширенные настройки. Например, если сайт был создан на локальном компьютере и переносится на хостинг, то рекомендуется включить опцию «Заменить GUIDы».
Далее нажимаем «Экспорт» и ждем завершения. В результате будет создана копия базы данных с измененными ссылками в виде архива и загружена на ваш компьютер.
Если ваша база данных довольно большая, может сработать таймаут при экспорте. В этом случае в настройках плагина на вкладке «Настройки» нужно увеличить размер запроса, чтобы экспорт прошел быстрее.
Шаг 3. Копирование необходимых файлов
Следующий шаг — это копирование папок themes, plugins и uploads , расположенных в папке wp-content с исходного сервера на целевой с использованием FTP или другого удобного вам способа.
Убедитесь, что во время копирования не было ошибок. Передача данных между серверами может занять некоторое время, в зависимости от количества файлов. Создание zip-архива через cPanel, а затем миграция папок через FTP могут ускорить процесс.
Все плагины также можно установить заново на целевом WordPress из админ-панели. Если вы решите это сделать, рекомендуем, чтобы версии плагина на обеих установках совпадали.
Шаг 4. Импорт базы данных через phpMyAdmin
На следующем шаге требуется, чтобы вы импортировали дамп базы данных, сгенерированный на шаге 2, в базу данных WordPress на конечном сервере.
Для этого необходимо перейти к управлению базами данных на конечном сервере с помощью phpMyAdmin или другого инструмента управления базами данных.
Убедитесь, что вы выбрали правильную базу данных WordPress. Это та же самая база данных, которая была создана при установке WordPress на шаге 1. В нашем случае имя базы данных, указанное для целевого WordPress, было wp35. Однако, большинство серверов также добавляют префикс из имени пользователя к этому имени, например, у нас hostpro_wp35.
Определение нужной базы данных имеет решающее значение, так как импорт в неправильную базу приведет к тому, что на вашем хостинге будет поврежден другой сайт. Если на сервере назначения есть другие установки WordPress, обязательно создайте резервные копии перед проведением миграции.
Чтобы быть уверенными в выборе базы, рекомендуем следующий чеклист:
- проверьте имя базы данных в файле wp-config.php на целевом сервере, оно будет включать полное имя, включая какой-либо префикс;
- убедитесь, что префикс таблиц базы данных в phpMyAdmin совпадает с указанным в wp-config.php;
- проверьте поля ‘siteurl’ и ‘home’ в таблице someprefixwp_options — в них должно быть указано имя целевого домена;
Теперь, когда вы уверенны, что выбрали правильную базу, можно импортировать в нее созданный ранее дамп в формате sql.zip
Когда процесс импорта завершится, целевой WordPress будет иметь все настройки, контент, пользователей и т. д. из исходного WordPress. Таким образом, миграция будет завершена.
Завершающие шаги
На целевом сайте все будет аналогично исходному. Вы сможете войти в админ-панель с теми же пользователями, и любые изменения, которые вы, возможно, сделали в целевом WordPress, будут перезаписаны.
Единственное, что можем посоветовать после миграции, это пересохранить постоянные ссылки. То есть перейдите в Настройки → Постоянные ссылки и просто нажмите «Сохранить изменения»
Последнее, но не менее важное — убедитесь, что после миграции все страницы, виджеты, формы связи работают корректно и нет «битых» ссылок.
Устранение неполадок
Существует много причин, которые могут привести к сбою миграции. Вот несколько решений, которые помогут вам устранить эти редкие случаи:
- Если вы получаете ошибку при импорте базы данных на целевой сервер, попробуйте на шаге 2 создать дамп без опции «Сжать файл с помощью gzip»
- Если вы не можете попасть в админ-панель сайта после миграции, попробуйте добавить такие строки в ваш файл wp-config.php:
Эти параметры переопределяют имя домена в настройках админ-панели и таблице wp_options, но не вносят никаких постоянных изменений в базу данных. Если в результате вы смогли войти в админ-панель с добавлением этих строк, то становится понятно, что со ссылками возникла какая-то проблема.
- Отсутствующие медиафайлы будут указывать на ошибки во время процесса копирования папки uploads на шаге 3.
- Если вы видите белый экран (также называемый «белым экраном смерти»), проверьте правильность копирования файлов тем и активируйте правильную тему.
Если в процессе миграции сайта у вас возникнут вопросы или будет нужна наша помощь, смело обращайтесь, мы с радостью поможем!
Ускоряем WordPress. Перенос изображений на поддомен
Добрый день. Сегодня хочу продолжить серию статей о WordPress и рассказать, как перенести все изображения на поддомен. Эдакая небольшая инструкция по применению. Зачем это нужно, спросите вы? Для уменьшения нагрузки и распараллеливания загрузки сайта. Дело в том, что современные браузеры могут загружать страницу в несколько потоков, а поддомен выступает, своего рода, отдельным доменом. Поэтому скорость загрузки увеличивается и это хорошо Не секрет, что страницы, которые загружаются быстрее, при прочих равных — выше ранжируются поисковыми системами. Да и пользователям будет приятнее находиться у вас на сайте.
Я писал раньше об ускорении сайта в статье о технической оптимизации WordPress, а также советую почитать статью Евгения на эту же тему «Как я ускорял сайт». Это сподвигло меня на поиск нестандартных решений ускорения. Мало кто использует этот метод, так что он может считаться «джедайским»
WordPress поддерживает хостинг изображений на других доменах без плясок с бубном, это замечательно. Несмотря на родную поддержку — я нечасто встречаю блоги с хостингом изображений на поддоменах. Владельцы или не хотят заморачиваться, или не в курсе этой возможности. Со второй проблемой я попробую сегодня помочь, с первой придется смириться, тут я бессилен Вся работа сводится к 4 шагам, начнем по порядку…
Создание поддомена вашего сайта
У меня на хостинге используется cPanel, поэтому скриншоты будут этой системы, она достаточно распространенная. У кого не выйдет сделать самостоятельно — можно обратиться в техподдержку, они помогут.
Заходим в управление доменами и создаем поддомен (subdomain).
Можно указывать любое название поддомена, желательно потом не запутаться. Поэтому images, на мой взгляд, самый оптимальный вариант.
Изменение папки загрузки изображений по умолчанию
На этом шаге немного изменим настройки вашего движка WordPress/
Если у вас русский язык в WordPress — тогда вам нужно нажать «Параметры» — «Медиафайлы»
Верхняя строка может быть пустой, тогда все картинки будут ложиться в одну папку. Вторая строка — полный путь к файлам, должен выглядеть примерно так — . Обязательно сохраните настройки, я сам частенько забываю. Теперь, когда вы загружаете картинку или другой файл — все они будут сохраняться на поддомен. Организацию по месяцам оставляем, если она была включена изначально, ниже поймете, почему.
Меняем расположение картинок в старых записях
Новые файлы будут загружаться правильно, но что со старыми? Глупо переносить их вручную, сделаем это умно.
Перенесем папки из старого каталога в каталог поддомена и выполним небольшой SQL запрос, который поменяет пути к изображениям. Сделать это можно при помощи phpMyAdmin, который должен быть доступен на любом хостинге.
Выберите вашу базу данных и зайдите на закладку SQL, там мы будем выполнять код.
Теперь жмем «GO», запрос выполняется и ссылки на картинки во всех постах заменяются на новые.
Теперь нужно заменить ссылки на картинки в коллекции медиафайлов, внутри админпанели WordPress. Код, указанный ниже, поможет в этом.
Перенаправляем ссылки на новый поддомен
Супер, мы поменяли все ссылки на изображения, загрузили их на новое место, но поисковики-то проиндексировали старые ссылки. Нужно сказать им, что новые картинки — на самом деле старые, а не черти что Для этого поменяем ваш файл .htaccess, добавив туда строчку.
Предварительно забэкапьте этот файл, во избежание всяких нехороших последствий.
Вот и все… Удачной вам оптимизации.
Похожие записи
надо попробовать перенести картинки с сайта на поддомен, главное не накосячить -)
У меня в новой версии нет строки для пути к сайту. Что делать?
а не проще закинуть фото на бесплатный cdn-хостинг?
Здравствуйте. Очень интересный метод. Проделал все те манипуляции со своим сайтом и картинки в самих статьях все норм отображаются. Но возникла следующая проблема: при создании новых статей, когда я хочу «задать миниатюру» (справа есть такой модуль или как правильно его назвать), так вот нажимаю на задать миниатюру и далее загружаю файл с компа, нажимаю на «установить миниатюру» и ничего не происходит. Кто сталкивался с таким?
Здравствуйте! Занялся сейчас как раз переносом картинок на поддомен, версия вордпресс 3.5, а в ней отсутствуют поля ввода пути к картинкам, чтобы сменить их, я имею в виду раздел в админке «Параметры > Медиафайлы».
Где прописать новый путь?
Пробовал в файле config.php добавлением кода:
define(‘UPLOADS’, ‘http://image.site.ru/uploads/’);
Однако получил плохой результат, только запутался и вернул все как было.
Очень хочется решить этот вопрос.
Если у кого-то такая же проблема используйте плагин, по-другому никак — плагин WP Original Media Path
Анна, этот код (SQL-запрос) нужно выполнять в phpMyAdmin. Как это делать — http://gering111.com/zaprosy-sql/, тут написано.
Если у вас что-то не получается, не расстраивайтесь — можно написать мне в почту или воспользоваться формой обратной связи. Подумаем вместе
судя по всему, в моем случае, лучше ручками
у меня не получилось
Теперь нужно заменить ссылки на картинки в коллекции медиафайлов, внутри админпанели WordPress. Код, указанный ниже, поможет в этом.
вот этот пункт ….
куда его вставлять?
Как такового ускорения не заметить… чаще всего поддомены «висят» полностью на том же оборудовании что и основной домен.
Вот если бы раскинуть их на разные хостинги — вот это было бы дело
В принципе верно, на слабом хостинге толку не будет. Разнесение по разным аккаунтам — это действительно идеальный вариант, но и самый дорогой.
Так и не получилось у меня эта затея, промучился 3 часа. По всей вероятности данный метод актуален лишь в начале создания блога. Например плагин для работы с водяными знаками отказался работать с папкой на поддомене. И еще куча мелких проблем, в итоге оставил все как есть.
Тут еще много зависит от плагина, если он жестко прописан к стандартной директории — тогда только переписывать, иначе толку не будет
И правда интересно
А почему это названо «поддомен», если это та же самая папка с сайтом? Никакого ускорения :))
Распараллеливание загрузки Это раз
Никто не запрещает перенести в случае чего эту папку на отдельный хост, с сохранением настроек.
При этом методе картинки получают новый адрес, но пишутся в старую папку. Поэтому и не отображаются в браузере. (ВП 2.9.2)
Отличный метод. Раньше кстати вешал на внешние хостинги картинок.
Спасибо за пост и за интересный вариант
И еще, как сделать, чтобы wordpress загружал в автомате картинки на поддомен, потому что он продолжает грузить их в старое место
В статье описано. Нужно менять параметры в «Медиафайлах» блога
Что-то еще нужно прописывать в поле: Сохранять файлы в этой папке
По умолчанию: wp-content/uploads
Первая строка может быть пустой, если не нужно на поддомене писать все в отдельную папку. А вот вторая — полный путь к домену с картинками. Например, как в данном случае — img.gering111.com. У вас будет адрес вашего домена, естественно
у меня в настройках медиафайлов стоит галочка помещать загруженные мной файлы в папки по месяцу и году
Это верно, так и должно быть, если картинок много. Иначе можно просто запутаться
Сделал все как описано, но грузиться на поддомен картинки из wordpress отказываются и не отображаются
Привет. Ты решил проблему не-отображения картинок? Потому как у меня такая же проблема…одну он загрузил как-то норм, а остальные не отображаются, зато когда заходишь их редактировать — они показываются, но самого изображение нету, только как файл без отображения в медиафайлах.
изображения при урл-заходе на них выдает эрор 500 (с правами все ок — выставила на 777 уже почти все возможные папки и файлы). еще создает папку http: в корневой папке куда и прописываются эти неудавшиеся изображения.
исплевался весь! приходится в ручную из папки по уполномочию в wordpress перекидывать на поддомен. тогда картинки иначинают изображаться.
Увы это не вариант…ускорения прям сильного не заметила, а проблем на голову набралась….
Есть ли решение подобной проблемы, товарисчи?
Я так понял, вы накрутили уже делов… Давайте по порядку, что имеется на данный момент? Что сделано, что не работает?
Итак, сделала чисто пошагово что описано в статье, все поменяла, все прописала как описано — в итоге загружаю image через пост или через медиафайлы — типа загрузилось, но изображения нету — вместо него просто название файла линком — перехожу на этот линк — получаю эрор 500. Читала про эрор 500 — ЧПУ не переполнено чем-то лишним — стандартные rewrite и то что по статье указано, написала; права доступа на папку «image» (наш субдомен) 777 — то есть полноценные. Ньюанс описала чуть ниже, повторю, — те файлы что пытаешся загрузить и «изображения нету — вместо него просто название файла линком» в фтп размещаются не в папке «image», а создается сама по себе папка «http:» куда все эти файлы автоматом кидает (пустышками этими). единственный выход, что нашла (повторюсь — не вариант), это через фтп кидать в папку «image» нужную датированную папку/подпапку, но при этом в Медиафайлах этих файлов, которые закидываются через фтп, не наблюдается.
Вот. Вроде ничего не упустила…
Итак, сделала чисто пошагово что описано в статье, все поменяла, все прописала как описано — в итоге загружаю image через пост или через медиафайлы — типа загрузилось, но изображения нету — вместо него просто название файла линком — перехожу на этот линк — получаю эрор 500. Читала про эрор 500 — ЧПУ не переполнено чем-то лишним — стандартные rewrite и то что по статье указано, написала; права доступа на папку «image» (наш субдомен) 777 — то есть полноценные. Ньюанс описала чуть ниже, повторю, — те файлы что пытаешся загрузить и «изображения нету — вместо него просто название файла линком» в фтп размещаются не в папке «image», а создается сама по себе папка «http:» куда все эти файлы автоматом кидает (пустышками этими). единственный выход, что нашла (повторюсь — не вариант), это через фтп кидать в папку «image» нужную датированную папку/подпапку, но при этом в Медиафайлах этих файлов, которые закидываются через фтп, не наблюдается.
Вот. Вроде ничего не упустила…
В общем, насколько я поняла — решение проблемы вы не знаете….не надо тогда говорить что кто-то там что-то накрутил…вопрос исчерпан.
Не совсем так. Я пытаюсь смоделировать ситуацию, но пока не совсем выходит с хостингом. Тариф не позволяет. Как будет результат я отпишусь. Если у вас есть решение — вэлкам
Ну вобщем заново копалась, помог другой метод:
вместо указанных в статье «Верхняя строка может быть пустой, тогда все картинки будут ложиться в
одну папку. Вторая строка – полный путь к файлам, должен выглядеть
примерно так – » я прописала в верхней строке «images/» (без кавычек) и все нормально заработало. До этого пробывала много разных сочетаний с этими строками — выход оказался предельно простым Ес кому полезно было — на здоровье!
Спасибо Вам за решение
А мне не помогло (, миниатюры в постах не отображаются — все равно ссылаются на папку wp-content/uploads
Ого. И правда, джедайский метод.
ну и как с ускорением в процентах?
Проверить не могу, тариф не позволяет. А локальное зеркало — не показатель
Отличная идея между прочим. Я раньше картинки на внешку грузил (piasa, flickr), сегодня полезу убивать свой блог — если не получиться с первого раза ))) … бэкапнусь за одно….
Спасибо. Подробная ваша инструкция очень помогла. Ждем от вас ещё открытий!
будем пробовать на досуге
Спасибо,не знаете,а с хостингом Timeweb проблем не будет?Вроде не должно,а вдруг Вы с ним работаете и знаете?
Не работаю. Но, не думаю, что будут проблемы. Если поддомены включены в тарифный план Вашего хостинга — все будет нормально.
Очень интересный вариант.Попробую.
Спасибо за подробную инструкцию. Буду осваивать.
Хороший вариант ускорения сайта. Сам бы не догадался. Надо будет испытать ).
Избавляемся от мусора на хостинге — удаляем лишние файлы в папке Uploads
Здравствуйте, друзья! Как известно не все что хранится в папках нашего сайта на хостинге действительно необходимо. За время существования сайта в его “закромах” скапливаются горы мусора, то есть множество ненужных для нормальной работы веб-ресурса файлов. Это может быть все что угодно — временные или неиспользуемые файлы, копии документов или забытые архивы.
То, что надо периодически оптимизировать базы данных или удалять ревизии постов и спам всем хорошо известно. Для тех, кто не хочет делать это вручную, даже придуманы удобные плагины для WordPress. Например, WP-Cleanup. Но все равно такая уборка не позволяет заглянуть во все углы и папки, хранящиеся на хостинге, и увидеть весь мусор. Лично я, в процессе экскурсии на хостинг по FTP, обнаружил на одном из сайтов два десятка, давно не используемых, zip архивов. Конечно, я их удалил, но подумал, вдруг у кого-то такая же история, поэтому решил написать эту небольшую статью.
Где прятались забытые архивы
Без лишних слов сразу покажу, что и где я нашел. Надо сказать, что этот мой блог на движке WordPress я редко посещаю, и за прошлый год опубликовал на нем всего лишь три статьи. Думаю, не стоит говорить, что его файлы на хостинге я проверяю еще реже. Тем не менее, в папке Uploads , рядом с папками, загруженных и отсортированных по месяцам, картинок, я обнаружил 19 zip архивов шаблонов и плагинов. Их я устанавливал когда-то в процессе всевозможных экспериментов по развитию этого блога. Причем большинство из этих плагинов и тем давно не используются и удалены. Полный путь к ним выглядел так: /public_html/wp-content/uploads .
Проверьте, может и у вас есть подобные лишние файлы. Кстати, интересно это узнать, так как на других своих сайтах я ничего лишнего не нашел. Хотя я примерно догадываюсь почему, но об этом позже. А пока соединяемся с хостингом по FTP с помощью программы FileZilla и идем по указанному выше пути.
Конечно, много места эти архивы не занимают, всего лишь около 9 МБ. Но ведь, если активно развивать сайт в течение нескольких лет, то размер этой папки может быть гораздо больше. По любому, зачем нам мусор? Удаляем без тени сомнения и, таким образом, освобождаем место на хостинге. Кто не рискует, может сделать копии. У меня на работе блога это, естественно, никак не отразилось.
Теперь все выглядит аккуратненько, как и должно быть.
Освобождаем место в папке Uploads — удаляем лишние картинки
Кстати, как вы знаете, в той же папке Uploads на совершенно законных основаниях хранятся файлы изображений. Так вот, там тоже много мусора. Дело в том, что Вордпресс автоматически добавляет к вставляемым в посты картинкам 2-3 копии разных размеров. Поэтому неиспользуемые файлы можно удалить и, тем самым, значительно освободить дисковое пространство хостинга. Речь идет уже не о 9 МБ, а о сотнях и даже больше. Поверьте, лишние изображения занимают очень много места, особенно, если картинок большое количество. Вот, как это выглядит у меня на примере одного изображения.
Как видите, нужная картинка весит 28 КБ, а две ее копии, которые совершенно ни к чему, занимают еще 31 КБ места на хостинге, то есть размер увеличивается в 2 раза. Поэтому, когда вес папки с блогом станет критическим, вспомните, что его можно значительно снизить простым удалением копий файлов изображений. Только смотрите внимательно, иногда разные размеры бывают нужны. Например, для миниатюр.
Можно для удаления лишних картинок использовать специальный плагин DNUI Delete not used image .
Откуда взялись ненужные файлы?
Честно говоря, меня не особо волнует этот вопрос, но некоторые мысли есть. Скорее всего, эти архивы попадают в папку Uploads при установке тем и плагинов Вордпресс напрямую из админпанели. Раньше я пользовался именно этим способом. Архив загружается на хостинг, его файлы распаковывается в нужную папку, а он сам так и остается в папке загрузки.
Хотя сейчас попробовал для интереса установить пару плагинов через админку WordPress — ничего нового не появилось. К слову, мусорных файлов было не так много, так как за все время я устанавливал намного больше плагинов. Может не все из них оставляют после себя копии архивов? В любом случае, сейчас я загружаю файлы на хостинг через FTP соединение и ничего подобного не замечаю.
Какие у кого мысли на этот счет? Интересно, нашел еще кто-то в этой папке что-то не нужное? Поделитесь результатами своей проверки в комментариях.
Перенос сайта WordPress на другой хостинг
Вступление
Перенос сайта WordPress на другой хостинг задача, которая редко встает на пути. Да и если к этому прибавить, что большинство служб технической поддержки хостингов делают перенос сайта бесплатно, то вы вообще можете не столкнуться с ней. Но не зарекайтесь. Как показывает моя практика, даже техслужбе бывает, нужна ваша помощь на отдельных шагах переноса, да и завершить перенос лучше, чем вы, никто не сможет.
Шаги переноса сайта WordPress
Для получения удачного результата условно разобьем перенос сайта WordPress на несколько логичных шагов.
- Сделать копию сайта;
- Сделать дамп содержимого базы данных сайта;
- Прикрепить домен к аккаунту на новом хостинге;
- Создать новую базу данных на новом хостинге;
- Импортировать базу данных;
- Перенести каталог сайта на новый хостинг;
- Исправить файл wp-config.php;
- Поменять сервера доменных имен сайта (DNS);
- Проверить новый сайт и удалить (отключить) аккаунт на старом хостинге.
Сделать копию сайта
Для начала сделаем копию сайта. Сделать это можно в панели управления хостингом (DirectAdmin, ISP панели, и т.п.) через инструмент резервного копирования. Но лучше процесс контролировать и поэтому, сделайте копию сайта вручную с помощью FTP клиента, с которым вы работаете. Рекомендую программы FileZilla или WinSCP.
Через FTP клиент перекачайте все папки и файлы вашего сайта к себе на компьютер в отдельную папку. Нужны все папки и фалы сайта, которые находятся в корневом каталоге сайта, куда устанавливали WordPress. (в корневом каталоге большинство папок и файлов должно начинаться с wp-). Скорее всего это папка public_html или httpdocs . Скачивайте всё, что есть в корневом каталоге и только из него.
Сделать дамп содержимого базы данных сайта
Перенос сайта WordPress на другой хостинг требует копии (дамп) базы данных сайта. Сделать ее можно в phpMyAdmin хостинга. Войти в него можно только из панели управления хостингом.
Для входа в phpMyAdmin понадобятся учетные данные базы данных сайта: Имя базы данных, Имя пользователя БД, Пароль доступа. Они должны быть у вас, где нибудь записаны с момента установки WordPress. Если нет, не беда. Их можно легко восстановить. Для этого откройте файл wp-config.php через FTP клиент или в файловом менеджере панели управления хостингом и найдите в нем следующие строки:
Учетные данные базы данных восстановлены, переходим в phpMyAdmin в панели управления хостингом.
Проходим окно авторизации.
Экспорт базы данных
С дампом (копией) базы данных следующая история. Сделать копию базы данных можно многими способами (Программа mysqldump , скрипт Sypex Dumper Lite, скрипт Staggered MySQL Dump Importer, Программа Navicat) . Но так как мы вошли в скрипт phpMyAdmin, то и будем делать копию БД при помощи инструментов php MyAdmin. Этот вариант работает, только для сайтов не гигантского объема.
Дальше не сложно:
В phpMeAdmin, слева выберите нужную базу данных.
Вверху жмем вкладку «Экспорт»
В открывшемся окне настроим параметры экспорта:
- Выбираем все таблицы БД;
- Ставим галочку «SQL» формат файла БД;
- В чекбоксе «Упаковать» можно оставить не сжимать или сжать БД. Если предполагаемый объем БД менее 2 Мб можно не сжимать. Нужно это для последующего импорта БД. По умолчанию, максимальный размер файла для импорта 2,048МБ.
- Нажать кнопку «ОК».
Если базу данных не сжимать, в следующем окне видим дамп своей БД.
Это текстовой файл. Выделяем содержимое файла быстрыми клавишами Ctrl+A и копируем Ctrl+C . Открываем «любимый» текстовой редактор (например, Notepad++), вставляем скопированный файл и сохраняем файл БД в формате sql (Structured Query Language). Перед сохранением проверьте кодировку файла (вкладка «Кодировка» в редакторе). Файл БД должен быть в кодировке utf-8 без BOM. Всё, дамп содержимого базы данных сделан.
Не знаю по какой причине я в 2013 году привёл такой сложный вариант Экспорта базы данных. Копия делается в три шага:
- Откройте базу данных в phpmyadmin;
- Не выделяя чеки у таблиц нажмите кнопку «Экспорт»;
- Выберете сжатие базы данных (если нужно);
- Внизу нажмите кнопку действий (вперед или ОК).
- С картинками читать Резервное копирование WordPress, очень подробная статья.
Переходим к работе с новым хостингом.
Прикрепить домен к аккаунту на новом хостинге
На новом хостинге пройдите все шаги по покупке хостинга от регистрации до получения учетных данных для FTP соединения и входа в панель управления хостингом. (подробно читать ТУТ)
Импортировать базу данных
Непосредственный перенос сайта WordPress на другой хостинг начните с импорта базы данных. Для этого на новом хостинге создайте новую базу данных. Напомню, как это сделать:
- Войдите в панель управления хостингом;
- Войдите в MySQL и создаете базу данных с Именем базы, Именем пользователя и Паролем доступа.
- Далее из панели управления хостингом войдите в phpMyAdmin.
В phpMyAdmin нового хостинга нужно перенести (Импорт) содержимое своей базы данных, скаченной с старого хостинга в формате sql. Перед Импортом, настраиваем его параметры:
Проверяем название БД, выставленную кодировку utf-8 и формат SQL. Нажимаем «OK». В результате переноса вы увидите все таблицы своей БД.
Перенос сайта WordPress на другой хостинг по FTP
- Опять открываем FTP клиент. Только теперь соединяемся с новым хостингом.
- Переносим все ранее скачанные папки и файлы своего сайта в корневой каталог нового сайта на новом хостинге. Информацию куда устанавливать сайт найдете на новом хостинге.
- Сайт перенесен. Нужен файл wp-config.php для редактирования.
Исправить файл wp-config.php
Для удобства редактирования файла wp-config.php скачайте его и откройте в текстовом редакторе (например Notepad++).
Важно! Не редактируйте файл config.php в блокноте Windows и в редакторах Word.
В ниже следующих строках вставьте данные новой базы данных MySQL, сделанной вами на новом хостинге.
Файл сохраняете, и закачивайте обратно на сайт по FTP с условием перезаписи.
В принципе сайт перенесен. Но если вы откроете его в браузере, то он откроется на старом хостинге, так как не сменены имена DNS серверов (сервера доменных имен). Чтобы завершить перенос сайта WordPress на другой хостинг, нужно поменять DNS сервера к которым прикреплен ваш домен.
Поменять сервера доменных имен (DNS) сайта
Здесь два принципиальных варианта смены серверов доменных имен. Все зависит, кто управляет доменным именем вашего сайта.
Первый вариант если ваше доменное имя, будет управляться новым хостингом. То есть вы прикрепляете свой домен к DNS серверам нового хостинга. В этом случае адреса DNS серверов меняются у регистратора. Найти названия DNS серверов нового хостинга можно в панели управления хостингом.
Входите в Панель управления хостингом;
Здесь ищите DNS записи доменных имен. У каждой панели это в своем месте. Найти не сложно, выглядит это так.
Интересует «Запись» «Тип» NS. Их должно быть, как минимум две. Если в записях их нет, обратитесь в тех службу хостинга, пусть сообщат. Имена DNS серверов хостинга имеют такой вид:
Далее «идете» к своему регистратору домена. Открываете управление доменом, далее выбираете нужный домен и пункт управление dns серверами или что-то похожее. И вместо DNS серверов старого хостинга прописываете DNS сервера нового хостинга.
Второй вариант если доменное имя управляется регистратором. Делаете все тоже самое, как в первом варианте, только наоборот. На хостинге в управлении DNS прописываете адреса DNS серверов регистратора.
Это два основных варианта прописки DNS серверов. Но хостинги разные и каждый хостинг рекомендует свой вариант управления доменом.
По общепринятым меркам новые параметры DNS прописываются около 72 часов (обычно быстрее).
Проверить новый сайт
В течение суток периодически проверяйте, поменялись ли DNS сервера сайта. Для этого есть масса on-line инструментов (например http://www.cy-pr.com/tools/dns/ ), которые расскажут все о вашем сайте, в том числе всю информацию о DNS серверах сайта. Вот пример, как это выглядит.
Смена DNS серверов происходит от 3 часов до суток. Если адреса DNS поменялись и сайт работает на новом хостинге, можно удалять свой домен со старого хостинга. Сделать это нужно обязательно. На этом, про перенос сайта WordPress на другой хостинг все!
Ошибки переноса и их исправление
Разберем некоторые основные ошибки возникающие при переносе сайта WordPress.
Возможные ошибки
- Пропали статьи и/или категории сайта,
- Вместо текста крякозябры или знаки вопроса,
- Вместо сайта надпись «Невозможно соединиться с базой, ошибка в строке 2»;
- Белый экран, вместо сайта;
- Ошибка на сервере Apache, порт 80.
Исправления ошибок
- Проверьте кодировку файла БД (utf-8 без BOM),
- Проверьте кодировку таблиц перенесенной БД (utf-8-general-ci),
- Проверьте данные внесенные в файл wp-config.php. особо обратите внимание на название сервера MySQL. На новом хостинге он может отличаться от localhost;
- Еще не переключились DNS сервера.
Фатальная ошибка
Фатальной ошибки у вас не может быть. У вас есть резервная копия сайта и базы данных, а значит вы можете снести сайт и восстановить его любое количество раз до полной удачи.
Руководство по миграции WordPress-сайта
Каждый веб-разработчик регулярно сталкивается с задачей миграции. Сюда входят и развёртывание (deploy) локальной версии на удалённом сервере, и перенос работающего сайта с одного сервера на другой. Некоторые печатные издания для программистов называются «Cookbook» – что буквально значит «книга рецептов». Рецептов множество, какой из них лучший — дело вкуса. В этом материале автор расскажет о том, какую технологию переноса типичного сайта на WordPress он считает оптимальной, и почему.
Также данный материал подойдёт для тех, кто хочет узнать больше о резервном копировании сайта и последующем его восстановлении. Потому как по сути это два необходимых шага для осуществления миграции.
Резервное копирование данных
С технической точки зрения нам предстоит сделать копии двух составляющих сайта:
- Файловой системы
- Базы данных
Каждый веб-разработчик должен заботиться о сохранности данных веб-сайта. Поэтому, как правило, после того как рабочая версия развёрнута на удалённом сервере, разработчик сайта настраивает резервное копирование данных или «бэкап» (от англ. «backup copy», резервная копия).
Иногда заботу о создании резервных копий проявляется хостинг-компания. Чаще всего это случается, когда вы пользуетесь услугой простого хостинга сайтов.
В чём главная цель разработчика при переносе сайта с одного сервера на другой? Ничего не потерять. То есть на новом месте сайт должен быть полностью идентичен тому же сайту на старом.
Перво-наперво, вы должны убедиться в том, что после создания резервной копии сайта на нём не будут производиться какие-либо изменения.
Самый простой путь — обратиться ко всем редакторам сайта с просьбой не вносить изменения в содержимое сайта на время переноса (допустим, на ближайшие полчаса). Если, например, вы ведёте блог на WordPress, то договариваться с кем-либо нет необходимости.
В случае, когда такой возможности нет, необходимо перевести сайт в режим обслуживания.
Режим обслуживания
Вы могли заметить, что когда WordPress обновляет плагины или ядро системы, посетители сайта видят вместо его содержимого белый фон и поверх большой заголовок «Сайт ненадолго закрыт на техническое обслуживание. Зайдите через минуту.».
Как принудительно перевести в него сайт?
Для этого необходимо в корне сайта создать файл под названием .maintenance и разместить в нём следующий PHP-код:
В принципе, этого будет достаточно для того, чтобы никто (кроме администратора сервера) не смог пользоваться сайтом.
Однако, если вы хотите сделать страницу более привлекательной, можете создать в папке wp-content файл maintenance.php , который будет загружаться вместо исходного текста. В нём вы можете сверстать какую угодно картинку для поджидающего окончания работ пользователя.
Также можно порекомендовать специальный плагин, которые можно использовать в тех же целях:
Теперь, когда мы точно знаем, что никакие данные в течение процесса миграции изменены не будут, можем приступать к создании резервной копии базы данных.
Резервная копия базы данных
Способов создания резервной копии базы данных WordPress существует несколько:
- При помощи плагинов WP-DB-Backup, WP Database Backup и прочих.
- При помощи браузерной утилиты phpMyAdmin
- При помощи консоли сервера
- При помощи панели хостинга
С целью экономии места в посте не буду рассказывать про первые два способа, они достаточно тривиальны.
Если у вас есть доступ к консоли сервера, и вы умеете пользоваться терминалом — это заметно ускорит работу.
Прежде всего потому, что создании резервной копии выполняется одной единственной командой:
По-хорошему будет заархивировать дамп базы на ходу:
Текстовые файлы, коим является дамп базы, архивируются наилучшим образом. Размер архива может быть значительно ниже размера дампа базы. Это важно при переносе, т.к. 100Мб перенести куда быстрее, чем 1Гб, например.
Некоторые хостинг-компании предоставляют возможность архивирования данных сайта через панель управления услугами:
После чего на почту приходит заархивированная копия базы данных и сайта.
Однако, далеко не каждый хостинг предоставляет подобные возможности клиентам, поэтому если данный вариант присутствует — удобнее всего пользоваться им.
Резервная копия файлов
Файловая система WordPress обычно выглядит следующим образом (без поддиректорий и их содержимого):
В принципе, больше всего нас интересуют папка wp-content и конфигурационный файл wp-config.php .
Прежде всего потому, что все остальные папки и файлы у различных установок WordPress (в случае использования последней версии системы) не отличаются друг от друга.
Важно: самый быстрый способ переноса файлов — создание архива, перенос архива и последующая разархивация на конечном сервере.
WordPress состоит из сотен файлов. В случае, когда вы продолжительное время ведёте сайт, к этому прибавляются ещё все загруженные вами изображения, плагины и темы.
Представьте себе перенос по FTP тысячи или даже нескольких тысяч маленьких файлов. Для переноса каждого из них требуется сначала установить, а потом разорвать соединение. В итоге процесс получается долгим и иногда случается что-либо потерять в пути. Тем более, когда файлы переносятся сначала на локальный компьютер, а потом уже — на новый удалённый сервер.
Используя для переноса архив, вы перемещаете всего 1 файл. Да, он много больше размером, но за счёт того, что требуется всего лишь одно соединение с сервером, перенос совершается быстрее. При текущих скоростях доступа к сети Интернет разница во времени может составлять десятки, сотни раз.
Настоятельно рекомендую для транспортировки большого скопления мелких файлов использовать архив в роли контейнера.
Так можно использовать консольные утилиты наподобие rsync , но для этого необходимо иметь навыки работы с консолью севера. Несколько обучающих материалов по теме на англ. — одна и вторая.
Восстановление данных
Итак, архив файлов сайта и дамп базы данных перенесены на новый сервер.
Воссоздание файловой структуры
Первым делом необходимо распаковать архив таким образом, чтобы полностью восстановить исходную структуру файлов и папок.
Чтобы восстановить исходную структуру и не напортачить с папками, необходимо руководствоваться следующим правилом:
Распаковывать архив необходимо там же, где он был создан.
Например, если вы сжимали сайт при помощи консольного архиватора из корня сайта zip -r «full-backup.zip» * , то и распаковывать на новом сервере его необходимо также в корне сайта unzip full-backup.zip .
Обратите внимание, что невидимые файлы, коим является .htaccess не всегда архивируются вместе с остальными. Поэтому, если на вашем новом сайте не работают «красивые адреса», первым делом проверьте, перенесли ли вы .htaccess в корень сайта.
Не забудьте удалить архив с файловой структурой сайта с сервера, чтобы его не могли скачать посторонние.
Воссоздание базы данных
Прежде чем восстанавливать базу данных, необходимо убедиться, что на новом сервере уже создана соответствующая новая база данных.
Если же её ещё нет, то создать новую базы данных можно разными способами:
- Через веб-интерфейс при помощи утилиты phpMyAdmin
- Через панель управления хостингом
- Через консоль сервера следующей командой:
В результате мы должны иметь на руках:
- Имя базы данных
- Имя пользователя
- Пароль
В некоторых случаях, когда база данных находится на другом сервере, нам необходимо ещё знать адрес хоста (обычно — localhost, если на той же машине).
Используя эти данные мы должны импортировать наш дамп базы данных.
Опять-таки, сделать это мы можем теми же средствами.
В phpMyAdmin выбираем базу данных, вкладку «Импорт», выбираем файл дампа и отправляем форму запроса.
Если вы работаете через консоль, используйте команду mysql -u[имя_пользователя] -p[пароль] [имя_базы_данных] .
В случае, если дамп базы данных был заархивинован: gunzip .
Не забудьте удалить дамп базы данных с сервера или перенести его в безопасное место, в случае, если он там был.
Настройка файла конфигурации
Теперь необходимо открыть в редакторе файл wp-config.php и установить соответствующие настройки для соединения с новой базой данных:
Не забудьте удалить файл .maintenance из корневой папки сайта.
Остаётся только проверить работоспособность сайта!
Заключение
Надеюсь, что данное руководство пригодится тем, кто ещё только озаботился вопросом миграции WordPress-сайта и ищет ответов на вопросы.
Вероятно, более опытные веб-разработчики захотят поделиться с коллегами собственными наработками по теме.
Что же, для этого и созданы комментарии. Поэтому любые советы, дополнения и просто обмен опытом категорически приветствуются.
P.S. Важное дополнение в комментарии от nik_vr:
При переносе с localhost’а на реальный сервер нельзя забывать про адрес сайта. Смена домена с одновременным переносом по вашей инструкции сделает сайт абсолютно неработоспособным. По-этому в инструкцию стоит добавить ещё один шаг (актуальный при смене домена, в т.ч. — при переносе с локального сервера на боевой). Для примера будем считать, что сайд переносится с домена mysite.local на домен mysite.ru.
В сохранённом дампе базы данных WordPress ищем все вхождения mysite.local и заменяем на mysite.ru. Можно это сделать в любом нормальном текстовом редакторе (например, Notepad++). После замены аккуратно сохраняем БД, не забывая о кодировке (в случае с более или менее современными версиями WordPress нужна кодировка UTF-8 без BOM).
После импорта базы данных можно выполнить следующую MySQL-команду:
Как изменить папку для загрузки в WordPress
Необходимо изменить стандартный путь для загрузки файлов в WordPress. (По умолчанию: wp-content/uploads ).
Раньше можно было просто указать нужный адрес во вкладке настроек (Загрузка файлов -> Сохранять файлы в этой папке ). Начиная с версии 3.5 эту возможность убрали.
Самый простой способ, это добавить в файл wp-config.php следующие строчки:
Тогда путь к файлам станет: http://вашсайт.ru/files/
Как убрать год и месяц из адреса?
Переходим в раздел Параметры — Медиафайлы и снимаем галочку у «Помещать загруженные мной файлы в папки по месяцу и году».
Это самый простой способ изменить директорию у загружаемых файлов.
Еще один способ
Этот способ отличается тем, что позволяет изменить папку только для текущей загрузки. К примеру, на сайте мы загружаем файлы программ и скриншоты к ним. Пусть файлы программ хранятся в папке /wp-content/uploads/file/ в корне сайта, а картинки пусть грузятся по-умолчанию.
Возможные проблемы
Есть большая вероятность, что со сменой пути для загрузки, все медиафайлы, загруженные ранее, перестанут работать.