Домой / Faq / Wordpress как перенести тему. Возможные ошибки, связанные с переносом WordPress блога. Изменение домена в настройках Вордпресс

Wordpress как перенести тему. Возможные ошибки, связанные с переносом WordPress блога. Изменение домена в настройках Вордпресс

Сегодня я расскажу о переносе сайта на WordPress с хостинга на хостинг или c хостинга на денвер, а так же на новый домен или в другую папку.
Содержание статьи:

Почему возникает проблема переноса WordPress сайта

Рано или поздно каждому из нас приходится столкнуться с переездом, для этого существует ряд причин. Самая распространенная из них – недовольства хостингом, когда терпеть уже нет сил, начинаешь думать о смене хостинг-провайдера. Хотя в этом случае проще оставить заявку в техподдержку на перенос вашего сайта (любой приличный хостинг предоставляет такую услугу бесплатно). Мне приходилось менять хостинг сотню раз, пока однажды, наконец, не повезло, теперь я пользуюсь хостингом и вам советую.

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

Да мало ли какие причины заставили вас заняться переносом сайта на вордпресс. Лично мне понадобилось развернуть локальную версию сайта у себя на денвере (читайте ), потому что работать с локальным сайтом быстрее и удобнее. На нем можно экспериментировать с настройками блога и плагинами, не боясь за работоспособность сайта. Поэтому я советую каждому иметь локальную версию, пусть будет.

Перенос WordPress на другой хостинг 1. Скачиваем файлы сайта и базу данных со старого хостинга

Способ №1:

Зайдите на старый хостинг, чтобы сделать бэкапы текущего состояния файлов и базы данных. Обычно по готовности бэкапы сохраняются в корневом каталоге хостинга в заархивированном виде.

Чтобы попасть в эту папку, можно зайти по FTP (я использую программы Total Commander или File Zilla) или через файловый менеджер хостинга (этот способ удобнее, как мне кажется). Скачайте полученные архивы к себе на компьютер. Распакуйте базу данных.

Если по какой-то причине вы не смогли сделать бэкапы, существует второй способ:

Далее зайдите в раздел управления базами данных вашего хостинга, выберите phpMyAdmin. В колонке слева выберите название вашей базы данных из списка. Перейдите на вкладку Экспорт (Export) и щелкните Ок(Go). Сохраните сгенерированный файл.

Итак, дамп БД в виде файла с расширением.sql и архив со всеми файлами блога находятся на нашем компьютере и готовы к переносу на другой хостинг.

2. Перенос данных с компьютера на новый хостинг

В разделе «базы данных» нового хостинга добавьте нового пользователя БД и новую БД, придумайте ей пароль и запомните его. У меня это выглядит так:

Внимание! Если вы так же меняете доменное имя, то сейчас необходимо выполнить пункт « », затем вернитесь и продолжайте по порядку.

Откройте phpMyAdmin, найдите в списке слева вашу базу данных, перейдите на вкладку Импорт (Import). Закачайте ранее скачанный на компьютер дамп базы данных с разрешением.sql и нажмите ОК (Go).

Теперь залейте архив с файлами на ftp и разархивируйте его. Следите, чтобы в итоге файлы оказались в правильной папке, на моем хостинге это папка public_html, так же она может называться httpdocs, www или иначе, в зависимости от хостинга. Проверьте, чтобы эта папка была пустой, прежде чем распаковывать в нее архив.

3.Настройка соединения с базой и установка прав

Найдите в корне сайта файл wp-config.php. Поменяйте в нем данные подключения к базе данных на новые:

/** Имя базы данных для WordPress */ define("DB_NAME", "имя_вашей_базы_данных"); /** MySQL имя пользователя */ define("DB_USER", "имя_пользователя_базы_данных"); /** MySQL пароль базы данных */ define("DB_PASSWORD", "пароль_к_базе_данных");

Установите права (атрибуты) 777 для папки wp-content/uploads и всех вложенных папок. Это делается по ftp или в файловом менеджере:

Привязка вашего домена к новому хостингу

Ваш сайт должен начать работать на новом хостинге, но вы пока не можете этого проверить, т.к. домен до сих пор ссылается на старый хостинг. Чтобы исправить эту ситуацию:

  • Узнайте у нового хостера его DNS сервера. Обычно они написаны в письме, отправленном вам на почту при регистрации хостинга.
  • Зайдите в личный кабинет своего регистратора доменов — сайт, где вы покупали домен. Я пользуюсь 2domains.ru и расскажу, как это делается там. Найдите раздел «Управление DNS-серверами» и измените DNS-сервера на новые:

Теперь нужно подождать, пока изменения вступят в силу и домен привяжется к хостингу. Это может занять до трех суток, но как показывает опыт, через пару часов вы уже сможете загрузить ваш сайт.

Если вы не переезжаете на новый домен, для вас урок окончен. Если сайт не заработал, посмотрите .

Перенос WordPress на другой домен, папку

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

1. Работа с базой данных

Когда вы скачали дамп базы данных со старого хостинга, надо открыть ее в редакторе (я пользуюсь Dreamweaver) и заменить все упоминания о старом домене на новые:

Есть еще один способ: когда вы импортируете базу данных, зайдите на вкладку SQL совершите три запроса:

UPDATE wp_options SET option_value = REPLACE (option_value, "https://old_domain.ru", "https://new_domain.ru") WHERE option_name = "home" OR option_name = "siteurl";

UPDATE wp_posts SET guid = REPLACE (guid, "https://old_domain.ru", "https://new_domain.ru");

UPDATE wp_posts SET post_content = REPLACE (post_content, "https://old_domain.ru","https://new_domain.ru");

2. Изменения в.htacces и robots.txt

Найдите такие файлы в корневом каталоге сайта, найдите в них упоминания имени вашего старого домена и замените на новое.

3. Изменения в файлах сайта

Замечу, что этот пункт не обязательный. Если у вас все заработало, то его можно пропустить. Иногда бывает, что в теме ворпресс тоже закрадываются абсолютные ссылки на старый домен и их нужно заменять.

Можно распаковать архив с файлами вашего сайта и выполнить поиск по всем этим файлам на наличие в них старого домена. Аналогично работе с базой, смените старые ссылки на новые. Ура, с переносом wordpress на другой домен покончено.

Перенос сайта в другую папку

Если вам нужно перенести блог в другую папку (например, domain.ru/blog), внесите следующие изменения в.htaccess (изменения выделены жирным):

# BEGIN WordPress
RewriteEngine On
RewriteBase /blog /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog /index.php [L]
# END WordPress

Возможные ошибки, связанные с переносом WordPress блога

На случай, если ваш сайт не заработал, привожу примеры типичных ошибок. Если вашей ошибки нет в списке, оставьте комментарий, я с радостью дополню этот список:)

  • Error establishing a database connection. Такая ошибка случается, если неверно введены данные вфайле wp-config.php.
  • Открылась страница с установкой WordPress. Подобная ситуация могла возникнуть из-за ошибки импорта базы данных. Попробуйте удалить все таблицы базы и заново импортировать дамп.
  • Вы видите страницу вашего хостинг-провайдера с приветствием. Причиной может стать то, что вы не очистили папку public_html (httpdocs), прежде чем распаковать в нее архив. Удалите файл index.html.
  • Forbidden. You don"t have permission to access / on this server. Возможно, вы залили файлы сайта в неправильную папку.
  • Сейчас, поддерживая около 17% сетевого контента, WordPress стремительно становится наиболее предпочитаемой CMS для среднестатистического пользователя. Но что делать с сайтами, созданными с устаревшей CMS, или без нее вообще? Означает ли переход на WordPress то, что вам придется начать все сначала и потерять уйму времени, энергии и денег, которые вы вложили в этот веб-сайт? Нет!

    Перенос сайта (включая дизайн) на WordPress гораздо проще, чем вы думаете. В этом уроке мы покажем процесс переноса на примере нашего проекта. Мы также рассмотрим некоторые вопросы, с которыми вы возможно столкнётесь, и найдём на них ответы.

    Подробнее, об этом уроке

    Перед тем, как мы примемся за работу, давайте обозначим некоторые моменты. Во-первых, этот гайд был написан для новичков и будет наиболее полезен для простых веб-сайтов. Некоторые из вас, возможно, столкнутся с продвинутыми аспектами миграции на WordPress, но эта инструкция в этом вряд ли чем-то поможет. Если зависли на каком-нибудь моменте связанном с более продвинутым переносом, то опишите свою проблему в комментариях.

    Цели

    Данный урок призван помочь вам со следующим:

    Предположения

    Я надеюсь, что вы имеете начальное предоставление о работе с WordPress. Опыт работы с WordPress может быть полезным, но не является необходимым. Я также предполагаю, что у вас есть веб-сайт и дизайн, который вы хотите перенести на wordpress.

    Первые шаги
  • Оцените веб-сайт . Внимательно просмотрите страницы на вашем существующем веб-сайте и определите тип контента (стандартные страницы, фотогалереи, страницы ресурсов и т.д.), обратите внимание на любую информацию, которую можно посчитать важной.
  • Подготовьте среду . Настройте WordPress и приготовьтесь к импорту.
  • Импортируйте контент . Перенесите и организуйте ваш контент через утилиту импорта, вручную (для небольшого количества контента, когда утилиты недоступны) или через настраиваемый процесс переноса.
  • Перенесите дизайн . Встройте свой существующий дизайн в предустановленную тему WordPress.
  • Проверьте веб-сайт и начинайте . Внимательно проверьте результат импорта, подправьте, где необходимо, установите редиректы URL и начинайте!
  • С этим планом в голове давайте начнём прорабатывать каждый шаг подробно.

    Начните с плана

    Ключом к успешному переносу является внимательная оценка вашего нынешнего сайта. Вам нужно понять как импортировать и структурировать контент в wordpress перед тем, как переносить его туда. В то время, как принципы переноса являются одинаковыми, детали часто различаются. Ниже приведены два списка вопросов, которые необходимо себе задать во время разработки плана.

    Импортируемый контент
    • как много контента необходимо импортировать (количество страниц, изображений)
    • можно ли ваш контент перенести вручную, или вам необходима утилита
    • если вам необходима утилита, то существует ли она
    • может ли контент определен в обычные «посты» или «страницы», или необходима настройка
    • должен ли дополнительный контент располагаться на определенных страницах
    • изменится ли структура URL. Если да, то необходимо ли перенаправление со старых URL-адресов
    Существующая функциональность
    • включает ли веб-сайт сторонние сервисы (данные и т. д.)
    • необходимо ли перенести формы (контактные формы, формы для заявлений и т. д.)
    • есть ли ограничения контента (например, только для зарегистрированных пользователей)
    • продает ли веб-сайт продукцию (виртуальную или реальную)
    • необходимо ли перенести отдельные администраторские настройки
    Рабочий пример

    Мой брат решил пожертвовать свой сайт для примера: его проект продает постеры и открытки компании вегетарианской еды. Он построил сайт на простом HTML, с вставками PHP базового уровня для шапки и нижнего колонтитула. Ниже представлен скринкаст, где я изменяю этот сайт, чтобы вы поняли процесс работы. Наслаждайтесь!

    Установка WordPress

    Перед тем, как импортировать контент, нам необходимо подготовить WordPress. Если вы просто экспериментируете или предпочитаете оффлайн разработку, начните с установки wordpress. Если же нет, то следующим шагом будет установка wordpress на сервер вашего хостинг-провайдера. Или вы можете использовать процесс переноса как отличную возможность перейти на новый хостинг.

    После того, как wordpress настроен и запущен, вы можете начинать работу!

    Для нашего примера, мы установили wordpress на тот же хостинг, в директорию /wp для продолжения процесса переноса.

    Настройки и плагины

    С установленным wordpress нам остается сделать минимальные поправки:

    • Обновите постоянные ссылки . Кликните «Настройки->Постоянные ссылки» , чтобы внести изменения. В большинстве случаев я просто изменяю постоянные ссылки на «postname» .
    • Обновите пользователей . Я создал аккаунт андимистраторского уровня для себя и для любого администратора или редактора, что необходимы для клиентов и партнеров. Я также убираю дефолтное имя пользователя «admin» , если оно существует.

    В зависимости от целей проекта, нам может понадобится переустановить плагины. Здесь описаны основные категории плагинов.

    • Управление формами . Перенос форм так, как они есть может превратить все в хаос. Простое создание форм с нуля гораздо проще. Моим фаворитом является gravity forms . Другие варианты — это formidable и contact form 7 .
    • Управление SEO . SEO — очень деликатное явление. Смысл моей работы заключается в создании контента для людей, а не для поисковых систем. Поэтому, существует адекватный подход к SEO, поддерживаемый экосистемой wordpress. И если на вашем старом сайте есть пользовательские мета-описания, необходимо их перенести без потерь. Для этого поможет wordpress SEO .
    • Множество языков . Если ваш сайт поддерживает несколько языков, у WordPress есть решение. Мой выбор — плагин WPML . Еще одним решением может стать qTranslate .
    • Безопасность . Безопасность на WordPress — это хорошо знакомая мне тема. Возрастающая популярность WordPress сделало его неплохой целью для различного рода атак. Сам WordPress редко является проблемой, в основном она кроется в плохо охраняемой хостинговой среде и устаревших или плохо разработанных плагинах. Для большинства своих проектов я использую регулируемые хостинги WordPress, которые предлагают неплохие стандарты безопасности. В ряде опций можно назвать WPEngine , ZippyKid , Pagely и Synthesis . В добавок в регулируемому хостингу обратите внимание на плагины безопасности, такие как Better WP Security или WordFence.
    • Бэкапы . Если вы выбрали управляемый хостинг, то бэкапы обычно включены. Если вы сами делаете бэкап или вы хотите дополнительный слой защиты для данных, то есть отличные варианты, как например, VaultPress, CodeGuard, BackupBuddy, BackWPup .
    Импорт контента

    Итак, мы запустили и настроили WordPress, теперь самое время перенести весь ваш контент.

    Если у вашего старого сайта есть CMS, вам может быть доступна утилита. Начните искать скрип для переноса контента в Кодексе. Ели есть совпадение — здорово! Следуйте инструкциям и принимайтесь за работу. Если всё хорошо, то вы перенесёте свой сайт без каких-либо проблем.

    Если вашей CMS нет в списке или у вас нет CMS и у вас менее 100 страниц, тогда пригодится ручной перенос. Копируйте и переносите контент, записывая старые URL.

    Если у вас пользовательские CMS или база данных записей без инструмента переноса, а также большой объем контента, вы можете привлечь специалиста для переноса содержимого перед тем, как начать. Чем больше объем контента, тем выше вероятность человеческой ошибки и тем важнее автоматизация процесса.

    В нашем случае, мы перенесли контент вручную и заменили существующую навигацию меню WordPress. Вы сможете посмотреть процесс в этом скринкасте.

    Перенести дизайн

    Теперь настало время перенести на WordPress наш дизайн. Если вы хотите обновить внешний вид сайта, тогда стоит приглядеться к множеству отличный тем WordPress в официальном хранилище и сторонних магазинах, например ThemeForest и Creative Market. В нашем случае, представим, что вы полностью довольны дизайном.

    Оценка дизайна

    Оцените исходный код будущего дизайна как можно лучше, перед тем как сражаться с переносом. Если код основан на таблице или более сложный, чем тот, с которым вам комфортно работать, то результат может не стоить затраченных усилий. Когда все возможно, не все практично.

    Работа с исходным кодом

    Следуя своему опыту, могу сказать, что наиболее простой способ переноса дизайна — это работа с исходным кодом в браузере. Хотя доступ в хостинговой среде может быть полезно (особенно при работе с изображениями и скачиваемыми файлами), однако способы построения веб-сайтов настолько различаются, что вам придется переделывать оригинальную архитектуру, чтобы добиться чего-либо полезного.

    Прямая работа с исходным кодом сэкономит ваше время, покажет скрытые полезные функции и предоставит вам все, что нужно. Я пользуюсь браузером Google Chrome.

    Создание пользовательской темы

    Если вы в этом новичок, просмотрите информацию об использовании тем в Кодексе. Для процесса переноса вы можете создать новую тему WordPress с нуля, или изменить уже существующую тему, чтобы она соответствовала вашим вкусам. Я советую второй способ.

    Большинство моих проектов переноса начались с последних версий предустановленных тем WordPress. Недавно я удалил исходную тему, чтобы создать мою тему, которую я буду использовать в нашем примере и, которую вы можете сами использовать. Давайте начнем работу!

    Скачайте копию (zip) шаблона для переноса или продолжайте со своей темой, на выбор.

    Стиль страницы.

    Нашим первым шагом будет перенос стилей со старого сайта. В большинстве случаев это не сложнее, чем поиск в исходном коде соответствий на.css:

  • Откройте style.css.
  • Замените детали в теме (имя, URL, описание и т. д.) на ваши собственные.
  • Вставьте стили со старого сайта.
  • Заметка по поводу картинок

    Если вы переносите стиль страницы, найдите и обновите любую информацию об изображениях. В общем, мне нравится держать все изображения в папке /images/ в директории темы. Чаще всего необходимо менять расположение изображений в оригинальной CSS, и я удостоверился, что поменял все ссылки и шаблоны соответственно.

    Заголовок

    Следующим шагом будет создание заголовка для нашей новой темы. Нашей целью будет совместить структуру текущего кода с шаблонами WordPress. Вот что нам стоит сделать:

    • Скопируйте HTML структуру старого сайта.
    • Замените статическое меню на меню, поддерживаемое WordPress.
    • Используйте тэг WordPress title и оставьте wp_head на месте.
    • Вставьте другие важные теги из старого заголовка.

    Давайте взглянем на код!

    Оригинальный HTML Vegan Food Pyramid posters, postcards and wallpapers Vegan Food Pyramid Подогнанный заголовок (header.php) try{Typekit.load();}catch(e){} Объяснение

    Одной из проблем переноса является определение того, стоит ли улучшать код по мере продвижения. У нашего проекта есть разделы, которые можно улучшить, но мы решили оставить все как есть. Большинство из вас будет работать с переносом дизайна, который не был предназначен для улучшений.

    Если время и возможности позволяют, я советую улучшить код . Или же свыкнитесь с мыслью, что с сайтом на WordPress внести изменения будет гораздо проще.

    Давайте проработаем изменения, которые мы внесли.

    • Тип документа . Убедитесь, что вы перенесли тот же самый тип. В этом случае оригинальный html уже имеет доктайп HTML5 (относительно редкий случай на старых сайтах). Используя современный доктайп в коде, написанном для старого кода вы можете испортить шаблон.
    • Мета-теги . Я обычно переношу большую часть метатегов так, как они и есть, заменяя их в WordPress. Исключение в нашем случае составляет ссылка на файл стилей, вставляемая автоматически через wp_enqueue_style в файле functions.php .
    • Скрипты . Скрипты могут быть запутанными. Если скрипт находится на каждой странице (например, трекинговый скрипт, или скрипт шрифта), тогда необходимо разместить его в файле заголовка или нижнего колонтитула. Если необходимо, чтобы он появлялся лишь в отдельных местах, то подойдут теги условий. Лучше всего добавьте все скрипты в заголовок через wp_enqueue_script . Если вы готовы принять вызов, то я советую вам этот способ.
    • wp_head . Оставьте внизу тега в файле header.php . WordPress также использует wp_head, чтобы расставить скрипты и файлы стилей, используемые в теме и в плагинах, что вы установили. Без wp_head большинство плагинов просто не будут работать.
    • Body_class . Обратите внимание на использование тега . WordPress использует это, чтобы предоставить ряд полезных классов к тегу пока вы присматриваете страницу. В нашем примере они не используются. Ваши должны иметь уникальные ID или классы на каждой странице, в этом случае вам нужно создать произвольные функции используя теги условий, чтобы добавить соответствующие классы для каждой страницы.
    • Меню WordPress . Переход на меню WordPress является одним им самых сложных задач в переносе. Он будет у нас довольно прямолинейный. У нас есть простое меню, которые использует класс active (сгенерированый через PHP), чтобы показать, какую страницу посещает пользователь. Функция wp_nav_menu очень гибкая и предлагает встроенную функциональность, чтобы обрабатывать текущее состояние элемента в меню. Я обновил условия в файле стилей на active и изменил их, чтобы они использовали эквивалент, сгенерированный wp_nav_menu , который является current-menu-item . Смотрите скринкаст о переносе контента, чтобы понять, как настраивать меню на нашем примере.

    Вот и готова оболочка. Давайте приступил к следующему шагу.

    Подвал

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

    Оригинальный HTML

    © 2013 VeganFoodPyramid.com

    Подогнанный футер (footer.php)

    © VeganFoodPyramid.com

    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); document.write(unescape("%3Cscript src="" + gaJsHost + "google-analytics.com/ga.js" type="text/javascript"%3E%3C/script%3E")); try { var pageTracker = _gat._getTracker("UA-6992755-1"); pageTracker._trackPageview(); } catch(err) {} Объяснение

    Некоторые подвалы сложно перенести (например, со сложными меню и виджетами), но в большинстве случаев это довольно просто. В нашем случае мы объединили HTML с нашим шаблоном подвала, оставляя обращение wp_footer . Мы также изменили ссылку на дату, чтобы использовать PHP и быть уверенными, что он обновляется каждый год.

    Домашняя страница

    Одна из проблем переноса — это то, что существует куча способов выполнить эту работу. Хорошим примером может служить домашняя страница, потому что она обычно наиболее отличается от остальной части сайта. Самый простой способ обычно самый верный. Я решил разместить весь контент с домашней страницы прямо в шаблоне. Изменять ее придется редко и это всегда можно будет сделать, изменяя шаблон.

    Давайте посмотрим на код без заголовка и футера, который мы уже перенесли.

    Оригинальный HTML Poster $30 each Buy Postcards $50 for 50

    Includes free shipping worldwide

    Buy Подогнанная главная страница /images/Vegan-Food-Pyramid-New.jpg">