This plugin adds IDN support to WordPress, making it an IDNA application. An IDN is a domain name that contains non-ascii characters.
This plugin enables one to set the WordPress address (URL) to an IDN. (instead of the Punycode Representation)
Examples of an IDN:
“An IDNA-enabled application is able to convert between the internationalised
and ASCII representations of a domain name. It uses the ASCII form for DNS
lookups but can present the internationalised form to users who presumably
prefer to read and write domain names in non-ASCII scripts such as Arabic or
Hiragana. Applications that do not support IDNA will not be able to handle
domain names with non-ASCII characters, but will still be able to access such
domains if given the (usually rather cryptic) ASCII equivalent.” –
IDN entry at Wikipedia
In simple terms, this plugin allows one to set their blog url to an IDN.
If you are interested in seeing what the PUNYCODE version of your IDN is, here is an online conversion tool
As an example:
Frau Müller has a blog and wants to use the IDN, http://www.müller.de
Currently, she would have to set the WP blog url, (General Settings menu) to
the Punycode version: xn--mller-kva.de, (which is the ascii representation
of müller.de) this would allow users using a IDN aware web browser to access
the site using the desired url: http://www.müller.de
(and also of course, xn--mller-kva.de).
It is more convenient for Frau Müller to use the actual IDN
http://www.müller.de as the WP blog url setting (General Settings menu),
this plugin enables that functionality.
There are a few caveats with using this plugin, depending on what Browser, Operating
System and versions used, one can get unexpected results.
Firefox >= 3.*
Firefox supports IDN’s but maintains a ‘whitelist’ of ‘safe’ domains.
.com, .net, .eu are not white listed for safety reasons, so IDN’s on these
domains will display as Punycode. see bug:
There is an new (‘experimental’) Firefox add-on,
IDN Navbar, which
will enable all (whitelisted – Punycode) domains to display as IDN’s.
So, if using Firefox and this plugin you (and your visitors) may want to install that addon.
Internet Explorer >= 7.*
Safari/Opera 10.* seem to display IDN’s for all domain’s fine. (untested)
WP plugins have a ‘stable tag’ requirement for distribution, however, at this
time, I consider this plugin to be Beta quality at best.
It is possible to lock your self out of the administrative section of your blog
NOTE make sure you are using an IDN capable web browser when enabling this plugin.
NOTE Unfortunely, Current Firefox versions display the Punycode version and
NOT the IDN. For more details, (and work around) see the ‘Other Notes’ Link
(Arbitrary section – readme.txt)
IE7/8, Safari, Opera10 all display the actual IDN, Firefox (and Chrome)
navigation bar’s display the IDN as Punycode. (i.e. www.xn--)
There are some security issues with multi-byte chars and phishing, so this is
Mozilla’s current approach, this may change in the future, as some folks are not
happy about it.
another related, one: https://bugzilla.mozilla.org/show_bug.cgi?id=354592
Because this plugin effects how you access your site, installation is slightly more
involved than most plugins.
If you installing this plugin, I would recommend, if possible, that it is the
first thing you do on your blog, before you add any content, just in case
something goes wrong, this will minimize downtime.
NOTE If something goes wrong and you cant access the WP admin area after
changing your url, here are some instructions for
resetting your url
Please report any bugs you find to the author of this plugin
NOTE: This plugin requires PHP5
See The Notes in: ‘Other Notes’ below before installing
Point a web browser to WP plugins
Search for idna, download and upload to your web host.
Copy the whole idna directory to the /wp-content/plugins/ directory of your WP blog
Access the administrative section of your WP blog.
(In a typical default installation, WP determines your hostname and sets the WP blog url field
to the Punycode verion of your url, so you should be able to access the administrative section
of your WP blog using the Punycode version of the IDN) if that is not the case, you will first
have to set the blog Url to use the Punycode version of your IDN, so you
can access the administrative section to activate the plugin.
To get the PUNYCODE version of your IDN, here is an online conversion tool
Activate the plugin IDNA through the Plugins menu in WordPress
Change your WP Url to now use your IDN
- Navigate to General Settings menu
- set the WordPress address (URL) field to your IDN name (*)
- set the Blog address (URL) field to your IDN name
- Save Changes
If something does go wrong and you get locked out of the admin section, see
the notes in ‘Other Notes’ (Arbitrary section), to regain access.
- Unfortunely, for security reasons, current Firefox versions will display the Punycode
version and NOT the IDN. For more details,(and work around)
see the ‘Other Notes’ Link (Arbitrary section – readme.txt).
- Q: What is an IDN? Do I need this plugin?
A: If you don’t know, you don’t need it.
In a nutshell:
IDN is an abbrevation for “Internationalized Domain Name”
Internationalizing Domain Names in Applications (IDNA) is a mechanism defined
in 2003 for handling internationalised domain names containing non-ASCII
These names are typically written in languages or scripts which do not use the
Latin alphabet: Arabic, Hangul, Hiragana and Kanji for instance.
IDN info at Wikipedia
- Q: Do you use a IDN library in this plugin?
A: Yes, this one, Php_Net_idna.
Many thanks to the author for their fine work on this great library!
Q: My URL is an IDN in the .com space, how come Firefox show’s http://xn-
then some characters that are not my IDN?
That is the Punycode representation of your IDN. There is an new (‘experimental’)
Firefox add-on, IDN Navbar,
which will display the IDN instead of Punycode. So, if using Firefox and this
plugin you (and your visitors) may want to install that addon.
* bug fixes: creates invalid urls in RSS feeds (from Chris Ramey)
* bug fixes: 404 on bulk actions, move to trash, empty trash (edit.php)
- I’m calling this a stable release for the ‘stable tag’ requirement, however, I haven’t received enough feedback to actually consider it stable yet.
- Initial Release