Переход из WordPress на Блоголёт
20.06.2009Я написал и выложил скрипт перехода из Wordpress на блоголёт. Скачать его wp2litepublisher.zip (3Кб).
Инструкция перехода из WordPress на Блоголёт. Переход очень прост и состоит из двух действий: собственно установка блоголёта и запуск скрипта перехода. Чтобы установить блоголёт нет необходимости удалять WordPress - просто скопируйте папки и файлы блоголёта в папку домена. Будут перезаписаны только два файла в корне домена: .htaccess и index.php, поэтому рекомендую сохранить эти два файла из WordPress у себя где нибудь, так как если вы захотите вернуться обратно в WordPress, то вам будет достаточно назад скопировать эти два файла. И соответственно переключится на блоголёт тоже возможно, заменив те же файлы из архива блоголёта.
И так, блоголёт установлен, а займет это всего минуту. Копируйте файл wp2litepubblisher.php в корень домена и наберите его адрес в браузере. Начнется переход из Wordpress в блоголёт, который может занять несколько минут, если записей много. Не беспокойтесь, скрипт выведет номера записей, а в конце напишет finished.
Все! Переход закончен. Правда я все же рекомендовал бы проделать следующие шаги: в админке блоголёта расставить порядок страниц меню, отредактировать шаблон ссылок, так как он может не совпадать с существовавшим ранее. Обращаю внимание, что изменение шаблона ссылок не меняет существующие ссылки, а действует для новых ссылок.
Я рекомендовал бы вначале подтестировать. У меня все работает, но отчего то есть ощущение, что то не работает, может быть из за скорости и безглючности перехода.
← Ранее Многоязычный инсталлятор и другие исправления
Позже Плагины в темах →
Комментарии (62) на запись “Переход из WordPress на Блоголёт”
Оставить комментарий
Т.е. сохранив эти файлы, если что не так, я смогу вернуться к первоначальному виду? А то Вордпресс капризная штуковина, по крайней мере для меня, и восстанавливать его после какого-либо сбоя сложновато..
З.Ы. Вобще класный скрипт. Дай сцылку на текс по Блоголёту, описание и прочее. Хочу рекламу на своём сайте сделать ну и запостить в ЖЖ и ББ.
Темы в автоматическом режиме не переводятся. Вероятно, в абстрактном будущем, я сделаю переводчик из тем wordpress на блоголёт, но пока этого нет. Можешь дать мне ссылку на тему, я ее вручную переведу на блоголёт и включу в комплект поставки.
На морде сайта я сделал новое описание, не знаю насколько удачное, во всяком лучше предыдущего, так что можешь брать с главной перед постами.
Скрипт импортирует из WordPress полностью, вместе с урлами следующее:
1 Посты, они же записи
2. Комментарии к записям
3. Рубрики, они же категории
4. Метки, они же теги
5. Страницы - они в блоголёте меню, ибо для меня было странным именовать страницами то, что является меню
Более ничего не импортируется. Все импортируется с сохранением старых адресов в wordpress, так что для поисковиков принципиально ничего не поменяется и сайт не должен просесть из за потери части страниц, потому что все адреса и страницы с тем же контентом сохраняются. Также сохраняются адреса с разбивкой на несколько страниц, например с главной странице список старых постов
Попытался перенести сплог с 5 тыс. записями.
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 1254 bytes) in /home/xxx/public_html/domain.biz/wp-content/plugins/file-cache/lib/class.FileCache.php on line 135
Как быть?
@ini_set('memory_limit', '64M');
Делал всё по инструкции. Думал что из-за хостинга, но с другим блогом тоже самое (оба хостинга платные, США)
Непонятно как-то....
1. Был ли блоголёт коректно установлен? Смог ли ты зайти в админку?
2. Сбой случился после попытки перехода? ДО перехода все работало?
3. Если после установки все работало, то после что случилось? Скрипт перехода надо отдельно скачивать и загружать на сервер, он в стандарт не включен и идет как дополнительный инструмент.
3. Сообщение появляется, например в случае 404
4. Если сайт англоязычный, то я был рекомендовал подождать до сегодня вечера или завтра, когда я выпущу обновление, в котором подкоректирована многоязычность. Я сам вчера установил блоголёт на новый домен и заметил несколько непереведенных строк, например темы оказались на русском. Темы я уже исправил, надеюсь вечером выложу обновление.
Теперь дошло до 1664 строки и выдало
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 35 bytes) in /home/nq49zk/public_html/_byket.biz/lib/postsclass.php on line 190
А есть ли разница, какая версия вордпресса установлена? Сейчас это 2.7
На другом хостинге импортировал тоже примерно 5к записей. Все прошло отлично. Там был кажется 2.8 вордпресс.
Насколько я понимаю это из-за большого числа постов.
Может сделать импорт записей по частям? Например, сначала 500 постов, потом выводить кнопку "продолжить", при нажатии - следующие 500 постов. И так до конца. Если это вообще как-то поможет.
Сейчас выложил обновленный скрипт перехода.
Я разницы между версиями wp не обнаружил - скрипт должен работать на всех. Внес небольшую поправку в скрипт, так что потребление памяти снзится на несколько мегабайт, но боюсь даже в этой редакции цифры дойдут до 3000 постов и опять обламается на памяти. Дело в том, что блоголёт хитрожопый - если потребовался пост, то он будет загружен в память. Понятно, что не возникает даже гипотитической ситуации, когда потребуется загрузить одновременно 2000 постов. Обычное дело это от 1 до 10
Получилось. Спасибо.
Сначала просто с обновленным скриптом - дошло до 2531 записи и выскочила таже ошибка.
Потом добавил @ini_set('memory_limit', '64M'); в итоге все импортировалось.
Вывело
5694
5689
55.86MB
import finished
Полет нормальный! Спасибо еще раз!
Вот еще заметил. Много постов, и не хватает ссылок на страницы с постами. Т.е. последняя страница, на которую показывается ссылка - 33. А дальше на 34, 35... нету.
Попереключал темы, максимальная цифра меняется. Значит это зашито где-то в тему.
На очереди, через пару дней, блог с 19к записями ;)
Перенес сайт с 19к записями на блоголет. Примерно на 11к опять стала выскакивать ошибка, добавил @ini_set('memory_limit', '64M'); и продолжил импорт нормально.
Пока заметил на этом сайте
1. Карта сайта не работает. Не хватает памяти.
2. Если в настройках установить lite режим для рубрик, то тоже не хватает памяти на рубрики, где много постов.
Наверно надо разбивать на страницы карту сайта (и lite режим), если много постов.
3. И с установкой сапы пока что-то не получилось.
Спасибо за багрепорт - подумаю как обойти это ограничение. Про карту сайта, которая не в xml, однозначногорешения на вскидку не могу придумать, быть может действительно разбивать на страницы, да и очень сомнительная получилась бы страница с 20К ссылками. Скорее всего надо будет бить на страницы. Сколько ссылок на страницу поставить? 1000? Или 200- 300? Думаю разбивка полностью решит проблему.
А что за проблема с сапой?
С сапой теперь все ок. Забыл на папку с плагином 777 поставить..
Инструкцию по установке надо бы подправить тоже. Там не написано про права на папки плагинов.
Можно каким то образом в блоголете использовать дизайны
WP ?
Как в этом случае экспортировать?
У меня в адмнке Вордпресса есть пункты импорт и экспорт.
А может сделать такое в блоголете?
На многих хостингах - лимит на время выполнения скрипта, память.
Многие программы и сервисы умеют экспортировать в файл вордпресса. Если бы блоголёт умел из него импортировать - им бы больше пользовались.
Кстати говоря, конкретно в этой записи выложен устаревший скрипт перехода, есть более новый, который не имеет ограничений по времени и памяти - импорт делается по 500 записей, после чего показывается кнопка продолжить. Адрес, где можно почитать в посте:
http://blogolet.ru/poleznye-skripty-dlya-blogolyota/
а вопрос о файле импорта лучше было бы поместить в туду: я не против, просто в расставленных приоритетах на планы, эта фича стоит не на первом месте, но не исключается вообще
На Мастерхост.ру стоит ограничение по времени для выполняемых скриптов. соответственно, скрипт не работает.
Есть мысли, как обойти?
Новый скрипт не помогает - аналогично обрывается вывод после следующих строк
menu 2
menu 1889
menu 1891
menu 1892
menu 1893
menu 1894
то есть это всё, что выводит скрипт. после этого он останавливается.
Так что бросай-ка ты SQL-версию в баню. Лучше работай над текстовой. Именно из-за таких траблов с базой я и собирался перейти на блоголёт с вордпресса.
И утилиту по обработке xml-файла было бы всё же неплохо поиметь.
ЗЫ. ЧеловекХемигуэй, на паре тысяч постов любая текстовая ЦМС начнет жестоко тормозить. На операциях типа перечитать директорию и т.п., а уж если хостер noatime не включил - будет полный...
>> на операциях типа перечитать директорию
А зачем перечитывать директории? Надо использовать индекс всех страниц. При удалении и добавлении постов индекс обновляется, в него записываются имена файлов и иды постов.
Спасибо за уточнение. Значит, надо дробить на папки по годам или месяцам :)
Наверно, сяду и напишу тупой конвертер Wordpress XML=> HTML. Главная страница, пяток сайтмапов и фсё.
Но блоголёт хороший, спасибо ещё раз.
http://litepublisher.googlecode.com/svn/trunk/utils/wp2lt.php
воспользовался другим скриптом для перехода и все равно ошибки
Fatal error: Call to a member function Lock() on a non-object in F:\kalobyte\wp2lt.php on line 18
эта функция работает только на юникс машинах?
Встроенного поиска нет и никогда не будет - используйте, пожалуйста, поиск гугла по сайту - на порядок лучшевсех известных мне решений.
Что ексается рсс - то да, есть такой плагин импорта. Есть еще специальный скрипт перехода из wordpress, который работает напрямую с базой wordpress, сохраняя абсолютно ве адреса, но к сожалению для последних версий блоголёта он еще не адаптирован