В первой части этой саги я попытался ответь на вопрос “зачем”, а в этой части нас интересует более технический вопрос - “как?”. Итак, наши вводные - есть блог на wordpress с сотнями записей и десятками тысяч комментариев. Цель - перейти на blogger так, чтоб читатели ничего плохого не заметили.
Процесс переноса, к сожалению, не очень прямой и не очень гарантированный, хотя вполне доступен если у вас есть пара-тройка часов свободного времени. Во первых, перед тем как переносить, надо создать блог на blogger.com. Это просто и легко, и на этом этапе нас не интересует запуск нового блого на старом домене. Просто дайте ему некое уникальное имя и введите все описания. Позже мы переедем на свой домен и нас это временное имя мало волнует. Так, например, я сейчас в процессе переноса http://piratesrt.blogspot.com/ и что там за url меня пока не волнует.
Дальше надо сделать полный экспорт вашего wordpress блога. С этим, на первый взгляд, все просто (Tools/Export/All content), но на практике может быть проблема. Тот файл, что wordpress построил называется WSR и, к сожалению, напрямую его перенести никак нельзя. Однако, есть вполне рабочий преобразователь. Там в комплекте идет инструкция и все просто, как день. У меня этот преобразователь упал на ошибку при попытке обработки wsr из радио-т, хотя отлично сработал на файл из uwp. Проблема бывает в комментариях, а точнее в невалидном xml этих комментариев, который генерирует wp. Тут вы можете попытаться починить этот xml руками, если у вас много времени и вы понимаете что делаете, либо, как это сделал я, полностью убрать комментарии из wsr. Прямого способа это сделать нет, но переименование таблицы комментариев во что-то, отличное от wp_comments, позволит исключить их из результирующего wsr. Не забудьте переименовать их потом, после экспорта, обратно. Вот теперь ваш файл можно скормить google-blog-converters и он, с очень большой вероятностью, все примет. Далее, в Settings/Basic/Import Blog даете свой файл (не тот, что был из wp, но результат работы конвертора) и выбираете “Automatically publish” чекбокс. Blogger попыхтит и впитает все ваши записи. Минут через 10-20 все записи и страницы окажутся в blogger.
А вот с комментариями все несколько сложнее. Как мы договорились, наша цель перенести комментарии на disqus. Кстати, в процессе планирования перехода, я обдумывал вариант переноса комментариев как есть, т.е. оставить их в intensedebate но для blogger. Очевидно, что само это работать не будет и надо попросить intensedebate привязать комментарии к новому сайту и к новой структуре записей. Увы, и этот факт прямо подвержден поддержкой intensedebate, такого сделать нельзя никак. Забегая вперед к части, где я расскажу о практической настройке disqus, не могу не удивится полному отсутствию любых механизмов и средств поменять /подстроить эту привязку в intensedebate. Там нет даже такой концепции. Вероятно, предполагается что оно все сделает само, хотя я не представляю как такое возможно. С другой стороны, у disqus есть и базовые средства (изменение домена) и прекрасный универсальный способ вручную указать карту привязки в формате “из старого линка в новый линк”.
Вернемся к комментариям. Даже если вам повезло и комментарии перенеслись, вы в любом случае потеряете их структуру и правильное указание авторов. Т.е. попытка сказать disqus сделать импорт из blogger не приведет ни к чему хорошему. По этому, я рекомендую все комментарии (если они перенеслись) из blogger удалить. А если вы экспортировали без wp_comments таблицы, то и удалять ничего не прийдется. Далее, из панели управления disqus в Tools/Import выбираем WordPress и просим начать. Это довольно долгий процесс, но через часок вы сможете наблюдать все эти комментарии на http://disqus.com/dashboard. Теперь, пройдя в секцию “Install” (мы все еще на disqus.com), выбираем Blogger и соглашаемся с установкой. На этом интеграция внешних комментариев в blogger завершена, но никаких комментариев в новом бложике вы, скорее всего, не обнаружите. И это понятно почему - надо сказать какие коммнетарии каким записям соответствуют.
Сказать это просто, но немного муторно. Надо создать текстовый файл вида “старый url, новый url”. В худшем случае вам придется это делать руками, а в лучшем - можно это автоматизировать каким самописным скриптиком. Теоретически, можно написать универсальный mapper который будет обходить старый сайт и извлекать линки записей и, например, совмещать их с новой структурой используя заголовки постов. У меня такого скриптика нет, и не просите. В любом случае, этот файл (disqus называет это URL map) надo как-то приготовить и загрузить в Tools/Migrate Threads/Upload URL map. После завершения привязки все ваши записи будут правильно прицеплены к соответствующим комментариям. Сохранится и правильное дерево и правильные авторы. Это тоже процесс не мгновенный и может работать минут 20-30 на серверах disqus.
Ну вот, почти все. Надо только поставить себе засечку еще раз посетить секцию Migrate Threads после смены временного поддомена blogger.com на ваш собственный. Там будет все проще, Domain Migrate Wizrad спросит “какой был раньше” и “на что меняем” и перепривяжет все к новому имени.
Но не спешите менять dns, у нас еще непочатый край работы под кодовым названием “как убрать из blogger лишнее и добавить недостающее”. Это, видимо, будет темой следующей заметки.