Kategórie →

Od Joomla! k WordPress je cesta zarúbaná

No našťastie nie úplne nereálna. Niekoľko rokov som prevádzkoval blog na systéme Mambo z ktorého kvôli licenčným problémom vznikla Joomla!. Rozhodol som sa blog premigrovať na CMS WordPress, nakoľko zo všetkých kandidátov sa mi pozdával najlepšie práve tento. Má širokú komunitu ako používateľov tak aj vývojárov, bohatý archív pluginov a tém a hlavne sa aktívne vyvíja. Nebolo nad čím uvažovať.

Prvý problém nastal keď som uvažoval ako to vlastne vykonať. Takmer 2 000 postov, tisíce komentárov, ešte viac fotografií, spätné odkazy na články – čiže potreba zachovať ich URL, alebo vyriešiť redirect. Veľa neľahkých úloh na konci ktorých mal byť moderný, ergonomický a výkonný systém. Po dvoch mesiacoch môžem povedať že som kapituloval na takmer všetky predsavzatia a featúry.

Samotné preklopenie článkov z jedného CMS do druhého celkom slušne zvláda skript Joomla2WordPress – zvláda kopírovať vybrané kategórie, no pokiaľ máte texty v inom kódovaní ako UTF-8 zažijete prvé trhanie vlasov. To nehovorím o tom, že skript mi nevedel kopírovať z jedného hostingu na druhý ale len to tej istej DB – s iným prefixom. Každý prenesený článok však bolo potrebné otagovať a zaradiť do novej kategórie. Skript nevedel zachovať ani ID článkov čo bolo potrebné pre ďalšie redirecty. Nakoniec som zvolil ručné kopírovanie – aspoň som pretriedil ten balast a nostalgicky zaspomínal v duchu „ty kokso to ako som mohol takúto blbosť niekedy napísať“.

Presmerovávanie URL zo starých na nové bolo pre mňa veľkou prioritou – nabúchať do .htaccess presmerovania na všetko by asi zabilo server. Chytil som sa teda ID článkov a toto sa zdalo ako svetlý bod. Do súboru index.php šablóny default stačilo pridať

if(isset($_GET['option'])) {
    if(is_numeric($_GET['id'])){
        header ('HTTP/1.1 301 Moved Permanently');
        header("Location: http://alian.info/?p={$_GET['id']}");
        die();
    }else {
        die('Hack the Planet');
    }
}

a presmerovanie ID fungovalo perfektne. Než som však nezistil, že WordPress mi dá pocítiť, že on najlepšie vie čo je preň dobé a ja sa mám zaujímať len a len o obsah.

Ovládnuť totiž ID článku je nadľudská úloha. S verziou 2.5 tohto systému prišla úžasná vychytávka v podobe ukladania verzii a rozpísaných draftov postov. To znamená, že začnete písať článok – skočíte si na kávičku – pridáte pár obrázkov a nakoniec ho uložíte. Medzitým systém vykonal pár automatických uložení a keď začnete písať druhý článok tak môže mať kľudne ID 23. To ma postavilo zo stoličky. Ihneď som hľadal riešenie ako to vypnúť napevno tieto revízie. Nepomohlo nastavenie na „false“ v konfiguračnom súbore, ani niekoľko pluginov ktoré som testoval. Príde mi to ako totálna zvrhlosť. Tak som sa teda zmieril s tým, že staré a nové URL proste nepreviažem. Aj keď teraz mi to je platné ako mŕtvemu zimník rád by som túto funkcionalitu zrušil – duplicity pekne nafukujú DB. Pôvodná tabuľka s článkami na starom CMS mala niečo vyše 1 MB, tá terajšia má takmer 5 MB a ešte mi ostáva prepísať 300 článkov.

Na komentáre som sa vykašlal, s galériou sa ešte hrajem. Možno som málo bojoval, no napriek tomu som bol s WordPressom spokojný – na nečisto som si testoval ďalšiu funkcionalitu, tešil sa z automatických updatov a chcel som sa venovať už len finálnej šablóne, ktorá by bola konečne podľa mojich predstáv.

No dnes sa z čista jasna objavil ďalší nečakaný problém. Týka sa lne verzie 2.7.1 a prehliadača Mozilla Firefox 3+. Pri vytváraní nového článku je obsah stále niekde presmerovávaný – popisované to bolo už aj tu. Nemal som chuť to riešiť a radšej som spustil Google Chrome.

Ak chcete migrovať web z Joomla! do WordPress a máte do 100 článkov, kľudne sa s tým vyhrajte – ID editujte priamo v DB a celkom slušne a v prijateľnom čase to zvládnete. Pri tisíckach článkov to je však už nemysliteľné ba priam tragické riešenie. WordPress je ideálne riešenie pre budovanie „na zelenej lúke“, no nie na nejaký switch.


Mohlo by ťa zaujímať aj

14x komentované

Myslíš, že máš čo povedať? Zanechaj komentár

  1. ivusko povedal:

    Čauko. Mne sa zmena páči. Nespravis btw logo klikatelne? Ja tiez chystam redizajn blogu a aj portfolio stránky, ale akosi sa neviem k tomu dokopať. Ja som prechod z ASP do PHP, resp. WordPressu takisto vzdal.

  2. este, ze som na WP uz zacinal :)
    ale povodna html verzia je davno stratena, nemalo vyznam daco zachovavat :D

  3. tiso povedal:

    Podľa mňa to nemuselo dopadnúť takto tragicky. Stačí sa lepšie pohrabať v zdrojákoch a v databáze a riešenie typu Joomla2WordPress je na svete.

  4. adaman povedal:

    No hold ALIAN DELONE to opat raz dokazal… Gratulujem k spusteniu…

  5. Srigi povedal:

    WordPress sa aj mne velmi paci, pripravujem si blog doma na localhoste, robim si custom sablonu. BTW ak niekto tuzite robit templaty pre WP (co je mimochodom v zahranici celkom dobry biznys), odporucam tento video serial a tuto “nulovu” sablonu.

  6. Joj napada ma, co takto script, ktory by sam kopiroval clanok po clanku do noveho CMS? nebolo by to jednoduchsie? napriklad cez cron to spustit (ak sa neda inak) a same by to kopirovalo s tym, ze by to zmenilo veci ako datum, nadpis a tiez by to zaradilo do sekcie? Myslim, ze to by bolo jednoduchsie ako keby si to kopiroval rucne. A myslim to nie z DB ale priamo si otvori stranku a ide.

  7. Andy povedal:

    Nj. Som zastanca wp, ale cim viac uz v nom nachadzam len chyby. Ale inak – vitaj v rodine.

  8. alian povedal: (Autor blogu)

    Kusi precitaj si treti odstavec, ved na taky skript priamo linkujem

  9. Marko Kolar povedal:

    redizajn sa mi urcite paci. mozno ako bolo spomenute to logo by som odkazoval na index ale to je detail.
    podarene ;)

  10. Jozef povedal:

    Myslím si, že skript by sa dal napísať aby skopíroval všetko, ale chcelo by to dosť času a testovania, pokiaľ neexistuje už niečo lepšie hotové ako v článku spomínaný skript. Ja aj preto používam vlastný CMS. Nemá toľko funkcií ako Joomla alebo WordPress, ale radšej používam niečo nad čím mám 100%tnú kontrolu…..

  11. ano, ale potom si pisal, ze si to cele prekopcil manualne. Teraz clanok necitam a uz si to nepamätam, ci zase som malo spal?

  12. Matej Istvan povedal:

    Podľa mna je joomla lepsia bo sa da ja eshop

  13. alian povedal: (Autor blogu)

    @Matej Istvan: to je dost slaby argument. Joomla! je uz cisto komercna slatanina. Shop spravis aj z WordPress instalacie. A nie jeden.

  14. Jimako povedal:

    Asi je to už vyššou verziou WP (3.4), ale píšem to sem, keby niekto náhodou narazil na tento článok ako ja. Tie revízie sa dajú vypnúť (alebo nastaviť ich počet) v wp-includes/default-constants.php
    define(‘WP_POST_REVISIONS’, 0);

Zanechaj komentár

Píš k veci a konaj tak ako v skutočnom svete. V opačnom prípade budú aplikované hrozby, ktoré sú uvedené v podmienkach používania tejto stránky.