One of my awesome clients recently gave me the challenge of getting their website indexed on some foreign search engines. This task was a great fit for me because of my long time background working with localization. While I was confident from the start that I could deliver, it was certainly not without challenges.
- To index on foreign search engines, the content must be translated.
- The site receives millions of visitors a month.
- The site has numerous vital features and customizations.
- The hosting environment is a multi server cluster behind a load balancer.
- The site is using SSL termination through the load balancer.
- Numerous articles are posted every day containing hundreds of words.
If you have worked with localization before, you have surely heard of WPML. WPML is great. It is a fully featured translation center for a WordPress site which covers most use cases and even many you will never use. It is widely used and widely loved. There is some serious downsides to this plugin. It is heavy (I mean orca heavy). Initial profiles suggest losing 30+% site performance just for having it active with some needed features. It also conflicts with everything. If you have nothing custom, this will likely not be an issues, but on a highly customized site, you will spend hours troubleshooting and hacking around the conflicts. For this particular use case, there is no way I could suggest this solution to my client in good conscience. It would have cost them a fortune in hosting and development time.
I love LionBridge. It is a translation service with a really nice API. The translations are first class and they come back relatively quickly. The pricing is also reasonable. The downside is, to have a fully featured translated site, you have to translate all content. On a site with multiple articles published every day the costs of this service become staggering. In this case it was estimated to be $25,000-$30,000 a month. Excellent for a site with lots of static pages, not feasible for a site that is constantly updated.
With no good plugin out there to get the job done, it was decided the best route would be for me to build a custom plugin. I build the solution from scratch into the core framework which I use exclusively for client projects. It’s fast, it’s easy to use, and it does not conflict with anything. Having total control allows me to prevent any bloat and tailor it exactly to the needs of the use case.
Google translate has a slick API through Google Cloud which lets you request translations and receive them back in 1-2 seconds. The translations are fairly accurate. Definitely accurate enough to be used for indexing on search engines. The costs for using this service are minimal. Initial estimates are $20-$30 a month. For this use case, it was a slam dunk.
Once the translation process is up and running, the actual indexing is a matter of getting submitted to the indexes of the foreign search engines. Not that much different than submitting to Google Webmaster. Each search engine requires a domain suffix in their country such as .cn or .ru. It is also a good idea to have the ability to manually edit translations from Google in case you are very particular about certain content. I ended up building the ability to either manually translate or auto translate as well as edit existing translations.