Как перенести блог с Blogger на WordPress и не потерять PageRank и поисковый трафик

Переход с Blogger на WordPress

Гугловый Blogger появился давно. Это было очень круто и модно тогда: бесплатный, удобный (на тот момент так всем казалось) блог от матерого Google. Тогда же ходил слух о том, что блоги на гугловом хостинге легче раскрутить в самом Гугле. Наверно поэтому с 2009 года я стал вести свой сугубо технический-программистский блог там. Прошло несколько лет и пьедестал модной блог-платформы занял WordPress. Почему?

  • WordPress дает гораздо больше возможностей для оформления своего блога. Загляните в официальный каталог расширений, там дестяки тысячи плагинов и виджетов, большая часть из которых бесплатна.
  • WordPress блог на своем домене принадлежит только вам. Весь поисковый трафик попадает к вам на сайт, в раздел Блог. Из 100 случайных посетителей 10 наверняка прогуляются  по всему сайту.

Последний довод и сподвиг меня на перенос личного блога bytesoff.blogspot.com внутрь делового блога на «международном» сайте SkyCase  skycase.ru.

Задача: перенести блог с Blogger на WordPress, сохранив рейтинг постов в поисковиках и поисковый трафик

В моем случае это был блог на Blogger по адресу bytesoff.blogspot.com, а перенести его нужно было внутрь корпоративного сайта, на адрес skycase.ru/blog. Обратите внимание на эти адреса, они еще неоднократно встретятся ниже, в инструкции. Подумайте заранее, с какого адреса и на какой вы планируете переместить блог.

Кроме самих постов и их рейтинга, мы должны сохранить:

  • теги постов
  • комментарии к постам
  • RSS-подписчиков блога

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

Что не удастся перенести автоматически

  1. Blogger-пользователей, являющихся подписчиками вашего старого блога
  2. Страницы (именно страницы, не посты) Blogger-блога
  3. Изображения. Точнее, изображения будут отображаться в перенесенном на WordPress посте, но физически это будут ссылки на те ресурсы, где раньше хранились изображения.
  4. Некоторые элементы форматирования текста, например, monospaced-текст станет обычным
  5. Теги постов в Blogger’е импортируются в WordPress как категории

У меня есть только одна идея, как бороться с первым пунктом. Можно не терять старых подписчиков, если, импортировав все посты в новый WordPress-блог, вручную пройтись по старому Blogger-блогу, и переделать все посты на «репосты». Другими словами, оставить в каждом посте одно — два тизерных предложения, и поставить ссылку «Читать далее …», которая будет вести на новый блог. Конечно, каждый новый пост на WordPress-блоге нужно будет репостить на старом. Лично у меня было совсем немного Blogger-подписчиков, а еще очень не хотелось заниматься репостингом самого себя, поэтому инструкция ниже идет по пути «унеси с Blogger’а всё».

Кроме того, мой блог на Blogger, сугубо технический, всегда пестрел исходным кодом и прочим специальным текстовым оформлением. Так что последствия пунктов 2, 3, 4 я разгребал вручную целый вечер. Других вариантов я себе предложить не смог.

О чем еще стоит подумать перед тем как начать

Если сейчас, до переноса, всю нагрузку (на хостинг) блога на Blogger несет великий Google, то после переноса блога на ваш WordPress, все запросы будет отрабатывать ваш хостинг. Для моего блога с посещаемостью около 1000 человек в месяц здесь нет никаких трудностей. Но если (о, счастливчик!) ваш блог читают тысячи людей ежедневно, то такая нагрузка потребует серьезной работы по оптимизации WordPress. Да и обычный shared-хостинг, скорее всего, не потянет такого, и, возможно, вам придется поднимать свой собственный сервер с WordPress-ом. Это не страшно и не дорого, об этом я уже писал раньше в статье Делаем безопасный хостинг PHP-сайтов.

Как импортировать блог из Blogger в WordPress

Не стану рассказывать здесь о том, как установить и минимально-настроить WordPress. Будем считать ваш WordPress уже развернут и ждет. Пора начинать!

  1. Перед началом процедуры запрещаем поисковикам индексировать ваш WordPress блог. Если в процессе переноса блога поисковик обнаружит, что на вашем новом сайте появился контент, дублирующий старый блог, то есть риск нарваться на штрафные санкции, с естественным результатом — понижением рейтинга нового сайта.
    Чтобы этого избежать воспользуемся файлом robots.txt. Положить его надо в корень WordPress-блога, вот с таким содержимым:

    User-agent: *
    Disallow: /
    
  2. Будет удобным, если вы заранее определите, какой пользователь WordPress-блога будет назначен автором импортированный статей. Если у вас сейчас зарегистрирован только один admin, то я рекомендую создать нового и назначить автором его.
  3. Теперь можно спокойно и не торопясь импортировать Blogger-блог в WordPress-блог.
    1. Заходим в WordPress под пользователем admin (или под любым другим пользователем, наделенным административными правами
    2. Идем в Tools -> Import -> Blogger
    3. Если вы ранее не запускали импорт из Blogger в на этом WordPress-блоге, то сначала вам предложат установить плагин Blogger Importer. Соглашайтесь!
    4. После установки и активации плагина снова идем в Tools -> Import -> Blogger
    5. Нажимаем Authorize и разрешаем WordPress доступ к вашим блогам на Blogger
    6. Дальше нам покажут список блогов, доступных для импорта, выбираем нужный и жмем Import
    7. Когда импорт данных закончится, выбираем автора для свеже-влитых постов

    Сама процедура импорта моих 49 постов заняла около 3-х минут.

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

Как не потерять PageRank и поисковый трафик

Никому не хочется выбрасывать на свалку истории с таким трудом заработанный Google-авторитет. Чтобы не потерять PageRank, мы переведем на новый WordPress-блог весь трафик, идущий на старый Blogger-блог. Для этого:

  1. Заставим Blogger перенаправлять пришедшие к нему запросы на новый WordPress-блог
    1. Идем в панель управления старого Blogger-блога
    2. Открываем раздел Шаблон, проматываем в конец страницы
    3. Нажимаем на Вернуться к классическому шаблону, и, не смотря на предупреждения, выбираем классический шаблон
    4. В поле с кодом шаблона меняем текст, который там есть, на приведенный ниже код, заменив предварительно в ссылках «skycase.ru» на нужный вам домен
      <html>
      <head>
      	<script type="text/javascript">
      	 <mainorarchivepage>window.location.href='https://skycase.ru/blog/'</mainorarchivepage>
      	 <blogger><itempage>
      		window.location.href='https://skycase.ru/blogger/?q=<$BlogItemPermalinkURL$>'
      	 </itempage></blogger>
      	</script>
      
      	<mainpage><link rel="canonical" href="https://skycase.ru/blog/" /></mainpage>
      	<blogger><itempage>
      	 <link rel="canonical" href="https://skycase.ru/blogger/?q=<$BlogItemPermalinkURL$>" />
      	</link></itempage></blogger>
      </head>
      <body>
      	<div style="border:#ccc 1px solid; background:#eee; padding:20px; margin:80px;">
      	<p>This page has moved to a new address.</p>
      
      	<h1>
      		<mainorarchivepage><a href="https://skycase.ru/blog/"><$BlogTitle$></a></mainorarchivepage>
      		<blogger><itempage>
      		 <a href="https://skycase.ru/blogger/?q=<$BlogItemPermalinkURL$>"><$BlogItemTitle$></a>
      		</itempage></blogger>
      	</h1>
      	</div>
      </body>
      </html>
      

      Пояснения:

      • В строках 4, 10 и 20 фигурирует ссылка главную страницу нового WordPress-блога. Это означает, что человек, открывший главную страницу моего старого Blogger-блога bytesoff.blogspot.com, будет автоматически перекинут на главную страницу нового блога https://skycase.ru/blog/.
      • Строки 6, 12, 22 перекидывают пользователя, открывшего ссылку на пост в blogger-блоге, на WordPress блог, сохраняя в запросе адрес запроса-оригинала. Другими словами, пользователь, открывший ссылку
        http://bytesoff.blogspot.ru/2013/03/load-your-linux.html

        будет перекинут на

        https://skycase.ru/blogger/?q=http://bytesoff.blogspot.ru/2013/03/load-your-linux.html
    5. Сохраняем новый шаблон
  2. Научим WordPress обрабатывать запросы пользователей, переброшенных с Blogger
    Собственно, задача состоит в том, чтобы показать человеку, которого Blogger перекинул на URL вида

    https://skycase.ru/blogger/?q=http://bytesoff.blogspot.ru/2013/03/load-your-linux.html

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

    1. Делаем шаблон специальной страницы, которая будет обрабатывать запросы от Blogger. Для этого создаем файл blogger-redirection.php в самом верхнем каталоге активной WordPress-темы. Например, если ваш новый блог использует тему из комплекта TwentyThirteen, то файл blogger-redirection.php нужно сохранить как
      wp-content/themes/twenty-thirteen/blogger-redirection.php

      А вот и содержимое файла:

      <?php
      /*
          Template Name: Blogger Redirection
      */
      
      global $wpdb;
      $old_url = $_GET['q'];
      
      if ($old_url != "") {
          $bloggerPermalink = parse_url($old_url, PHP_URL_PATH);
      
          $q = "SELECT id FROM $wpdb->posts LEFT JOIN $wpdb->postmeta ".
              "ON ($wpdb->posts.ID = $wpdb->postmeta.post_id) WHERE ".
              "$wpdb->postmeta.meta_key='blogger_permalink' AND ".
              "$wpdb->postmeta.meta_value='$bloggerPermalink'";
      
          $postId = $wpdb->get_var($q);
          $new_url = $postId ? get_permalink($postId) : "/blog";
      
          header ("HTTP/1.1 301 Moved Permanently");
          header("Location: $new_url");
      } else {
          global $wp_query;
          $wp_query->is_404 = true;
          $wp_query->is_single = false;
          $wp_query->is_page = false;
      
          include(get_query_template('404'));
      }
      ?>
      
    2. Создаем новую страницу (не пост!) в WordPress:
      • Называем ее «blogger»
      • Делаем ее на основе шаблона «Blogger Redirection», созданного нами в предыдущем пункте. Шаблон страницы можно задать через Атрибуты страницы
      • Сохраняем страницу
  3. Проверяем результат и открываем новый блог для поисковиков
    1. Проверьте, что при попытки открыть на главную страницу Blogger-блога вас перекидывает на главную страницу нового блога.
    2. Проверьте, что введя в браузере ссылку на статью на старом блоге, вас перекидывает на соответствующую статью в новом блоге.
    3. Проверьте из Гугл (Яндекс) поиска, что поисковые запросы, которые ведут на старый блог, успешно переводятся на правильные посты в новом блоге.

    Ну а теперь можно снова открыть WordPress-блог для индексирования поисковиками. Для этого меняем содержимое файла robots.txt на такое:

    User-agent: *
    Disallow: /wp-admin/
    Disallow: /wp-includes/
    Disallow: /wp-content/plugins/
    

Резюме

Переведя блог с одной платформы на другую описанным в статье образом, вы действительно получите все плюшки WordPress, при этом не потеряв в рейтингах поисковиков. Точно можно сказать, что переход от Blogger на WordPress — занятие непростое. Поэтому подумайте сначала, нужно ли это вам. Получив у себя утвердительный ответ, выделите этому занятию вечер (а то и два!). Если у вас было много постов на Blogger, то готовьтесь потратить значительное количество времени на приведение их в благоухающий вид в WordPress.

Лично я, глядя на отчеты Google Analytics, вижу что все старания были не напрасны. Чего и желаю вам!

3 комментария

  1. Юля 26/08/2014 21:26  Ответить

    Отличная статья, спасибо!
    Случайно не сможете ответить на такой вопрос — возможно ли все это проделать на wordpress.COM?.. Я абсолютно не представляю как там можно добраться до файлов блога…
    И если «спрятать от поисковых систем» имеется галочка, с кодом блоггера я уже что-то делала, то как осуществить самый главный последний этап на вордпрессе никак не могу сообразить… Буду очень благодарна за ответ!

    • Artem Shiyanov 27/08/2014 01:38  Ответить

      Юля, я не использовал wordpress.com, поэтому вряд ли смогу быть полезен. Чисто идеалогически, ребята из WordPress должны быть очень заинтересованы в переманивании пользователей Blogger, так что какие-то схемы миграции должны быть. Удастся ли при этом сохранить поисковый рейтинг — не знаю.

Добавить комментарий