21. May '09, 12:21

Joomla to Wordpress, Content Converter

In den vorhergegangenen Blog Einträgen dazu hatte ich ja erwähnt das ich mal die Codes online stellen wollte mit denen ich letztendlich mein Joomla 1.5 nach Wordpress konvertiert hatte. Na wie das mit der “Faulheit” so ist kommt’s nun relativ spät.

Was wird Konvertiert ?

Nun da ich keinen gut funktionierenden “Baukastenkonverter” fand der mir in Wordpress einfach den alten Joomla Content konvertiert, musste selbst was gebastelt werden. Das Script ist ausgelegt auf die Verwendung von PHP und MySQL. Konvertiert werden Joomla Artikel in die Wordpress Content Tabelle.

joomla2wordpress Joomla to Wordpress, Content Converter joomla

One Click Lösung ?

Nein, mit Sicherheit nicht. Diese Scribbles sind alles andere als ein einfaches Klick & Fertig Programm. Für Leute die keine oder kaum PHP Ahnung haben also auch wahrscheinlich ungeeignet. Den Anspruch stelle ich aber auch nicht daran, wer allerdings ein wenig den Code interpretieren kann dem ist mit den Scripten ggf. geholfen. Wie gesagt, bevor die Dinger bei mir nach einmaligem Nutzen verstauben pack ich sie lieber Online.

Wie den Konverter benutzen ?

Nun erst mal die config.php anpassen und alle Scripts auf den Webserver laden.

CONFIG.PHP

/*
* Configuration for your Database and stuff
*/

$SQL['HOST'] = "sql.lan";   // Normaly localhost
$SQL['USR'] = "DBUser";
$SQL['PWD'] = "12345678";

// Joomla realted ->
$SQL['JOOMLA_DB'] = "solariz_de"; // Databse name of Joomla
$SQL['JOOMLA_PRE'] = "jos_";    // Table Prefix of Joomla Tables

// Wordpress realted ->
$SQL['WP_DB'] = "solariz_wp"; // Databse name of wordpress
$SQL['WP_PRE'] = "wp_";       // Table Prefix of wordpress Tables

$DEFAULTS['POST_AUTHOR']   = 1; // User ID of target Author (1 usualy admin)
$DEFAULTS['POST_CATEGORY'] = 5; // I suggest to create a category named e.g. import

Die Möglichkeiten zur Anpassung sind durch die Kommentare denke ich weitestgehend erklärt. Wichtig ist es das der POST_AUTHOR und die POST_CATEGORY id`s im Wordpress existieren. Also erst mal eine blanko Wordpress Installation vornehmen. Idealerweise ohne Muster Inhalte damit es hier keine Konflikte gibt. Nun ein Kategorie und einen User anlegen und deren ID`s in der config.php des Konverters eintragen. Ich hatte mich dazu entschieden alles auf User ID 1 (Mein user account) sowie eine angelegte Kategorie namens “Import” mit der ID 5 zu schreiben.

Der Konverter wird später dann alle im Joomla gefundenen Artikel auf diese Kategorien anpassen. Da ich vorher selbst in Joomla meistens nur 2 Kategorien verwendet habe (Artikel, Inhalte) ist es für mich kein Problem das alles nur in eine Kategorie geschoben wird. Wer viele Artikel Kategorien in Joomla verwendet kann hier nun allerdings tricksen in dem man die in der index.php verwendete Query zum lesen einschränkt und dann das Script einfach pro Kategorie einmal laufen lässt.

In der index.php bei Zeile #46 findet man die für das auslesen der Artikel verantwortliche Query:

// WHERE `sectionid`='1'
$query = "SELECT * FROM `".$SQL['JOOMLA_PRE']."content` ORDER BY `created`";

Hier kann man, wie im Comment darüber angemerkt, einfach ein eigenes WHERE Statement hinzufügen und somit die auszulesenden Contents einschränken.

Was ich zugegebenermaßen auch Quick & Dirty gelöst habe ist die Zuweisung der einzelnen Felder. Klar sind die Spaltennamen der Tabellen in Joomla nicht identisch mit denen von Wordpress, hier muss also eine Zuweisung stattfinden. Wem die von mir gewählten Zuweisungen nicht gefallen kann diese in der index.php Zeile #58 einfach anpassen:

$array = array(
"post_author"=>$DEFAULTS['POST_AUTHOR'],
//"post_parent"=>$DEFAULTS['POST_CATEGORY'],
"post_date"=>$R['created'],
"post_date_gmt"=>$R['created'],
"post_modified"=>$R['modified'],
"post_modified_gmt"=>$R['modified'],
"post_title"=>$R['title'],
"post_status"=>"publish",
"comment_status"=>"open",
"ping_status"=>"open",
"post_name"=>$R['alias'],
"post_type"=>"post"
);

Wordpress verwendet entgegen Joomla mehrere Tabellen um die Einträge zu speichern um hier einen Konflikt zu vermeiden sollte man sicherstellen das alle Artikel in der Ziel WP Installation vorher gelöscht werden.

Das eigentliche konvertieren

Hat man das Script nun auf eigene Bedürfnisse angepasst kann man nun einfach mal versuchen die index.php auszuführen. Ich wünsche viel Glück dabei und würde mich wenn Verbesserungen am Code vorgenommen werden über einen Rücklauf derer freuen.

Zum Schluss natürlich das Script zum Download, bitte bei Verlinkung nur auf diesen Artikel verlinken, nicht auf den Download selbst. Danke.

Notice:
siehe auch den Post um das Forum Joomla Fireboard zu Wordpress WP-Forum zu konvertieren.

Script Download

  • Joomla 2 Wordpress PHP-Script, ver. , 3.16 KB
  • Related Posts

    Tags:

     

    Der Artikel hat dir gefallen oder war hilfreich ?

    Wenn dir dieser Artikel gefallen hat kannst Du nun einen Kommentar verfassen oder einen trackback senden. Über eine Share/Bookmark Verlinkung oder Empfehlung würde ich mich freuen. Als Alternative zum Lesen im Blog steht auch noch ein RSS Icon RSS Full-Feed zur Verfügung sowie die Möglichkeit Blog Postings via E-Mail zu abonnieren.


    15 Kommentare zu “Joomla to Wordpress, Content Converter”

    1. Devil says:

      Hi Solariz…

      Vielen dank, ich werde es heute noch ausprobieren und auch Feedback geben.

    2. Jörg says:

      Jo, werd ich auch mal testen müssen.
      Hab zwar im Moment nicht wirklich eine Verwendung dafür, aber man weiß ja nie was kommt.
      Gut zu wissen, das es solch ein Script gibt.

      Danke dafür ;)

    3. solariz (@solariz) says:

      Kleiner Tipp für alle Umseitger, überlegt es euch genau. Entgegen aller Spekulationen und Infos im Netz straft google solch einen Umstieg heftig ab. Obwohl ich vorbildlich für nahezu alle alten URLs einen 301 Redirect auf den korreten neuen Link per HTACCESS rewrite eingefügt habe hat Google einige Tage nach meinem Umstieg von Joomla auf Wordpress meine vorherigen Pagerank 4 auf 0 reduziert. Ich hoffe beim nächtem PR Update gibt es hier wieder eine neubeurteilung denn leider erfährt man den Grund der Abstrafung ja nicht.

    4. Devil says:

      So,

      dann mal zu meinem Feedback:

      Es funktioniert bestens! Danke!!!

    5. mbengue says:

      who to download the script to do it ?

    6. solariz (@solariz) says:

      @mbengue: after a update to WP 2.8 the links to the downloads were broken for a short time. Download should work again since some hours.

    7. solariz (@solariz) says:

      Update: new posting with a converter from fireboard to WP-Forum online.

    8. Nicolai says:

      Tolles Tool! Hat mir sehr mei meinem Vorhaben geholfen, mein Blog parallel auf 2 Plattformen zu betreiben. Ist echt eine Arbeitsersparnis. Einziger Kritikpunkt ist, dass bereits gelöschte Beiträge mit übertragen werden.

    9. Connie says:

      Komme ein wenig spät. aber trotzdem eine Frage:

      wie geht dieser Import mit mehrsprachigen Joomla-Installationen um (Joomfish in Einsatz)?
      Funktioniert dieses Script auch mit Joomla 1.12?

      Merci im Voraus,

      Connie

    10. solariz (@solariz) says:

      Kurz: 1.x nicht kompatieble dazu gibt es aber ein anderes Script, nicht von mir einfach mal google nutzen.

      Joomfish, nie getestet.

    11. julie says:

      i got ” Please edit config.php” error. Could you tell me what to write to first 3 lines?
      $SQL['HOST'] = “here”; // Normaly localhost
      $SQL['USR'] = “here”;
      $SQL['PWD'] = “here”;

      thank you

    12. julie says:

      I meant joomla or wp information to write there? thank you

    13. solariz (@solariz) says:

      Hi Julie,

      first a small warning, this script is not intended to be used by any person who only have barley scripting knowledge. It can destroy more as it could help if you not understand the way it work. The intention was to release it into the wild for lazy codes to just takt this as basic function.

      The script itself is written to use just one database so Joomla and WP should be on the same SQL Host, if not the script have to be rewritten to use multiple database hosts. Resulting to this, the user and pwd asked for needs to be able to acces Joom and WP database.

    14. Stefan says:

      Hi!

      Does this script handle the {mosimage} definition inside of articles? is there any solution for ceonverting media-related content?

      cheers!

    15. Inhalt wieder hergestellt…

      Den Inhalt der “alten” Datenbank konnte ich dank des Scripts von Solariz sehr einfach konvertieren und in die neue Datenbank einlesen…….

    Leave a Reply

    XHTML: allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <p> <q cite=""> <strike> <strong>

    AVATARS: To set a Picture / Avatar please check out Gravatar.

    Spam protection by WP Captcha-Free