Learn about the top 2016 CMS trends. Read on.

I love developing and in turn solving problems with software, it’s something I do whether I’m getting paid or not.

As a couple of big TYPO3 to WordPress conversions are coming up, I wanted to revise my TYPO3 Importer for them. The 1.0 TYPO3 Importer releases sufficed for small, simpler sites with hundreds of news, but there were lots of little things I wanted to improve and now I’ve completed them for the sites with thousands of news.

Big strides were made in improving import speeds, preventing duplicates, handling missing media, wrapping related files and links content sections in membership oriented shortcodes and much more.

Read below for more details. If there’s more options you want, let me know via the TYPO3 Importer page at WordPress or by commenting below.

Easily import thousands of tt_news and tx_comments from TYPO3 into WordPress.

Stuck? Axelerant's WordPress Support is What You Need Learn More

Contributors: comprock

Donate link: https://axelerant.com/about-axelerant/donate/

Tags: typo3, importer

Requires at least: 3.0.0

Tested up to: 3.2.1

Stable tag: 2.0.1


TYPO3 Importer brings your TYPO3 news, related media and comments into WordPress with minimal fuss. You can be as selective or open as you’d like for selecting which tt_news records to grab. Import can be interrupted and restarted later on.

Inline and related images will be added to the Media Library. The first image found is optionally set as the Featured Image for the post. Inline images will have their source URLs updated. If there’s more than one related image, the [ gallery ] shortcode is optionally inserted into the post.

  • Requires remote web and database access to the source TYPO3 instance.
  • Comments will be tested for spam via Askimet if you have Askimet configured.
  • Files and links will be appended to post content with optional shortcode wrappers, like [member]|[/member].
  • Post status override is possible, but hidden posts, will be set as Drafts.
  • Opps and Restore options provide quick clean up and hiding of imports.

TYPO3 Importer Options

TYPO3 Access

  • Website URL
  • Database Host
  • Database Name
  • Database Username
  • Database Password

News Selection

  • News WHERE Clause
  • News ORDER Clause
  • News to Import
  • Skip Importing News

Import Options

  • Default Author
  • Protected Post Password
  • Override Post Status as…?
    • No Change
    • Draft
    • Publish
    • Pending
    • Future
    • Private
  • Insert More Link?
    • No
    • After 1st paragraph
    • After 2nd paragraph
    • After 3rd paragraph
    • After 4th paragraph
    • After 5th paragraph
    • After 6th paragraph
    • After 7th paragraph
    • After 8th paragraph
    • After 9th paragraph
    • After 10th paragraph
  • Set Featured Image?
  • Insert Gallery Shortcode?
    • No
    • After 1st paragraph
    • After 2nd paragraph
    • After 3rd paragraph
    • After 4th paragraph
    • After 5th paragraph
    • After 6th paragraph
    • After 7th paragraph
    • After 8th paragraph
    • After 9th paragraph
    • After 10th paragraph
    • After content’
  • Related Files Header
  • Related Files Header Tag
    • None
    • H1
    • H2
    • H3
    • H4
    • H5
    • H6′
  • Related Files Wrap
  • Related Links Header
  • Related Links Header Tag
    • None
    • H1
    • H2
    • H3
    • H4
    • H5
    • H6
  • Related Links Wrap
  • Approve Non-spam Comments?

Testing Options

  • Don’t Import Comments
  • Don’t Import Media
  • Import Limit
  • Debug Mode


  • Convert Imported Posts to Private, NOW!


  • Delete…
    • Prior imports
    • Imported comments
    • Unattached media
  • Reset plugin


  1. Upload the typo3-importer folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Set TYPO3 access via Settings > TYPO3 Import Options
  4. Import via Tools > TYPO3 Importer

Frequently Asked Questions

Can I sponsor importing TYPO3 pages?

Yes. Any sponsoring would be greatly welcome. Please donate and let me know what’s wanted


  1. Where to find TYPO3 Importer in Tools
  2. TYPO3 Importer settings
  3. TYPO3 news entries being imported




  • Installation directions update
  • Revise readme description
  • Update TODOs
  • Import meta keywords and descriptions for All in One SEO, Bizz themes, Headspace2, Thesis and Yoast’s WordPress SEO
  • Update Options > Settings verbiage
  • Update TYPO3 Importer verbiage
  • Set default author
  • Enable debug mode to handle news_to_import directly for testing purposes
  • Ignore file:// sources, they’re none existant except on original computer
  • Apply display none to images with file:// based source
  • Update text domain and language files


  • Remove TYPO3 tx_comments approved requirement
  • Add askimet_spam_checker to comment importing
  • Position gallery shortcode in post content
  • Position more links in post content
  • Disallow single image galleries
  • Migrate importing to one-at-a-time model
  • Separate import and option screens
  • Configure related files and links header text, tag and wrapper
  • Enable custom news WHERE & ORDER clause
  • Enable specific news uid import/skip
  • Require TYPO3 access fields
  • Check that TYPO3 site exists on Website URL
  • Import related comments during each news import
  • Remove comment threading since TYPO3 didn’t support it
  • Update screenshots
  • Create users with emails based upon author name and domain if no email given
  • Don’t create users for authors with no email or name
  • Create top right meta links between options and import screens
  • Make best attempts to not duplicate authors as users
  • Set keywords and descriptions for All in One SEO Pack


  • Update description


  • Update Changelog


  • Update TYPO3 Importer settings screenshot
  • update CHANGELOG
  • Add force_private_posts(), Great for when you accidentially push imports live, but didn’t mean to;
  • Remove excess options labels
  • fix options saving
  • Force post status save as option; Select draft, publish and future statuses from news import; Set input defaults;
  • Clarify plugin description; Add datetime to custom data; remove user_nicename as it prevents authors URLs from working;
  • remove testing case
  • prevent conflicting usernames
  • update Peimic.com plugin URL


  • set featured image from content source or related images
  • seperate news/comment batch limits
  • CamelCase to under_score
  • rename batch limit var
  • lower batch limit further, serious hang 10 when doing live imports
  • lower batch limit due to seeming to hang
  • correct plugin url
  • revise recognition
  • Validate readme.txt
  • Inital import of “languages” directory
  • add license; enable l18n


  • Initial release

Upgrade Notice



  • Convert related links like Getting the Most Out of Your LMS: http://www.2elearning.com/markets/executive-suite/top-stories/top-stories-item/article/getting-the-most-from-your-lms.html to Getting the Most Out of Your LMS

Still stuck? Write us.

  • Raymond

    hi mine stop responding to import this after 15,000 post.. and all i get is the total news still at 10,000 more to go and keep showing 0% for more than 1 hour.. please advise.. thanks

    • Were any news items imported? Did you try loading the importer screen again and clicking import?

      The importer should ignore the prior imports and you can keep going.

      If stuck at 0% for more than a few minutes, then there’s a connection or data mapping issue. I might need to take a look at your system to debug further.

    • Have you tried the latest TYPO3 Importer? I just pushed up 2.0.4 this evening. If you’re still stuck, please contact me via http://aihr.us/contact-aihrus/ so that I can debug the issues.

  • Hi Michael, I love the “thought” of the importer, but couldn’t get it to work. Of course, the first problem may be that my version of WP is 3.3.1 (and if that’s the issue, then I’ll try to be patient and wait).

    I’m trying to import about 325 files: AND tt_news.deleted=0 AND tt_news.pid=25

    However, the issue is that the TYPO3 access says my sites aren’t actually TYPO3 (which most assuredly they are). I have a multiple site installation (which may be why it can’t find the sites), but I checked and have used the primary URL (effectivechurch.com) as well as a couple of the other URLs. The error I get is “TYPO3 site not found at given Website URL.” I’m open to suggestions … (and I really don’t want to have to import all these by hand :-)

    • Bill,

      Thank you for the comment and love. Did you try TYPO3 URL “http://effectivechurch.com/”?

      While I haven’t tried TYPO3 Importer with WordPress multisite, I do think it’ll work because the import is done from within the desired WordPress site.

      If you’re still stuck, email me privately or via the contact form with WordPress access details for me to check things out.


      • Michael, thanks so much for the extra work you did to get the extension/plugin working. You literally saved me hours and hours of work. Great Support!!!

        • Bill, you’re very welcome for the help. I hope my software does enable people to do more than they expect, easily.

  • Walljet

    Hi Michael,

    i’d installed the newest WordPress version with Woo-Theme Whitelight.

    After plugin installation and activation I got a white Page (Backend was totally crashed). Do you know this problem?

    Best regards


    • Jürgen, Thank you for writing. Did you look at your web server error_log for the reason why of the blank page? Michael

  • Hey Michael
    thanks for this plugin or at least for the idea… unfortunatly it is not running on my testsite.
    First: the plugin slows down my WP dashboard as soon as it is activated… after connecting to the TYPO3 Page and importing NOTHING happes – the browser is working and after several minutes it says:
    done – but no files / news / comments are imported

    Could you please help?

  • Pipou

    Hi Michael,

    Your plug seems great but how can it import the typo3 user table when there is custom fields in typo3 ?

    In fact i’m preparing to migrate a typo3 intranet to wordpress, and i’d like to get your opinions…

    I can easily migrate post “by hand” because there are a few but my problem is the user table.

    Could you give me advise on this method please ?

    – Export the Typo3 user table with phpmyadmin
    – Add custom field (the ones of typo3) with WP plug Advanced Custom Field in wordpress
    – Create a .csv
    – Import with WP ALL IMPORT plug in

    Do you think it would be easier using you plug ?
    thanks a lot for your help !!

    • Pipou,

      TYPO3 Importer is geared towards tt_news importing and the data carry over from TYPO3 is limited to name and email. See https://github.com/michael-cannon/typo3-importer/blob/be0e0e0ef7720ee736c9fc2ae89965440144c8a1/typo3-importer.php#L721.

      If you import news with TYPO3 Importer, you can then write a custom PHP file to pull the user data and insert as user meta.

      If stuck, write me at support@aihr.us. I think you’ve given me some ideas on how to enhance TYPO3 Importer.

      • Pipou

        Hi Michael,

        Thanks a lot for your answer, i’m afraid to not understand everything…
        Do you think i should use my method to import Users and your plug for news post (every posts has an attached pdf file).
        Thanks a lot for your help

        • In short, experiment. I think importing the users yourself and then running TYPO3 Importer would be good start.

          Please ensure to have database and file backups beforehand.

          • pipou

            do you mean that the source database (typo3) can be touched using your plug ?

  • Pipou, can you please more specific about what you mean? The TYPO3 Importer plugin does reach out to the original or a localhost database. I’m not in a position to further develop that plugin for a while to come. As such, I can only provide guidance for now.

  • Guenter

    Hi there…

    really great plugin. When I try it on my site, it imports all the text but has problems getting the images. For each News including an image I get this error. Any idea?

    function (){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);”function”===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&”string”!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this}


    • Guenter, I’m sorry to say, that gobbledygook means there’s a problem that’s not caught in the plugin. As such, because the expected JSON isn’t provided, that stuff is shown instead. It’d take a little debugging to figure out the problem. Have you tried a single import using debug mode and seeing if anything more helpful comes up?

  • Guenter

    Hi Michael,

    Thanks for your kind response. I analysed the source code a few hours ago – took me some time to get into it – and found, that the problem is related to the use of CURL.

    I replaced your function “file_get_contents_curl” in “typo3-importer.php” to make it work:

    function file_get_contents_curl( $url ) {
    $request = new WP_Http;
    $result = $request->request( $url );
    $data = $result[‘body’];
    return $data;

    Another question has come up though:

    In the typo3 installation in question the tt_news module was extended and uses an non-standard field for storing an additional image. I would like to read that image and use that one as the main image. Any hints where to look?


    • Thank you for the fix. I’ve added this as a bug report via https://github.com/michael-cannon/typo3-importer/issues/3.

      On your additional image, what do you mean? Are you looking for what db field to pull or where to look find such? If you’re editing source code, modify the `tt_news` SQL query for the image location pulled to be of your custom if possible.