How to make a multilingual web with WordPress

There are several alternatives to make a webpage in several languages using WordPress, I will point out some of the available solutions

Different solutions that are commonly used

A. Solutions with a single WordPress installation

If you want to use just one WP install to maintain the content in different languages, you should use one of the available plugins.

1. Plugins that alter the database.

2. Plugins that do not alter the database.

The most popular here is qtranslate. It uses codes inside your content.

B. Solutions with a multisite WordPress installation

You could go with different implementations here:

1. using the language as a subdomain e.g. es.mysite.com, fr.mysite.com, cn.mysite.com

2. using the language after the domain. e.g. mysite.com/es, mysite.com/fr, mysite.com/cn

A very useful plugins for this situation is the Multisite Language Switcher https://wordpress.org/plugins/multisite-language-switcher/

Comparing both solutions

Any solution using a plugin will make you dependent on it. On the other hand, they are usually easier to implement and also to manage, since they include options in the user interface to access the translation of posts.

I personally like option B.2., that is, to use a multisite installation with the language name after the domain name. This has worked for me nicely and ensures that you will have no problem at all, since you are not plugin-dependant. Any WordPress upgrade will be fine, since you are really just hosting different languages. Another big advantage that I see in this situation is that you can also use a different theme and use the in-built translation capabilities of WordPress with the gettext library, that is the .po and .mo files (you can edit them with PoEdit). You will also be able to have the backend in your preferred language.

Other resources

If you need help to create your own multilingual multisite in WordPress get in touch with me by sending a comment below. Thanks.

How to debug WordPress errors

First of all, WordPress provides debugging as an option. It is not activated by default. In order to make it work:

// Enable WP_DEBUG mode
define(‘WP_DEBUG’, true);

There are also ways of storing it into a file or not display it. Please have a look at the detailed options here: https://codex.wordpress.org/Debugging_in_WordPress

If you would like to have a more powerful tool, that also shows the queries and other information, I recommend to use the plugin:

Debug Bar: http://wordpress.org/plugins/debug-bar/

and Debug Bar Console: http://wordpress.org/plugins/debug-bar-console/

Happy debugging!!

WordPress SuperCache and Apache, PHP APC problems

Yes it is true, there is some problem with APC cache PHP module and WordPress SuperCache plugin.

I have experienced those random blank screens with an error 500, just like it is described here:

http://askubuntu.com/questions/141734/incompatibility-between-wp-super-cache-and-php-apc

My current configuration is:

Ubuntu 12.04 32 bits
PHP 5.3.1
Apache 2.2.2
WordPress 3.8
WordPress SuperCache 1.3.1

The issue has been identified by the plugin dev team: https://wordpress.org/plugins/wp-super-cache/faq/

The “white screen of death” or a blank page when you visit your site is almost always caused by a PHP error but it may also be caused by APC. Disable that PHP extension if you have trouble and replace with eAccelerator or Xcache.

In order to disable the APC module:

sudo nano /etc/php5/apache2/conf.d/apc.ini

and comment the line

;extension=apc.so

Then restart apache

sudo service apache2 restart

Yoast SEO problem with the News: Notice: Undefined index: wpseo_sitemaps

I was currently using All-in-one-SEO in my blog, but looking for a solution to send also sitemap to Google News I cam across with Yoast SEO plugin, which is great, but I found this bug when trying to configure 

News SEO for WordPress & Google – Yoast

The problem was:

Notice: Undefined index: wpseo_sitemaps

It breaks your blog installation

This is caused when you have unticked the option to generate the XML sitemap. I had to uninstall the files, so the plugins were no longer recognized and had to reconfigure it.