Tag Archives: Wordpress

Multi-language blog

RSSI am writing articles in French and English since october 2008, so I review my experience about multi-language blogging; what are the pros and what are the cons.

The major reason which you may decide to write articles in two languages is pretty simple and obvious :to reach more visitors. Especially in my case, as a French-speaker person, writing articles only in French is « limiting » me to much fewer visitors from 24 French-speaking countries. 

About 180 millions persons in the world, probably less because all this people don’t have Internet and have also probably no interest for what you may be writing… only few people are remaining to read your stuff!

Whereas English is spoken by « only » 300 to 400 millions persons as native speaker, but a lot of people that uses it as secondary language. I hate English, but I have no choice to recognize that it IS the international language. Blogging in English allows you to reach much more people, that’s a fact. I could easy say that if my blog was only in French, The traffic would be divided by half.

In addition to this, if you use social networks as Twitter and Facebook, to blog in English allows you to open your network to many English-speaking people. If you work as a freelancer, this could also help you to get an international job. Even for you regular (say French-speaker) customers, blogging in other languages makes you looking more professionnal and open on your world, on many levels : it shows you love and are able to speak about your profession, whatever the language.

BUT, I think many bloggers start a multi-language blog with their eyes closed, without thinking about what it implies. A blog, single language, needs you to put a lot of work into it. That’s simple : multi-language blog will need you to put multi-efforts into it! Don’t forget that translating manually an article may be quite difficult. We all speak and write English well or enough well, but it is often more difficult when you get to do it for a 1000 words text. In my case, I often do grammar mistakes and often use the same vocabulary, that’s a proof of it. All this shows how multi-language blogging may bring you more visitors but much more work. No doubt about it.

It isn’t all! If you are working on SEO of your blog, you’ll have to do the same with your english pages… yes you will. This is not all bad, because trying to rank your english articles opens you many websites in English you may use to promote them and get backlinks from : English directories, forums, digg-likes, dofollow English blogs, etc… It is useless to tell you there’s much more space in the English world for you to get backlinks 🙂

In addition to this article, I’d like to review some CMS solutions for your multi-language blog.

Joomla! : With component Joomfish, you can translate all your pages easily. It works well, but if SEO is important for you, you won’t be glad to see you have no control on URL rewriting for each language. The original URL is used for all translations, what sucks for your ranking. It is the most important reason why I ignored Joomla! for this blog, although you can purchase a professionnal version of Joomfish! which includes multi-URLs.

WordPress : Since recently I didn’t find any module to use multi-language articles + multi URLs + multi metas, but I have found module WPML which works perfectly. I think I’ll migrate to WordPress soon…

Drupal : With Internationalization (I18N) module, you can create single pages for each translation (and link them together), while you controle all SEO about them (metas, titles, URLs, everything). It is pretty nice to use, but it was hard to setup at the first time. I often make backups, because I’m not sure I would easily find how to do it again 🙂

As conclusion, I’d say that multi-language blogging brings lots of advantages to your blog, but you’d better be ready to work. As many Web stories, magic though isn’t. What do you think about it?

How to submit to directories

An easy way to increase your ranking is and stay, since a long time, directory submissions. But… be aware to do it right!

To submit a website in multiple directories is a very boring activity (not to say pain in the ass) and repetitive. That’s the reason why you have to optimise your work so it’s most efficient as possible, and suffer a little bit for having some results.

do not submit massively in directories

Especially for a young website, Google will it find rather suspect if many hundreds backlinks appear in one shot. Don’t take useless risks, submit your website in maximum 10 directories per week. First, your website won’t be published on every of them, because some directories are abandonned, what may be hard to know prior to submit your website to it. Then, your submission’ll published randomly in time, and Googlebot’ll also crawl randomly on these directories, so it gets backlinks in a diluted way, which is good for your "natural evolution".

(almost) all unique titles and descriptions

Another mistake would be to use the same description for your 200 directory submissions; it exposes the page where your site is published to duplicated content (simplier: your website won’t show up in SERPs). It may avoid the directory to rank on some queries; it’s often interesting to have directories ranked under you on Google, this way you occupy indirectly the battlefield. Another reason not to duplicate descriptions is that lots of webmaster will delete submissions that has already-indexed content (I do the same on Annuaire Design and Annuaire blogs design).

To make directory submissions, you need to be good at writing, and to own a good synonym dictionnary. usally, I do write a bunch of 255 characters long descriptions, all different. Then I use each of them for about 5 directories if I don’t know if they’re "alive". For good directories, write a real unique description.

Then, why different titles? Not for duplicated content. It’s rather because most of time, the link from the directory to your website is anchored on the title you wrote… it becomes then anchor text. Write a big list of anchor titles (avoid keyword list, must look natural), and vary them regularly.

track what’s happening with your submissions after

In my opinion, this is a very important step. If you subscribe weekly multiple websites each to a dozen of directories, you’ll be lost very soon, and you’ll try often to subscribe to directories you already did. It’s why it would be a good idea to create a Excel list, one line per directory, check if you submitted to this directory, and check if the directory published your website or not (when you get confirmation afterwards).

It will also allow you to target which directories are quick, and especially those who doesn’t publish anything anymore. It’s pretty useful if you launch another site afterwards, you take this list back and it avoids you wasting your precious time.

how to subscribe to more directories, faster?

Avoid all solutions where you may read the word "automatic"… the only efficient way to subscribe in directories is to do it yourself, one by one; or with a good semi-automatic tool.

A semi-automatic tool will fill up all directory’s form fields for you, all you have to do next is to fill up the captcha (human verification code) and send the form. This kind of tool saves a lot of time for forms, which is quite cool, but you still have to write tons of descriptions.

To do this, there are many US softwares (I can’t suggest one, I never used a US one).

If you’re looking for a mid-way free solution, there’s the great Firefox plugin InFormEnter. This plugin adds a button next to each fields of a form, which gives you access to a menu with all you presetted titles, descriptions, emails, etc. It’s slower than softwares but it’s quite nice to use.

Well choose directories

Many directories are

Beaucoup d’annuaires sont bluntly ugly link dumps, more or less abandonned and without quality criterions. This kind of place is not worth the loss of time. Not all directories are great, there are so much directories that you must choose. For example, you should not pay to subscribe to a directory…

There are some directories where it’s hard to be published, but you have to try because a link there is better than a bunch of links in poor directories. You’ll find easily a list of these directories on Google.

General directories, it’s great, there are plenty of them, but if you find a specialised directory corresponding to your site Web’s field, you must subscribe there. A link to your website, when it’s placed in a corresponding context, is more worth than a normal non-context link.

Last advice : avoid RSS directories if your website is young. These directories are more "important" to Google than you are, and as they publish your own content, they can easily rank over you, even maybe penalize you for duplicated content. Truncate your RSS feeds to let only a little introduction to the articles. If you don’t have RSS feed on your website, and you would like how to do it, I invite you to read my tutorial that teaches how to create a dynamic (PHP) RSS feed.

I have also written an article that provides a list of directories that validates good submissions within 72 hours (but french directories, sorry! Maybe english ones soon, do you have any suggestion?).

Have fun!

SEO for WordPress

There’s many plugins to help you out with search engine optimisation for WordPress… but which ones should you use?

After a couple of tests, I think the best WordPress plugin for SEO optimisation is All in one SEO. It allows you to customize <title> tags, description et keywords metas for each of your articles, very easily. These customisations are essential for a good ranking.

You may also configure the plugin so that it avoids indexing tag pages and category pages, to avoid duplicated content.

I would advice to use SEO Smart Links, which automaticaly creates links to tag and category pages, when those words are found in your text content. If you index tag and category pages, it’s a good way to create lots a inbound links, without any effort. It doesn’t always work, depending to the text format, but who cares…

Another useful that is good for both SEO ranking and for your human visitors : put a list of articles that have a common subject, on each article page. Yet Another Related Posts Plugin allows you to do it automaticaly. It’s not bad for SEO; your links are more « important » because they link to a page with a common subject (I think so). Else, your visitors may be interested to read another article about a common subject.

Do you know any other (better?) WordPress plugins to increase SEO ranking?

WordPress : Complete backup

Most of WordPress plugins allow you to backup your database automatically, but what about files? There’s one or more plugins for it!

Here are 2 plugins you need to be safe :


The plugin that allows you to backup your files is called WordPress Backup.

WordPress Backup, once installed, creates 3 zipped files of folders of the same name :

  • uploads.zip
  • theme.zip
  • plugins.zip

You can configure the plugin to plan automic backups, etc. It’s simple and it works well.


There are many plugins for it, but one of best is, according to me, DBC Backup. It allows you to plan automic backups of your database, easily and fast.

I do follow!

Comment links of this blog are now DOFOLLOW!

But what is dofollow?!

When you make a link to another website, it’s possible to specify the nofollow attribute. It tells Google to do not follow the link; it follows it but it won’t give popularity to it. It’s a bad thing, because the major advantage to have a backlink to your website, is that it makes you more popular (at Google’s eyes); which avoids nofollow links.

More external links (dofollow links) there are in a page, more the importance given to them is divided. It’s why most of bloggers don’t give any importance to links of people that comment; to do not reduct importance given to their own links to internal pages.

BUT if a visitor makes a relevant and long comment, it should be right to give him a free backlink, not nofollow link. Lots of people write comment all the time only for that, but it may be a good motivation for people to post comments they wouldn’t have posted else. You must not forget that it’s free content for the website, it’s only an exchange of services.

You must not exagerate, for instance to use an anchor text nickname to increase directly your ranking (e.g. poker texas hold’em), but it may be tolerated, even if many blog editors take it like a lack of respect.

In my case, if someone posts a comment and it’s a relevant comment, I’ll approve it without problem!

If you own a WordPress blog, here is the way to make your comment links dofollow. For Joomla!, if you use !JoomlaComments, it is possible to do a little hack to have dofollow comment links.

Create a Google Sitemap for your website

A Google Sitemap is a very important element for ranking of your website : it is used to tell Google which pages it must include in his engine. It also helps your new pages to be ranked quicker, and to be sure that all your relevant content is indexed.

A Sitemap, it’s basically a map of your website (I hope you already guessed it); a tree of pages in which the level of importance of certain pages over some other pages is cleary visible.

Of course, it’s not mandatory to create a Sitemap for your website, its purpose is especially to help Google (then also yourself). It is possible that not all the pages you included in your Sitemap will be added in Google. Even if you show him the way, Google isn’t dumb, it will only rank pages that are really relevant.

This means that you should give up for contact pages, help pages, or any other page that is not relevant. Rather than this, try to rank your « best » pages, those that have content of quality.

Depending on how your website is build (static website or dynamic website), the way to build your sitemap may vary. This article will show you some common ways to do it.

At any time, you should refer to the Google documentation about Sitemaps.

Create a static Sitemap

When I say static, I mean a Sitemap you have make yourself, line by line, and that won’t update itself automatically. That’s what we normally use for websites that only have static contents, pure HTML.

To do this, don’t waste your time in writing it yourself, you can rather use an automatic Sitemap generator. You can also use it for a dynamic website that doesn’t rewrite URLs, but you will have to generate it everytime you want to update it (usally, often) – this is something you’ll forget to do, for sure.

Create a dynamic Sitemap

A dynamic Sitemap will update itself automatically, which is useful if you update your website on a regular basis. The method given here is using URL Rewriting to make it more clean and simple.

First, create a .htaccess file, located at the root, or modify the .htaccess file you may already have :

Options +FollowSymlinks
RewriteEngine on

# Link for the Sitemap
RewriteRule ^sitemap\.xml$ /sitemap.php [L,NC]

This way, sitemap.php will allow us to automatically generate the content of the XML file (the real Sitemap). Each time Google will try to open sitemap.xml, sitemap.php will be executed and will make an update of the XML « file ».

Create a file named sitemap.php. In the example bellow, we get the content of articles of an imaginary blog.

The structure of the table used in the example bellow :

`id` mediumint(9) NOT NULL COMMENT ‘ID of the article’,
`texte` text NOT NULL COMMENT ‘Text of the article’,
`date` date NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT=’Articles of blog’;

The content of the file sitemap.php :

// MySQL Connection$host = “localhost”;
// normally, it’s localhost
$user = “USERNAME”;
$pass = “PASSWORD”;
$bdd = “NOM_OF_THE_DB”;

@mysql_connect($host,$user,$pass) or die(“Unable to connect : “.mysql_error());
@mysql_select_db(“$bdd”) or die(“Unable to select dabatase : “.mysql_error());

// Indicate file type : XML document
header(“Content-Type: text/xml”);

// MySQL query to get articles of the blog
$requete = “SELECT id, date FROM blog ORDER BY date DESC”;
$resultat = mysql_query($requete);

// Writing of the XML file
// Headers :
$sm = ”;
$sm .= ‘xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”

// Articles of the blog
while ($blog=mysql_fetch_array($resultat,MYSQL_ASSOC)) {
$sm .= ‘‘;
$sm .= ‘http://yoursite.com/blog?id=’.$blog[‘id’].’‘; // you may adapt the URL syntax to your need, this is an example
$sm .= ‘‘.$blog[‘date’].’‘;
$sm .= ‘monthly‘;
$sm .= ‘0.7‘;
$sm .= ‘

$sm .= ”;

echo $sm;

As you may guess, the Sitemap schema is working on this structure :

<loc> Location of the page. Don’t forget to write the domain (http://www.domain.com).
<lastmod> When was the page updated the last time (or when was it created). This data is normally recorded in your database by your scripts. You must give this value with a W3C valid format.
<changefreq> What is the frequency of updates for this page? (always, hourly, daily, weekly, monthly, yearly, never). This is only to help Google, Google may not respect this indication. This is useless to set always if you do not plan to update a page once it is created.

Priority is a way for Google to know which pages are more important than some others in your website. This comparison doesn’t apply to other websites. It is useless to put 1 everywhere, you won’t help yourself. Give a higher priority to pages that seem more important and that updates often.

If everything is well working, you should be able to see your Sitemap if you try to reach the page sitemap.xml. Check if it is valid, and then submit it to Google.

Bien sûr, il est possible d’améliorer ce script de plusieurs façons. Par exemple, vous pouvez stocker dans vos tables de données, dans une colonne priority, la priorité à donner à chacune des pages. Même chose pour le changefreq.

Of course, it’s possible to upgrade this script in many ways. For instance, you also could store your pages priorities in an additional column. Same thing for changefreq.

It’s of course a lot less complicated with CMS.

Create a dynamic Sitemap for Joomla!

For Joomla!, you have 2 major choices of components :  xMap and Joomap, both available for J!1.0x et J!1.5x versions.

Je n’ai pas essayé Joomap, mais xMap fonctionne très bien. Il existe des extensions pour la plupart des composants connus (Sobi2, Adsmanager, Community Builder, …), ce qui est indispensable. Il s’agit des deux plus connus, mais il existe d’autres composants.

I didn’t try Joomap, but xMap works fine. There are extensions for most of the popular components (Sobi2, Adsmanager, Community Builder, …), which is very important. xMap and Joomap are the most known components, but there are other components you may want to try.

Create a dynamic Sitemap for Drupal

Install the XML Sitemap module for Drupal, disponible pour Drupal 5.x.

Créer un sitemap dynamique pour WordPress

Download the plugin of Arne Brachhold, which works fine. If you are interested into SEO, I invite you to read my article about SEO Ranking with WordPress.