Máte blog na Bloggeru a chcete jej přesunout na vlastní web, běžící na WordPressu? Zdánlivě banální úkol v sobě skrývá několik problémů. Proto si ukážeme, jak přesunout články, obrázky a odstraníme problémy, jenž vzniknou po importu.
Budu vycházet z toho, že již máte na Bloggeru obsah k přesunutí a zvládli jste instalaci WordPressu.
Export obsahu z Bloggeru
Prvním krokem musí být export obsahu z blogu. Přihlašte se tedy do administrace vašeho účtu a v menu, najděte Nastavení -> Jiné
Na horním okraji zobrazené stránky, najdete tlačítko Zálohovat obsah:
Tím si stáhnete xml soubor, pomocí nějž naimportujeme obsah do WordPressu.
Import do nainstalovaného WordPressu
Přihlašte se do vaší instalace a v postranním menu, najděte položku Nástroje -> Import
Jak vidíte, WordPress má plugin, jenž vám umožní importovat obsah z Bloggeru.
Klikněte na instalovat a až se text odkazu změní na importovat, klikněte na něj znovu.
Objeví se vám následující formulář:
Po kliknutí na Vybrat soubor, vyberte xml soubor, jenž jste získali z Bloggeru.
Pak stačí kliknout na Nahrát soubor a importovat. Samozřejmě, že pokud máte nízký memory limit, může se stát, že budete import opakovat několikrát.
Po skončení, máte na vašem novém webu, kompletní obsah z Bloggeru.
Bohužel je zde jedno velké ale! Nebo dvě.
Obrázky
Ty se nemusí stáhnout do médií všechna a navíc ze zkušenosti vím, že v obsahu zůstávají odkazy na původní soubory – 7.bp.blogspot.com/-DiEP5rUyWBg/V_6WxPNj3qI/AAAAAAAAGbo/wZcIDUHs7.jpg
Komentáře
Plugin pro import, nezachovává hierarchii komentářů.
Opravy špatně naimportovaných obrázků
Naštěstí je v WordPressu na všechno plugin. Tím pluginem je Cache images, jenž vám z interních obrázků udělá externí. Sice není již nějakou dobu aktualizovaný, ale funguje perfektně.
V seznamu pluginů, po jeho instalaci, nejdete odkaz na scanování:
Pak již jen stačí kliknout na jedno z tlačítek a plugin opraví vše co potřebujete. Rozdíl mezi dvěma tlačítky je v tom, že první hledá jen obrázky a druhý jen obrázky, jenž jsou obalené odkazem.
Já jsem se nakonec rozhodl pro první možnost a všechny obrázky v odkazu:
<a href="http://blogger.com/obrazek.jpg"><img src="http://myweb.com/obrazek.jpg" /></a>
jsem následně opravil pomocí regulárního výrazu.
Oprava hierarchie komentářů
Přestože, je tento postup na konci návodu, musíte jej udělat hned, ještě než začnete importovat do WordPressu!
Kdo byl nedočkavý a nedočetl až sem, může začít znovu.
Stáhněte si plugin Blogger Importer a v souboru comment-entry.php, přidejte za řádek 63:
add_comment_meta($comment_id, 'blogger_internal', $this->self, true);
nový řádek:
add_comment_meta($comment_id, 'related', $this->related, true);
Kdyby jste si otevřeli vyexportované xmlko, zjistíte, že export komentářů, obsahuje i informaci o rodičovském komentáři. Ta je označena jako related.
Přestože, že ji plugin při parsování načítá, při importu ji neuloží. Proto to musíme udělat my.
Máme tedy naimportované komentáře a u každého child komentáře, uloženou informaci o rodičovském komentáři.
Nyní tedy projdeme všechny komentáře a nastavíme jim parent id, které používá WordPress.
Tento postup použijte, pouze pokud víte, co děláte, jinak si nechte pomoci vaším programátorem.
global $wpdb; $comments = $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."comments"); foreach( $comments as $item ){ $related = $wpdb->get_results("SELECT meta_value FROM ".$wpdb->prefix."commentmeta WHERE comment_id = '".$item->comment_ID."' AND meta_key = 'related'"); if(!empty($related[0]->meta_value)){ $parent = $wpdb->get_results("SELECT comment_id FROM ".$wpdb->prefix."commentmeta WHERE meta_value = '".$related[0]->meta_value."' AND meta_key = 'blogger_internal'"); $data = array( 'comment_parent' => $parent[0]->comment_id ); $result = $wpdb->update($wpdb->prefix.'comments', $data, array('comment_ID' => $item->comment_ID) ); } }
Kód stačí spustit jen jednou a seřadí vám všechny komentáře do hierarchie.
Na závěr si nastavte trvalé odkazy, aby odpovídaly tvaru, používaném na Bloggeru, aby jste nepřišli o návštěvnost.
Přesun je dokončen a můžete pokračovat v blogování.