In order to run, WPML requires the following:

  • WordPress 3.9 or later
  • PHP 5.3 and above with memory limit of at least 128MB (see WP memory settings). Keep in mind that the required memory for your site depends on your content, theme and all plugins.
  • MySQL 5.6 and above.
  • That you can create tables in your database.
  • Multibyte String extension for using WPML String Translation
  • SimpleXML extension for using XLIFF files in WPML Translation Management.

WPML may run on earlier versions of PHP and MySQL, but we can’t test that. If you’re using earlier versions, we strongly recommend enabling WPML’s debug mode. This will surface any PHP errors and let you know if things don’t run as they should.

Feel free to comment here about using WPML with other versions.

How to check which version of PHP you’re actually using

Some shared hosting companies have installed both PHP4 and PHP5. The best way to check which version you’re actually using is to ask the PHP processor itself (not the technician in the hosting company).

Create a file called php_info.php and put it in your WordPress directory (just next to wp-config.php). This file should contain the following:

<?php phpinfo(); ?>

Not a big deal, right? If you need to, you’re welcome to download it as a ZIP file. Grab (of course, you’ll need to unzip it before uploading to your server).

Once there, open a browser and go to:

You should see something like this:

php-info.php showing the PHP version on the server

php-info.php showing the PHP version on the server

On top, it says which version of PHP you’re running. If it says PHP Version 4, it’s not going to fly. The best thing to do is email your hosting company and ask them how to enable PHP5.

Permalink structure

WPML adds language information to URLs. It’s been tested with the following permalink structures:

  • The default
  • /%year%/%monthnum%/%postname%/


Other permalink structures may work too, but can cause problems on different configurations. In all our sites, we’re using /%year%/%monthnum%/%postname%/.

For pages, you’ll get the exact same URLs as with /%postname%/. However, with this permalink structure, there’s no way WordPress will confuse between pages and posts, triggering potential problems for language resolution.