FG Joomla to WordPress

FG Joomla to WordPress

The “FG Joomla to WordPress” plugin is a WordPress plugin that migrates posts, categories, sections, images, medias, tags, users, menus, comments, links and views from Joomla/Mambo to WordPress.

New add-on: JReviews
New add-on: Virtuemart to WooCommerce

It has been tested with Joomla 1.0, 1.5, 1.6, 1.7, 2.5, 3.0, 3.1, 3.2 and 3.3, Mambo 4.5 and 4.6 and WordPress 4.0 on huge databases (72 000+ posts). It is compatible with multisite installations.

The free version is for personal blogs.

If you want to migrate a professional site or a site with multiple users or want to use an add-on, the Premium version is for you.

Features

Features Free version Premium version
Mambo 4.5 - X
Mambo 4.6 - X
Joomla 1.0 - X
Joomla 1.5 X X
Joomla 1.6 X X
Joomla 1.7 X X
Joomla 2.5 X X
Joomla 3.0 X X
Joomla 3.1 X X
Joomla 3.2 X X
Joomla 3.3 X X
Migrate sections X X
Migrate categories X X
Migrate posts (published, unpublished and archived) X X
Migrate media (images, PDF, …) X X
Migrate external media X X
Migrate keywords X X
Migrate web links X X
First image imported as featured image (as option) X X
Joomla 2.5+ featured images - X
Joomla 3.1+ tags - X
Migrate authors - X
Migrate and display authors aliases - X
Migrate all users - X
Migrate users passwords - X
Migrate navigation menus - X
SEO: redirect standard Joomla URLs
or keep Joomla posts IDs
- X
SEO: migrate meta description and meta keywords (compatible with SEO by Yoast plugin) - X
Licence lifetime lifetime
Multiple imports X X
Updates through WordPress.org 3 months of free updates
Price 0€ 29.99€

Add-ons

The Premium version is working with a standard installation of Joomla and a standard installation of WordPress. If you are using Joomla extensions that you want to migrate as well, please have a look at the add-ons page.

Please note that the Premium version is required for all the add-ons.

Translations

  • English (default)
  • French (fr_FR)
  • Spanish (es_ES)
  • German (de_DE)
  • Russian (ru_RU)
  • Polish (pl_PL)
  • Bulgarian (bg_BG)

Add-ons

The add-ons enhance the features of the plugin FG Joomla to WordPress Premium.
Please note that the Premium version is required for all the add-ons.

Content add-ons

K2
K2

24.99€

Import all the K2 content to WordPress

contents-flexi
Flexicontent

24.99€

Import the Flexicontent content

EasyBlog
EasyBlog

24.99€

Import the EasyBlog content

Joom!FishJoom!Fish

29.99€

Import the Joom!Fish translations to WPML

Zoo
Zoo

24.99€

Import the Zoo content

E-Commerce add-on

Virtuemart

Virtuemart

69.99€

Import the Virtuemart data to WooCommerce

Search Engine Friendly (SEF) add-ons

sh404sef

sh404sef

14.99€

Import the sh404sef URLs

joomsef-140JoomSEF

14.99€

Import the JoomSEF URLs

OpenSEFOpenSEF

14.99€

Import the OpenSEF URLs

Comments add-ons

JComments

JComments

14.99€

Import the JComments comments

JomComment

Jomcomment

14.99€

Import the JomComment comments

Forum add-ons

Kunena

Kunena

24.99€

Import the Kunena forums to bbPress

Images galleries

Phoca Gallery
Phoca Gallery

24.99€

Import the Phoca Gallery images

joomgallery_logoJoomGallery

24.99€

Import the JoomGallery images

Rokbox

Rokbox

9.99€

Import the Rokbox images

Other add-ons

WordPress post views

WP-Postviews

9.99€

Keeps the number of views of each article

Attachments

Attachments

9.99€

Import the attachments from the Attachments Joomla extension

tag

Joomlatags

9.99€

Import the Joomlatags tags

JEvents

JEvents

24.99€

Import the JEvents events

Contact Directory

Contact Directory

19.99€

Import the Contact Directory contacts

docman

Docman

19.99€

Import the Docman documents

JReviews

JReviews

19.99€

Import the JReviews data from Joomla to WordPress

FG Joomla to WordPress

Installation instructions

  1. Install the plugin in the Admin => Plugins menu => Add New => Upload => Select the zip file => Install Now
  2. Activate the plugin in the Admin => Plugins Menu
  3. Run the importer in Tools > Import > Joomla (FG)
  4. Configure the plugin settings. You can find the Joomla database parameters in the Joomla file configuration.php
    • Hostname = $host
    • Port = 3306 (standard MySQL port)
    • Database = $db
    • Username = $user
    • Password = $password
    • Joomla Table Prefix = $dbprefix

FAQ

I get the message: “[fgj2wp] Couldn’t connect to the Joomla database. Please check your parameters. And be sure the WordPress server can access the Joomla database.
SQLSTATE[28000] [1045] Access denied for user ‘xxx’@’localhost’ (using password: YES)”

  • First verify your login and password to your Joomla database.
  • If Joomla and WordPress are not installed on the same host, you can do this:
    • export the Joomla database to a SQL file (with phpMyAdmin for example)
    • import this SQL file on the same database as WordPress
    • run the migration by using WordPress database credentials (host, user, password, database) instead of the Joomla ones in the plugin settings.

The migration stops and I get the message: “Fatal error: Allowed memory size of XXXXXX bytes exhausted” or I get the message: “Internal server error”

  • You can run the migration again. It will continue where it stopped.
  • You can add: `define(‘WP_MEMORY_LIMIT’, ‘512M’);` in your wp-config.php file to increase the memory allowed by WordPress
  • You can also increase the memory limit in php.ini if you have write access to this file (ie: memory_limit = 1G).

The media are not imported

  • Check the URL field that you filled in the plugin settings. It must be your Joomla home page URL and must start with http://

The media are not imported and I get the error message: “Warning: copy() [function.copy]: URL file-access is disabled in the server configuration”

  • The PHP directive “Allow URL fopen” must be turned on in php.ini to copy the medias. If your remote host doesn’t allow this directive, you will have to do the migration on localhost.

Nothing is imported at all

  • Check your Joomla version. The Joomla 1.0 database has got a different structure from the other versions of Joomla. Importing Joomla 1.0 database is a Premium feature.

All the posts are not migrated. Why ?

  • The posts put in trash are not migrated. But unpublished posts are migrated as drafts.
  • Some users reported that the Zend Framework causes an incomplete import. So, if all the data is not migrated, consider deactivating the Zend Framework during the migration.

I get the message: “Fatal error: Class ‘PDO’ not found”

  • PDO and PDO_MySQL libraries are needed. You must enable them in php.ini on the WordPress host.
    On Windows:
    Edit php.ini and uncomment the line: extension=pdo_mysql.so
    Or on Ubuntu:
    sudo php5enmod pdo
    sudo service apache2 reload
    If you don’t have access to these commands, please contact the system administrator of your WordPress server.

I get this error: PHP Fatal error: Undefined class constant ‘MYSQL_ATTR_INIT_COMMAND’

  • Same answer as above

Does the migration process modify the Joomla site it migrates from?

  • No, it only reads the Joomla database.

I get this error: Erreur !: SQLSTATE[HY000] [1193] Unknown system variable ‘NAMES’

  • It comes from MySQL 4.0. It will work if you move your database to MySQL 5.0 before running the migration.

None image get transferred into the WordPress uploads folder. I’m using Xampp on Windows.

  • Xampp puts the htdocs in the applications folder which is write protected. You need to move the htdocs to a writeable folder.

How to import content from one section as posts and another section as pages?

  • You can use the Convert Post Types plugin after the migration.

Do I need to keep the plugin activated after the migration?

  • Yes. After the migration, the plugin must stay activated to manage the redirections and the authentication of the users. If you don’t use these features, then you can deactivate it.

Where are stored the authors aliases?

  • Authors aliases are stored in the custom field “author_alias”. You can see it by displaying the custom fields in the edit post screen.

Redirects don’t work

  • Choose a permalink different from the default one in the WordPress permalinks settings. You can do it either before or after the migration.

Are the user passwords kept during the import?

  • Yes, since version 1.18.0.

Don’t hesitate to let a comment on the forum or to report bugs if you found some. http://wordpress.org/support/plugin/fg-joomla-to-wordpress

Free version Change Log

See fg-joomla-to-wordpress CHANGE LOG on WordPress.org

Premium version Change Log

1.38.1

New: Import the meta title from the menus
New: Import the captions of Joomla 2.5 featured images
Fixed: Some image captions were not imported

1.38.0

Fixed: The media filename was empty on the attachment page
Tested with WordPress 4.0

1.37.0

New: Help screen
New: Set the pages slugs from the menus instead of the aliases
New: Set the meta data from the menus instead of the articles

1.36.2

New: Enable the K2 advanced SEF URL redirect

1.36.1

New: Improve the speed of the menus import
New: Function to get the Joomla imported sections

1.36.0

New: Functions to get the Joomla imported posts, categories and users
Fixed: Users were not authenticated with their Joomla passwords for Joomla 2.5+
New add-on: JReviews

1.35.0

New: Function to get the Joomla installation language
New add-on: Virtuemart to WooCommerce
Tested with WordPress 3.9.2

1.34.2

Fixed: Define the width and the height of the images only if it isn’t defined yet

1.34.1

New: Modify the internal links for both posts, pages and custom post types
New: Import the menus with relative URLs

1.34.0

New: Option to get the post slugs from menus instead of aliases
New: Add option to automatically remove the WordPress content before each import

1.33.0

New: Partial imports: options to skip the import of categories, articles, web links, users or menus

1.32.0

New: Display the number of Joomla articles, categories, users and web links during the database connection test
New: Compatibility with Joomla 3.3

1.31.5

New: Remove the categories prefix for Docman categories

1.31.4

New: Redirect the URLs with the parameter task=view
Fixed: Warning: Creating default object from empty value

1.31.3

Fixed: “Fatal error: Call to a member function fetch() on a non-object” for versions of MySQL < 5.0.3

1.31.2

New add-on: Docman
Tested with WordPress 3.9.1

1.31.1

New: Add a parameter to force the external media import (for PhocaGallery)

1.31.0

New: Import Web links
New function get_component_categories() for add-ons

1.30.0

New: Import the menu separators
New: Refactor the menus import
Tested with WordPress 3.9

1.29.4

New: Change the visibility of some methods to use them in add-ons
New: Add JEvents module
Fixed: Notice: Undefined index: width
Fixed: Notice: Undefined index: height

1.29.3

Fixed: Was displaying the warning “Your version of Joomla (probably 1.0) is not supported by this plugin.” when both the Premium and the free versions were activated
Tested with WordPress 3.8.2

1.29.2

New: Change the visibility of some methods to use them in add-ons

1.29.1

Fixed: Fatal error: Call to a member function fetch() on a non-object

1.29.0

New: The required modules are listed when testing the connection to Joomla

1.28.0

New: Nomore need to choose the Joomla version ; it is guessed by the plugin.
Fixed: the fgj2wp class was instantiated twice

1.27.0

New: Import the users’ registration date

1.26.1

Fixed: The usernames with Cyrillic characters were not imported

1.26.0

New: Import Joomla 3.1 tags

1.25.1

Fixed: Error:SQLSTATE[42S22]: Column not found: 1054 Unknown column ‘u.usertype’ in ‘field list’ for Joomla versions > 1.5

1.25.0

New: Import the Joomla administrators as WordPress administrators

1.24.4

New: Add some hooks for WPML
Fixed: Notice Undefined offset

1.24.3

Fixed: Don’t add the <!–more–> tag if the introtext is empty
Tested with WordPress 3.8.1

1.24.2

Fixed: The URLs were not redirected if the articles were imported as pages

1.24.1

Fixed: Syntax error with parse_ini_string
Fixed: Images containing “%20″ were not imported into the post content

1.24.0

New: Full refactoring of the URL redirect
Fixed: Redirect URLs with articles beginning with a number
New translation: Bulgarian (thanks to Hristo P.)

1.23.0

New: Compatibility with Joomla 3.2
Fixed: Redirect URLs with articles beginning with a number

1.22.6

Fixed: The «Remove only new imported posts» option was not removing anything
Fixed: Notice: Undefined variable: result in fgj2wp-users.php
Tested with WordPress 3.8

1.22.5

Fixed: Archived posts were always imported as drafts in Joomla 2.5
Fixed: Rewrite rules not deactivated after plugin deactivation

1.22.4

New: Display error message if PDO is not enabled

1.22.3

New: Drastically improve the speed of the users deletion
New: Display SQL errors in debug mode
Fixed: Blank page when the users table or the menus table didn’t exist

1.22.2

New: Add Zoo support
New: Check if the upload directory is writable
Tested with WordPress 3.7.1

1.22.1

Fixed: The navigation menus were not imported when the articles were imported as pages

1.22.0

Fixed: Import the categories even when the articles are imported as pages
Tested with WordPress 3.7

1.21.4

Fixed: Meta descriptions and meta keywords were overwritten by empty sh404sef meta data

1.21.3

Fixed: “Warning: sprintf(): Too few arguments” message for image captions with %

1.21.2

New: Enable EasyBlog menus import

1.21.1

Fixed: nested category menus
Fixed: Joomla 1.0 menus were not imported

1.21.0

New translation: Spanish (thanks to Bradis García L.)
Fixed: Joomla 2.5+ featured images not imported

1.20.1

Fixed: Use the modified post date if the creation date is empty
Fixed: Warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object

1.20.0

New: Display the author aliases

1.19.4

Fixed: The menus were not imported for Joomla versions > 1.5

1.19.3

Fixed: Some spaces were removed (due to the extra newlines removal)
Fixed: Better rule for the convert_post_attribs_to_array function
Fixed: “WordPress database error Field ‘post_content’ doesn’t have a default value”

1.19.2

Fixed: Fatal error: Call to undefined function parse_ini_string() when PHP < 5.3.0

1.19.1

New: Add import of meta title and canonical (used by JoomSEF add-on)

1.19.0

New: Import the page breaks
New: Option to import the Joomla introtext in the post and in the excerpt
New: Use the show_intro article parameter to import the introtext in the content or not
Tested with WordPress 3.6.1

1.18.0

New: Import users passwords
New: Compatibility with Joomla 3.1

1.17.1

Fixed: Remove extra newlines

1.17.0

New: Add automatically http:// at the beginning of the URL if it is missing
New: Option for the first image import
FAQ updated

1.16.0

New: Option to import images with duplicate names
New translation: Polish (Thanks to Łukasz Z.)
FAQ updated

1.15.2

Optimize the Joomla connection

1.15.1

New: Option to not import archived posts or to import them as drafts or as published posts
New: Compatibility with Kunena users

1.15.0

New: Import archived posts as drafts
Tested with WordPress 3.6

1.14.2

Fixed: The HTML classes were lost in the a-href and img tags
Unset by default the checkbox «Import the text above the “read more” to the excerpt»

1.14.1

Fixed: The caption shortcode is imported twice if the image has a link a-href pointing to a different image

1.14.0

New: Import images captions
New: Migrates the meta description and the meta keywords to WordPress SEO by Yoast
Improve speed of processing the image links
Update the FAQ
Fixed: Warning during activation

1.13.0

New: Migrates the Joomla navigation menus
New: SEO, keeps the Joomla article ID (as an option)
New: Ability to deactivate the redirects
Tested with WordPress 3.5.2

1.12.1

Fixed: Replaces the publication date by the creation date as Joomla uses the creation date for sorting articles

1.12.0

New: Add a button to remove the categories prefixes
New: Option to not use the first post image as the featured image

1.11.0

New: Import external media (as an option)

1.10.9

Fixed: Broken links to author pages

1.10.8

Fixed: The usernames with Greek characters were not imported

1.10.7

New translation: Russian (Thanks to Julia N.)
New: Compatibility with the dynamicImage mambot (Joomla 1.0 and Mambo)

1.10.6

Fixed: Categories hierarchy lost when parent categories had an id greater than their children
FAQ updated

1.10.5

New: Redirect /view URLs
Fixed: With a multisite installation, delete only the current blog users and not all the multisite users

1.10.4

Fixed: Posts were not imported when the skip media option was off

1.10.3

Fixed: Categories hierarchy lost when parent categories had an id greater than their children (Joomla 1.6+)
New: Add hooks for extra images and after saving options

1.10.2

Tested with WordPress 3.5.1
New: Add hooks in the modify_links method

1.10.1

New: Add a hook for extra options
Fixed: Move the fgj2wp_post_empty_database hook
FAQ updated

1.10.0

New: Compatibility with Joomla 3.0
New: Option to delete only new imported posts without deleting the whole database

1.9.2

Fixed: URL redirect works with sticky posts

1.9.1

Fixed: the internal links where not modified on pages

1.9.0

Tested with WordPress 3.5

New: Button to test the database connection

New: Improve the user experience by displaying explanations on the parameters and error messages

New: get_categories hook modified to be able to migrate non K2 databases even when the K2 module is activated

1.8.5

Option to not import already imported medias

1.8.4

Add a hook for Flexicontent module

1.8.3

Fixed: Compatibility issue with WordPress < 3.3

1.8.2

Fixed: Cache flushed after the migration

1.8.1

New: Better compatibility for copying media: uses the WordPress HTTP API

1.8.0

New: Enable modules

New: Compatibility with PHP 5.1

New: Compatibility with WordPress 3.0

New: Better compatibility for copying media (uses cURL)

1.7.1

Fixed: Bug in the URL rewriting module

1.7.0

Update the FAQ

1.6.0

New: Compatibility with Joomla 2.5

New: Migrates Joomla 2.5 featured images

Code restructuring

1.5.0

New: Migrates all users. Users which are not authors are imported with the subscriber role.

1.4.0

New: Compatibility with Joomla 1.0 and Mambo 4.5 and 4.6

1.3.1

Fixed: Clean the cache after emptying the database

Fixed: The categories slugs were not imported if they had no alias

1.3.0

New: Compatibility with Joomla 1.6 and 1.7

1.2.0

New: Can import posts as pages

Fixed: The keywords were not imported

Translation: German

1.1.1

Fixed: Doesn’t import empty authors aliases

Update the FAQ

1.1.0

New: Migrate the authors alias in the custom field “author_alias”

1.0.4

Tested with WordPress 3.4

1.0.3

Fixed: Conflict between Joomla URLs and events URLs that begin with numbers

1.0.2

Fixed: Add “c” in the category slug to not be in conflict with the Joomla URLs

1.0.1

New: SEO. The Joomla URLs are automatically redirected (301 redirection) to the new WordPress URLs using the permalink settings. So the old URLs don’t appear as “404 not found” and all traffic is kept.

1.0.0

Initial version : Migrates the authors