Free.fr suppressed comments table on my blog

2009-06-15
This blog is no longer hosted by free.fr
Pour la version Française de ce post, voyez plus bas.

Free.fr is providing me with the online space for this blog, and a few other projects, completely for free (as the name suggests). I get 10 Gb of space with PHP, MySQL, automated Wordpress install, and whatever else you may want, completely for free. The hidden cost of this is slow access (you may have noticed this already) and little control over my own website. It has just bitten me a few days ago, when Free.fr decided that, due to SPAM, the comments table of my blog was generating too much traffic and they simply suppressed it (after shutting down the site for 24h). I hate spammers for doing what they do. And I hate Free for suppressing this table without a word of warning.


I don’t have control over the machine where the site is hosted of course, so even if it was possible, I cannot re-create the table from logs. The only solution is to recreate a blank table through phpMyAdmin since it’s the only access I have to the database. Supposing that the prefix for your Wordpress table is wp, as it is often the case, the correct query to do this (taken from wordpress/wp-admin/includes/schema.php) is:

CREATE TABLE wp_comments(
        comment_ID bigint( 20 ) unsigned NOT NULL AUTO_INCREMENT ,
        comment_post_ID int( 11 ) NOT NULL default '0',
        comment_author tinytext NOT NULL ,
        comment_author_email varchar( 100 ) NOT NULL default '',
        comment_author_url varchar( 200 ) NOT NULL default '',
        comment_author_IP varchar( 100 ) NOT NULL default '',
        comment_date datetime NOT NULL default '0000-00-00 00:00:00',
        comment_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
        comment_content text NOT NULL ,
        comment_karma int( 11 ) NOT NULL default '0',
        comment_approved enum( '0', '1', 'spam' ) NOT NULL default '1',
        comment_agent varchar( 255 ) NOT NULL default '',
        comment_type varchar( 20 ) NOT NULL default '',
        comment_parent bigint( 20 ) NOT NULL default '0',
        user_id bigint( 20 ) NOT NULL default '0',
        PRIMARY KEY ( comment_ID ) ,
        KEY comment_approved( comment_approved ) ,
        KEY comment_post_ID( comment_post_ID )
);

I also added SPAM protection with the Challenge Wordpress Plugin which appears to work well with , my Wordpress theme. Only the future will tell if it is enough.

I will of course try to complain and get my original comments table back. But, as one can expect, Free.fr does not offer tremendous support for their free web-hosting offering. In the meantime, the comments counts may show some comments but the comments themselves are gone. My apologies to the authors of suppressed comments.


Free.fr est un opérateur internet génial (le meilleur en France à mon humble avis) et son offre d’hébergement gratuit est très complète. C’est sur ces 10 Go que j’héberge ce blog et quelques autres projets. J’en suis, en général, très content. Seulement cela se paie a posteriori par une certaine lenteur d’accès et, surtout, une absence totale de controle sur mon propre site. Free gere mon espace web et je subis. Leur dernière idée lumineuse a été de fermer temporairement mon compte sous prétexte que les commentaires de mon blog accumulaient trop de SPAM, et ceci sans même un mot d’avertissement. Pire, ils ont purement et simplement supprimé la table SQL contenant les commentaires de Wordpress.

Il est apparemment impossible de restaurer cette table, et de toute façon cela nécessiterait probablement l’intervention d’un technicien de Free, ce qui a une probabilité d’arriver proche de zéro. La seule solution est donc de recréer une table wp_comments vide avec tous les champs nécessaires (sous réserve que le préfixe de vos tables Wordpress soit wp évidemment). Cela est possible par le biais de l’interface . Sélectionner l’onglet SQL et entrer la requête suivante:

CREATE TABLE wp_comments(
        comment_ID bigint( 20 ) unsigned NOT NULL AUTO_INCREMENT ,
        comment_post_ID int( 11 ) NOT NULL default '0',
        comment_author tinytext NOT NULL ,
        comment_author_email varchar( 100 ) NOT NULL default '',
        comment_author_url varchar( 200 ) NOT NULL default '',
        comment_author_IP varchar( 100 ) NOT NULL default '',
        comment_date datetime NOT NULL default '0000-00-00 00:00:00',
        comment_date_gmt datetime NOT NULL default '0000-00-00 00:00:00',
        comment_content text NOT NULL ,
        comment_karma int( 11 ) NOT NULL default '0',
        comment_approved enum( '0', '1', 'spam' ) NOT NULL default '1',
        comment_agent varchar( 255 ) NOT NULL default '',
        comment_type varchar( 20 ) NOT NULL default '',
        comment_parent bigint( 20 ) NOT NULL default '0',
        user_id bigint( 20 ) NOT NULL default '0',
        PRIMARY KEY ( comment_ID ) ,
        KEY comment_approved( comment_approved ) ,
        KEY comment_post_ID( comment_post_ID )
);

Cela remettra Wordpress en état de marche mais les commentaires précédents seront perdus (bien que le décompte des commentaires de chaque poste les mentionne toujours). Afin d’éviter ce genre de déconvenue à l’avenir, il faut un moyen d’éviter le SPAM (et non un simple filtre comme Askimet, qui ne fait que mettre les SPAMs de côté sans pour autant éviter le traffic qu’ils génèrent). J’utilise le plugin “Challenge”, qui a le mérite de fonctionner avec , mon thème Wordpress.

0 Response to “Free.fr suppressed comments table on my blog”


Comments are currently closed.