WordCamp Nijmegen 2018 (part 3)

On August 30th, August 31st and September 1st we had a WordCamp in Nijmegen in the Netherlands. It is an ideal opportunity for the Dutch WordPress community to meet and exchange ideas.

This is the third part of my report about my experiences, again decorated with the beautiful cartoons by @StudioMIK. Also read part 1 and part 2.

Sunday September 1st

First I visited the stalls of the sponsors.

I started at Yoast, where I picked up a copy of Yoast Magazine.

After that I went to Savvii, where they explained the advantages of their specialized WordPress hosting again. As a bonus I got a fun sticker.

At the Level Level stall I found some beautiful postcards with tips about #a11y = accessibility (for people with a disability). They have seven different versions of those, each one for a different kind of disability. They immediately gave me a small stack with one of each. Tips about accessibility are useful for every website, because they make your site more usable for people without a disability as well, and for Google, so it improves your SEO!

At the Plesk stall @CaroleOlinger asked me whether I had “something with socks”. “I wear them”, I admitted quietly. Fortunate she did not hold that against me and she handed me a pair of #ElvisPlesky socks.

Of course I also visited the MultiLingualPress stall. After all, multi-language websites are one of my favorite subjects. I learned there that you can download version 2 of MLP for free, so that you can give this plugin a try. I have put that on my TODO list…

How it all started: Pay It Forward with WordPress

The first talk I went to see was by Paula van Gestel, @Paula_vG. She had a very personal story. At first sight one would think that something like that is not suitable for a WordCamp, but it certainly was.

The central theme was Pay It Forward. That means people provide a service, without getting paid for it. But the restriction is, that the person who benefits from the service, has to go provide services to others under the same conditions. In the end, this is beneficial to everyone involved… And that is how it fits in with the WordPress Open Source philosophy. She gave some very good examples of that.

Read more: https://www.payitforwardfoundation.org/

An analysis of the under-exposed risks caused by information leaks in WordPress

Niels the Blaauw, @NdeBlaauw, told us about an investigation he had done in 66,000 of the largest WordPress-sites. He didn’t need to get out of his chair to do that, because the REST-API allows you to pilfer lots of information from WordPress sites.

83% van de geïnfecteerde sites draaide op WordPress

83% of the infected sites were running on WordPress

I was truly shocked by the amount of information you can harvest in this way. Isn’t it odd that we are advised to shut down the XML-RPC interface of our websites, while the REST-API offers similar possibilities?

Of course I have asked if we could shut down that scary REST-API in our sites. And it turns out we can. Up to WordPress version 4.7 were there even built-in filters which allowed you to do that, but nowadays we can still do it using a plugin like Disable REST API.

What linguists can do for your SEO

Two talks were about language. Of course I wanted to see those. The first one was presented by Irene Strikkers, @IreneStrikkers from Yoast.

I was astonished to learn how many linguists are already employed at Yoast. But it is a very good idea for Yoast to make use of their knowledge, in particular for the ever-improving text analysis in the Yoast SEO plugin.

The text analysis does not work equally well in all languages. So I was correct to point out to my students who build Turkish websites that they should experiment with different versions of their keywords as a focus keyword. “su” means “water” in Turkish, but Yoast SEO has no idea that “suda” means “in the water” and “sudan” means “from the water”.

They are continuously working on this kind of stuff, more and more languages are supported in that way. Unfortunately I hadn’t been able to find out which languages are supported and which are not… Until Irene told me: the supported features for each language can be found in the Yoast knowledge base. But the user interface of the Yoast SEO plugin has been translated into all languages, and that is a very good start already.

Read more:

Copywriting: how to make the visitors on your website read on

The second linguist who spoke to us was NinaRosa Juffermans. And she certainly managed to make us listen on. Her talk was not just about language, but about marketing as well. Because that is what copywriting is: writing to convince your target audience.

And all the standard tips about writing good English (or Dutch) apply here. Very nice to see there still are young people who are careful to avoid mistakes in spelling and grammar!

When she was explaining what copywriting is, she made use of Mentimeter (www.mentimeter.com), an interactive online tool that allows the people in your audience to enter words on their phones that become visible on screen in a kind of tag cloud.

She had tips for how to focus on your target audience, but also clear examples of common mistakes, and how to avoid those.

Read more: www.ninarosadenkfabriek.nl

Mike’s Personal Branding Workshop

Just like the day before, I wanted to do some work, and again it was on a subject I do not have a natural talent for: Personal Branding.

Mike Rynart, @MikeRynart, explained how a strong personal brand can help you to reach more clients, get a clear picture of your target audience, and make a compelling message for them.

Why do you need that? And how do you make a simple message, that people understand? And what should you put on your website? I may not be a star in selling myself, but I do find these kinds of workshops inspiring. And if I happen to learn something useful… Even better!

Again we were confronted with Sinek’s “Start with Why”. It is a story many gurus and coaches keep falling back to. And the first time I heard of it, I was enthusiastic too, but I my doubts are getting bigger and bigger.

Why do you do business? The honest answer is of course that you need an income to sustain yourself and your family, but that is not what Sinek wants to hear. You will have to come up with a loftier goal.

Of course I would like to be working on things that are beneficial to humanity all the time, but if that means I have nothing to eat and cannot pay my mortgage, that philanthropic goal would not be reached either.

There was a lot of attention for Instagram in this workshop, a social medium I have fortunately been able to avoid so far. But it was interesting to hear more about it

Read more: https://mikerynart.com/

0.6 seconds is the new slow

The time your site needs to load

The final keynote at this WordCamp was presented by Jono Alderson, @jonoalderson. Jono is a digital strategist, marketing technologist and full-stack developer with more than ten years of experience in SEO, analytics, brand and campaign strategy etcetera…

People who were hoping to sit back and relax during this final talk, reflecting on everything they had learned in the past few days, were out of luck! Jono’s story was about website speed. And, completely in style, he spoke extremely fast, and slide after slide was projected in a quick succession. If nothing else, it was enjoyable as a great theatrical performance.

Find the slow stuff

But in the meantime, he was getting his message across, at least I hope I understood him correctly: There is not one thing that you can do to magically speed up your website. On the contrary: there are hundreds of small things you can do, and they all contribute to the final result. It is important to use tools to measure what really happens when your pages are being loaded. Once you know that, you can optimize the parts that make the greatest difference.

Read more: https://www.jonoalderson.com/


WordCamp Nijmegen 2018 (part 2)

On August 30th, August 31st and September 1st we had a WordCamp in Nijmegen in the Netherlands. It is an ideal opportunity for the Dutch WordPress community to meet and exchange ideas.

This is part two of the report about my experiences.

I had already noticed on the Contributors Day that somebody was making a drawing, but I found out what he was doing only later on: Maikel Verkoelen from @StudioMIK has created a truly wonderful recap  in cartoons of the sessions he visited at this WordCamp. He has given me his consent for using parts of it to lighten up this report.

Saturday August 31st

On this second day the WordCamp was really getting started: talks, workshops, sponsor booths… Is it a real pity you cannot visit all the presentations. So it is very important to plan what you want to go see in advance.

The Privacy Paradox: We all need to start acting

The first keynote was by Robert-Jan Budding, international marketeer at Savvii.

If you've got nothing to hide, you've got nothing to FEAR!!

A well-known statement is: “I don’t worry about privacy, because I have nothing to hide.” That is of course a very narrow-minded point of view. And do you really have nothing to hide? If you were being watched 24/7, you would most likely change your mind.

We are not up to it!

And it goes further and further. Do you know who has data about you? And do you know how they use it? We all give permission to use our data, without really reading the terms and conditions. Why is that? We cannot oversee all the consequences; we just aren’t up to it!

I feel I can trust you.

I feel I can trust you.

In the past, privacy used to be simple. When you meet someone in real life, you can feel whether you can trust them. And if you closed your front door you had privacy. But nowadays we are in all sorts of databases all around the world. And we have lost the trust you could gain in direct human contacts.

If you think you have nothing to hide, you are not doing yourself a favor. You need room for experimentation and the right to make mistakes to be creative.

So it is important that businesses and organizations take great care when handling the data their clients, members, readers or participants have agreed to share with them. The website plays an important role in this, so it is up to us, WordPressers, to pay attention to this!

Read more: Future Crimes by Mark Goodman

Why site structure is important for SEO

The second speaker in the main track was Marieke van de Rakt, @MariekeRakt, co-owner of Yoast.

Marieke started with an anecdote about Alice. Alice likes to write stories. She writes one every day. And after that she throws them on the floor. After three years she has written more than 1,000 articles and they are all spread out on the floor. How can she ever retrieve a specific story if she wants to? She had forgotten to create a structure.

Such a structure is not only important for yourself, but also for other people, and for Google. You create the structure by making links. Google follows links. The more links a page gets, the more important it is. In this way you can guide Google to the good stuff and your visitors as well.

Her talk made me wonder: should we be linking to our posts at all? I mainly want to lead my visitors to the pages. Her reply: “A difficult question… But yes, your posts deserve a few links too.”

Read more: https://yoast.com/author/marieke/

A Marketer’s Guide to Developing Empathy (for Developers)

After Marieke, Bridget Willard, @YouTooCanBeGuru, entered the stage. She is a marketing consultant and often gets asked to be a keynote speaker all around the world.

Before the talk began, a developer came to ask of this talk was really intended for developers, because that was not immediately clear from the title. Developers don’t really like marketing, or other “soft skills” for that matter. But is marketing really that soft? Not according to Bridget: it is a science!

Bridget Wllard says Marketing is a science

The main thing you need to do is to get a real understanding of who your potential clients are and what is interesting to them. And you can get that by meeting them. She referred to the research work by Dian Fossey, who studied gorillas by living with them as part of the group. She behaved just like the gorillas and therefore she was totally accepted amongst them. Do the same: find out where your clients meet and join in with them.

Read more: bridgetwillard.com

The Eternal Struggle: Backward Compatibility VS Technical Debt

Backward Compatibility: a two-edged sword

Alain Schlesser, @schlessera, is a freelance software engineer, WordPress consultant and entrepreneur from Germany.

His talk was about technical debt. Technical debt is a loss in software quality that builds up over time due to the inconvenient design decisions you are forced to make, even if you are working in a prudent way. The kind of decisions you would want to say NO to, but you have to say YES instead. This happens a lot in WordPress development, because at WordPress people are trying very hard to retain backward compatibility with previous releases.

A good way to explain about technical debt is the technical debt quadrant. It shows how technical debt arises and what happens when you deal with it in a matrix presentation.

No matter what you do, if you have a debt, you pay interest: you pay interest in the form of additional work that you have to do to handle the problems in your software. It makes maintenance more and more difficult and it will be getting more and more complex to add new functionality.

Backward Compatibility cause TEchnical Debt

A fun fact is, that even the bugs in your old versions become features as you go along: people are building all sorts of things that interact with your software and they are counting on a certain behavior of it, so you cannot change that.

Don’t fix it…

I will never forget what happened, once upon a time, when I corrected a spelling mistake in a software program. It caused another, seemingly unrelated, program to suddenly fail: it turned out that other program was processing the output of program I had changed. And it would only work if it got that output WITH the spelling mistake!

Read more:

Browser APIs: the unknown Super Heroes

The next session I watched, was presented by Rowdy Rabouw, @RowdyRabouw, a web developer with more than twenty years of experience in HTML, CSS, JavaScript, and PHP.

He told us about a lot of APIs that have been built into almost every web browser while we were not looking. They are mainly functions to work with the hardware of your device. He spoke about the Geolocation API, the Battery status API, the Device memory API, the Web audio API, the Media capture and streams API, the Vibration API, the Page visibility API, the Online offline status API, the Speech synthesis API, and the Speech Recognition API.

He showed a demonstration of almost all these APIs and he had even brought along a little robot, which could be controlled via the Bluetooth API, even by the audience!

Who is afraid of the Business Plan?

It was time to get some work done: Francesca Marano, @FrancescaMarano, gave a workshop about creating a business plan. I detest business plans, but I am willing to improve my ways. So if somebody knows a good way to do that…

When Francesca first started her business in 2011, she did not have a business plan. She was a web designer officially, but she took on all kinds of work. And she also managed to spend a lot of money, so the whole business collapsed after only eight months. And she had spent a lot more than the turnover she made.

Later, she started again, this time using a business plan. She claims you can make every business a success, if you focus on a specific market and work with measurable goals and a clear strategy.

This workshop was originally designed to take an entire day, but she had condensed that into three hours. And now she had shortened it even more into one hour and a half to present it here. Clearly we were in for a real sprint!

Francesca has a very original approach to making a business plan. No tables and graphs, but color pencils, felt-tip pens, crayons, stickers, and drawing-paper. We wanted to make a “right brain business plan”.

A plan based on your own values and standards… Maybe you guessed it: she referred to the famous book by Simon Sinek: “Start with Why”. You see that everywhere these days. And when I first heard about it in 2012, I was very enthusiastic. But in all those six years I still haven’t managed to apply it to my own business. Maybe I could learn how to do that today?

Francesca had created the basis of her own business plan during a boat trip. She was traveling on a ferry for six hours, without any distractions, so she could totally focus on it. She had also brought her original plan along today. It was very colorful and it had thick pages, much like children’s book. It was partly written English and partly in Italian. I could have spent an hour and a half studying that plan, but there was no time for that. We all got a quick look at it as it was being passed along in the classroom.

And of course somebody else’s plan is not what you need. Your own business plan is something very personal, that exactly tells how and why you are different from all those other companies that appear to be doing the same work.

I think we could have learned a lot more, given enough time.

Read more: https://francescamarano.com/

An online learning environment with WordPress and LearnDash

While I was attending the workshop, I unfortunately missed the presentation by Rosanne van Staalduinen about LearnDash. I have a great interest in eLearning and I have created many educational websites with ATutor in the past. And right now, now the future of ATutor is unclear, I should learn more about the alternatives.

I hope this session will soon be available on WordPress.tv…


WordCamp Nijmegen 2018 (part 1)

On August 30th, August 31st and September 1st we had a WordCamp in Nijmegen in the Netherlands. It is an ideal opportunity for the Dutch WordPress community to meet and exchange ideas.

The WordPress community is a place where everybody can feel welcome, no matter what their gender, sexual orientation, disability, ethnicity, religion, preferred operating system, programming language or favorite text editor may be.

Of course they all share one great passion: WordPress!

We have seen so many beautiful things there that I cannot fit it all into one article, so I am writing a mini series about it. This is part one.

 Contributor day

I have visited WordCamps in the past, but I had never been to the contributor day before. Now that I have, I have learned that this is something you should not miss. And nobody has to fear that they cannot deliver a useful contribution. Because, as Taco Verdonschot clearly pointed out in his opening speech: “You don’t need to be productive today. The main point is to learn how you can contribute later from home.”


Soon I was sitting at a long desk with eight other translators, all busy translating little text strings from English into Dutch. How to that, turned out to be easy to learn. There is a good user interface that helps you to get started within a few minutes.

Acht vertalers aan een lange tafel

Polyglots at work

But I do think this process could be made a lot more efficient than it works now. You only get to see the strings one at a time, without the context where they came from. And if the same text appears time and time again, there is no way to make use of a translation memory to save a lot of time. I think the people who created this user interface have not given enough thought to the way a professional translator likes to work. Maybe I should find a way to get involved in the process of working on this user interface for the translators…

Future WordCamps

When I go to WordCamps in the future, I will certainly take part in the Contributor Day again. I would advise everybody to d o that. Such a day gives you a strong sense that you are part of that great community of WordPress users! Maybe I will join a different group than the polyglots next time: it is an ideal opportunity to learn something about some of the other disciplines.


Localization of formulas in Excel

The name of an Excel file

In an Excel sheet I needed the name of my Excel file as a value in a cell. For a problem like this, Google is your friend, so I did a search for “get the name of my workbook into an excel cell“. And of course the first link was a good one, as it pointed me to Excel formula: Get workbook name only. The answer didn’t look very simple by the way:

But I faithfully pasted it into my sheet. Unfortunately it didn’t work! Owww, of course: I was working in the Dutch version of Excel and that wants the formulas to be in “Dutch” too. Apparently Microsoft thinks the users can understand all the math in those difficult expressions, but the English words need to be translated for them.


With some trial and error I translated the formula into Dutch:

Personally I think the Dutch translation is more difficult to understand than the English version, but it worked. That is the main thing.
But when I opened the workbook on a PC with an English version of Excel, the Dutch formula didn’t work of course!

I started looking for a solution. First of all, I pasted the original formula into the cell next to the one that didn’t work. It worked fine on my English language computer. But I expected it would fail again on the Dutch computer. To my great amazement that was not the case: it worked without a problem and the formula had been translated automagically!

So I could have saved myself the trouble of translating the formula? If you look closely, you will notice this is not exactly the same as my own translation: the quoted texts were left untranslated! And yet it works. Apparently the Dutch Excel doesn’t mind whether you write “filename” or “bestandsnaam”.

Translated backwards

Then I took a detailed look at what the English version of Excel had done with my translation. Hadn’t that been translated back into English correctly? Well, almost:

Again the formula had been translated, but not the quoted strings. And the English version of Excel hasn’t got a clue about what a “bestandsnaam” is.


Apparently formulas are stored internally in English or in a binary format, but the content of strings remains untouched. It is not a problem to get formulas from the Internet, but do paste them into a spreadsheet that is in the same language as your formula.

And don’t fall into the trap of using Dutch terms to indicate which information you want to request in the function CELL( … ); the English terms work in the Dutch version of Excel too and your spreadsheet will be usable in all languages.

I would be curious to know whether this tip also applies for the German and Portuguese versions of Excel. Can someone please experiment with that and let me know in the comments below?


WordPress filter repairs WPML

Error 404: File not foundFor a while it wasn’t possible to switch from the English to the Dutch version of my website. The Dutch version was available if you accessed it directly, and it was working fine, but WPML’s language switch didn’t work.
If you used the language switch, you would end up at www.elangco.nl/wordpress/wordpress/wordpress/wordpress/wordpress/wordpress/, not at www.elangco.nl/. Apparently there was some sort of bug in WPML, but it wasn’t solved, in spite of installing the latest version, help from a support person, etc.

I know the background of this problem is that I want my WordPress files located in a subfolder on the site, not in the root folder, but hey, this must be possible, right? I refuse to move the files to the root folder. I like them just where they are.

WordPress filters

But as we all (should) know, WordPress is full of hooks to change its functionality.
It should be possible to change the faulty URL before it is presented to the visitor of the website.
I created this simple snippet of code:

add_filter('the_content', 'rewriteURL');

function rewriteURL($URL) {
$URL = str_replace('.nl/wordpress/wordpress/wordpress/', '.nl/', $URL);
return $URL;

And stuck it into the functions.php of my theme.

And it worked like a charm! The links to the Dutch version all seem to work now.

Press This

But what would happen if I put this message online? The filter would probably work on the content of this posting too, making the problem invisible and making the solution look like “no operation”… And indeed, so it did.

So I had to revisit this post a few times until everything looked hunky-dory. I had to write ‘/wordpress’ six times in my message to make it appear three times in the posting.

Of course editing a file in my theme is not the right way to solve this in the long term, I will have to put my code in a child theme or in a plugin. At least I have shown now, that it will work when I do so.

And what does Yoast think of this?

I routinely use Yoast’s SEO plugin to check my messages. For this message I had chosen a keyword that appeared 16 times in the message. (You can guess what it is, right?) Now Yoast thinks that is too often. Hmm… I would say it is fair use of the keyword in this case: I had to write it many times to explain what is going on here.


More than a year has passed since all this happened. Recently I installed the premium version of Yoast SEO and things didn’t work the way they should. I had to deactivate all my plugins in an attempt to solve this issue. Of course my home-made plug-in was the first one to disable.

It did not fix the problem with Yoast SEO, but the problem with the url also didn’t come back. Maybe the problem in WPML had been fixed in the mean time. I disabled many more plug-ins until only WPML and Yoast SEO were left. (I was afraid I would loose all my settings and the links between translated articles and pages if I would switch off WPML.) But now deabling WPML was the only option left.

And there was something else: in the debug console of my web browser, I could see many failed requests to address the REST API. My WordPress installation is located in elangco.nl/wordpress, so REST API requests should go to elangco.nl as well, but they were going to elangco.com instead.

Learning Dutch

I'm Learning Dutch ButtonIn addition to taking Dutch language classes, it is essential to use your target language in the real world. But all of the students I teach Dutch to have the same problem: Dutch people speak English to them! This is of course very convenient when you go shopping, but when you are trying to learn Dutch, it is more a hindrance than a help.
I think Holland is quite unique in this respect. If you go to France for instance, you will not likely meet anyone who is willing and able to speak English with you. The Dutch are different: most of them speak one or more foreign languages and they are very eager to show they do.
So it was high time to find a solution for this. My students want to get an opportunity to exercise their new skills in speaking Dutch. That is why I have decided to make special buttons for them. On these buttons is the text: “I’m learning Dutch“.
It is my hope that Dutch people, when they read this, will react in the right way: don’t speak English to my students, but speak slowly, articulate clearly, and repeat what you said if necessary.
I will be handing out these buttons to all my students from now on, so if you meet one of them, you’ll know what to do!

Language training Dutch and English

Elangco also provides language training in Dutch and English. We started that last year and it is a great success. Most of my students are ex-pats, people who have been sent to the Netherlands by their company to work here for a year or more. An international company offers these language lessons and is subcontracting us (and many other teachers) to do the actual work.
Meanwhile I have also met ex-pats who do not get such a language training from their employer. They can contract me directly. This is of course an advantage for both of us, because no expensive intermediate organization is involved.
So far these contacts were acquired purely by mouth-to-mouth publicity, since these services were not yet advertized on our website. High time to change that. Read all about it on the page Language training.

Machine translation from Wordfast

I linked my own macro based machine translation into my Wordfast Classic translation workflow. I know many translators frown upon machine translation, but I think it can be very useful. I also think we will see more and more machine translation in the future whether translators like it or not.

Over many years I have developed my own set of macro tools in Microsoft Word that help me improve the speed and quality of my translation work. I know machine translation in general is still very poor in quality, but my macros are quite good actually. So why do I think I can do better than the big players on the market? Because my macros are not trying to do everything for everyone: They are very specific to my language pairs and my client’s subject matter. And of course all translations are handled manually: I do not really trust the machine, I just allow it to help me.

Calling a machine translation macro from WordfastThere was a problem with merging my own solution with the CAT-tool Wordfast: Even though my macro was called I never saw its output when I opened a new translation unit. After struggling with this for a long time, I posted a call for help on the Wordfast support forum at ProZ.com. I got some very helpful replies from John Fossey and Daniel Grau and I kept on researching the problem myself.

The solution I found works in two stages: I have wrapped the Wordfast macro that opens the next segment in a macro of my own and I use the macro call that is done by Wordfast just to set a flag to indicate to my wrapper macro it should do a translation on this segment.

So the way to use this is to call the wrapper macro every time you want to open a new segment instead of the standard macro WfNextSegment that Wordfast uses (linked to the key ALT+DOWN). You can link the wrapper macro to the same key, or to another key, for instance ALT+HOME.

This is the wrapper macro:

Sub MyNextSegment()
' MyNextSegment Macro
' Ask Wordfast to open the next translation unit
' After that do a translation if Wordfast has asked for one
    MyTrigger = False
    Application.Run MacroName:="WfNextSegment"
    If MyTrigger Then
      Call MyTranslate
    End If

End Sub

And this is the trigger macro:

Sub MySetTrigger()
' MySetTrigger Macro
' This is called every time Wordfast wants to call for MT
    MyTrigger = True

End Sub

Of course the boolean MyTrigger has to be declared as a global variable in the module:

Dim MyTrigger As Boolean

MyTranslate is the macro that does the actual translation work. I would like to leave that part as an exercise to the reader. 🙂


Language research with Google Ngram

A language blogger discussing technology is of course very interesting for Elangco. Today I found such an entry, discussing tools for analysing n-gram frequencies in a large database of text. (An n-gram, in language, is a sequence of n words or letters.)

I have always been a fan of the postings and podcasts on language by @GrammarGirl (Mignon Fogarty). But now she has surprised me with a posting on technology. In this post she explains about Google’s Ngram Viewer: A tool for searching word frequencies in the vast database of Google Books.

I didn’t know there were tools like this out there on the Internet, but she even points to several alternatives for the Google tool and explains some (dis)advantages of those. It seems like a great toy to play with, but it can also be very useful.

I used to do language research like this by entering words or short phrases into Google in different spellings and checking the number of hits found. But that will only tell you about the spelling in use TODAY. And of course the fact that a majority of the people on the Internet spell a word in a certain way does not guarantee that spelling is correct at all!

No, if you are looking for correct spelling, use a dictionary. And if you are looking for correct grammar, listen to GrammarGirl!

Anyway, I visited the Ngram pages for a quick look and I noticed that Google even offers the raw data for download. Using that you could do your own research and for instance do a comparison between different spellings of a word. That would solve one of the disadvantages Mignon mentions in her post: The tool only supports limited comparing of different n-grams.

But you will have to work really hard to analyse the material yourself: It is a huge amount of data! They also have statistics from different languages. Unfortunately no Dutch or Portuguese yet…

Multi-language WordPress… Other ways

The ink of my posting on WPML had hardly dried, when the makers decided it was time to turn their plugin commercial. This not only invalidated a lot of what I said then, but also made WPML a lot less attractive for new websites. Existing websites that have been built using WPML are now more or less locked in to keep using it and pay a substantial yearly fee for that.

It seems like a good idea to look for alternatives. I found a site that lists WPML itself, but also 4 alternatives to WPML:

Language Switcher

I have to admit WPML is very professional, so I am not sure any of these four come even close to it in features and flexibility, but I intend to find out. If you have experience with any of these, please tell us by leaving a comment.