Redirections in WordPress [en]

When I moved the Going Solo site away from (which did its job well, btw) so that I could jiggle it around and make the Lausanne and Leeds events into separate sites, I ended up with a whole bunch of URLs like which actually referred to the Lausanne event, and needed to point to

If you’ve been reading me for a while, you probably know that I’m not shy to go and fiddle around with my .htaccess file, but I’m also getting increasingly lazy as the years go by. So, here are two WordPress plugins (well, one isn’t strictly a plugin, but let’s not get tangled up in semantics) which can come in handy:

  • Redirection plugin: use this when you just need a 301/302 (prefer the latter) redirect/move — if you head to, you’ll see it at work. It has a handy interface to let you manage all your redirects, and also does 404 logging for you. I’ve discovered (and fixed) quite a few broken links since I installed it.
  • “Redirect to” page template (thanks, Mark): this is actually a page template which does nothing but redirect somewhere else. I use it on the main Going Solo site to create navigation tabs to Lausanne and Leeds which redirect to the other sites. Create a page with the right title, select “Redirect” as the page template, and add a custom field named “redirect” with the destination URL as value.

Have fun!

Similar Posts:

Angst: My Categories are Still a Mess [en]

[fr] Mes catégories, c'est toujours le chenit. J'ai les outils qu'il faut maintenant pour faire le ménage, mais il me manque l'essentiel: quelles catégories un monstre comme CTTS devrait-il avoir?

My categories are a long-standing source of worry.

They were created in an unenlightened effort to “go ontological”, when I [switched to Movable Type]( By the time I [switched to WordPress]( over four years ago, I was already thinking about [cleaning up my categories]( (lo and behold, the birth of Batch Categories — I didn’t waste any time, did I?)

My categories are still [a mess]( WordPress has had [native tagging]( for a while now (I’ve happily retired the [Bunny’s Technorati Tags plugin](, [Rob]( has taken over [Batch Categories](, so it now works rather than just sit there in lists, and [Christine from the Internet]( has written a nice [Tag Managing Thing]( (which seems a bit broken in 2.5.x but might still work).

So, I could use the [category to tag converter]( and get rid of all my categories. I would feel much lighter. Then I can use a combination of Tag Managing Thing and Batch Categories (which allows search by tag, and, actually, I see it now, allows not only addition of categories to selected posts, but tags, so maybe I don’t need Tag Managing Thing for this, and this sentence is a bit long so it’s going to end here, sorry) to re-create nice categories for my blog.

But as always, here is where I stall. What categories should a monster like CTTS have?

Want to listen rather than read? It’s here:

Similar Posts:

Trying the Seesmic Video Plugin [en]

[fr] J'essaie le plugin seesmic pour mettre de la vidéo dans mes articles. Il paraît qu'on peut laisser aussi des commentaires vidéo!

When I visited Seesmic in San Francisco, Loïc told me they were working on a (

Here I am, trying it out.

{seesmic_video:{“url_thumbnail”:{“value”:””}”title”:{“value”:”My First Seesmic Video Post with the WordPress plugin.”}”videoUri”:{“value”:””}}}

Similar Posts:

Cours d'initiation aux blogs le 26 février [fr]

[en] On February 26th I will be holding my first public blogging class (beginners) at the ISL.

The workshop I am holding tomorrow morning at LIFT covers the same material, but in English.

Mise à jour, 13.02.2008: ce cours est repoussé car la préparation de Going Solo ne me permet pas d’en faire la promotion correctement. Si vous êtes intéressé par ce genre de séminaire, contactez-moi et je vous ferai signe dès qu’un nouveau séminaire sera mis sur pied. Des cours pour particuliers sont également possibles.

J’organise un [cours d’initiation aux blogs]( mardi 26 février 2008 dans les locaux de l'[ISL]( à Lausanne.

– **Quand:** mardi 26.02.08, 18h30-21h30 ([3h]( avec une petite pause)
– **Où:** ISL, Chemin de la Grangette 2 – 1052 Le Mont-sur-Lausanne (Clochatte)
– **Accès:** en bus, prendre le 16 jusqu’au terminus, et c’est en face; en voiture, sortir à Epalinges ou à la Blécherette si vous venez par l’autoroute — il y a des places de parc à disposition devant l’école.
– **[Qui](** *non-*blogueurs (si vous avez déjà un blog, vous allez vous ennuyer ferme), pas de prérequis technique autre qu’être capable d’aller vérifier son e-mail via le web.
– **Combien:** 150 CHF pour les 3 heures de cours, à payer une fois le nombre de préinscriptions suffisantes (5 personnes)
– **Comment:** préinscription en [envoyant un e-mail à Stephanie Booth](, précisant nom, adresse, et nombre de personnes s’intéressant au cours.

Ce cours s’adresse à toute personne désireuse de découvrir ce qu’est un blog, pour son usage personnel. Pour plus d’informations, voir directement [la page dédiée à ces ateliers pratiques](

Comme les lecteurs de ce blog ne sont a priori pas les personnes qui seront intéressées par ce genre de cours, je vous remercie infiniment de faire passer le mot auprès de votre entourage!

Similar Posts:

Blog Host Ugliness [en]

[fr] Une amie Serbe s'est vu poser un ultimatum par son hébergeur de blogs: 24 heures pour supprimer commentaires d'un autre blogueur et liens vers ses sites, ou voir son blog disparaître.

L'hébergeur en question (qui utilise WordPress multi-utilisateurs, comme avait en outre désactivé la fonction d'exportation de blog.

On s'en est sortis comme on a pu (voir ici).

Mis à part le côté technique de l'affaire, il est absolument scandaleux qu'un hébergeur de blogs se permette d'agir ainsi. Certes, tout hébergeur est libre de "virer" des clients -- mais déactiver au préalable la fonction d'exportation des blogs, cela atteint des sommets de mesquinerie. A bon entendeur.

Edit: sur Seesmic, l'histoire en français et en vidéo.

***Note:** I’ve updated this post as I gathered information allowing me to see more clearly in this whole mess. **Please read the comment** if you’re going to jump in the conversation or blog about this.*

Wednesday night, my friend [Sanja from BlogOpen]( (she was my very kind and competent hostess) pinged me on IM. She had less than 24 hours to export her blog before her blog host shut it down.

It was a blog hosted by [WordPress multi-user]( [**Edit:** [not WPMU](]. Easy enough, I thought. There is an export function. Unfortunately, when I logged in (the interface was in Serbian, but I can find my way through WordPress with my eyes closed), this is what I found:

WordPress (MU?) with no Export

Even if you don’t understand Serbian, you can see there is a missing tab. I tried calling `/wp-admin/export.php` directly, but the file had been removed.

Well, after a bit of poking, prodding and thinking, this is what I came up with (reminder: WPMU means that you can’t there was no possibility to install plugins and no direct access to the server):

Last Hope Export of WordPress MU Blog

I went into Options > Reading. I set the feeds to “entire post”. As there were 110 posts in this blog, I set the home page to display all of them, with a little margin for error. There were more than 1400 comments, so I set the maximum number of items in a feed to 1500.

Then I did three things:

– saved `/feed` (an RSS dump of the blog posts)
– saved `/comments/feed` (an RSS dump of the comments)
– scraped the blog (with single blog post pages) as an extra backup by running `wget -r -l1 -w1 BLOGURL` (thanks, [John]( from my server (also to save the images).

The blog was saved. I couldn’t import the RSS dump of blog posts into, where I told Sanja to open [a new blog account](, so I quickly set up a regular WordPress install on my server, imported it there, and exported it in WXR format. Great.

Comments, however, are [another story]( If you’re in a hackish mood, any help would be appreciated.

We’ll probably have to deal with the images too once the blog has been completely wiped off the server — for the moment it seems like it was [disabled](, but the images are still there (see [this one]( for example).

There, that was for the technical part.

Now for a personal comment. I find it **utterly disgusting and shocking** that a blog host owner would give people an **ultimatum to leave** and **disable the export function** in the blogging software. Sanja tells me that they had the export function until a few days before the ultimatum.

Of course, a blog host can choose not to host certain people. But trying to lock people in by disabling export of *their own data* is simply evil. If you’re kicking people off your system, you damn well better make sure they can take their data with them.

**Edit, 27.01, 12:00**: I’m happy to learn that [it seems the disabling of the export function was not related to the ultimatum](, and that the blog381 people were not *actually trying to actively lock people in*. However, it remains that it’s pretty delicate in a conflictual situation to tell people to “submit or leave” when they don’t have a way to export their data on their own.

So, people, please. If you need a blog host, choose a *serious one*. []( for example. Or [Blogger]( Or [Typepad]( Putting your precious blog between the hands of an individual is risky (, anybody? and if you remember, people on at least had the guarantee they could export their data…)

How did this happen?

I got some details about the situation, but a word of warning about that, first. The source material to this Serbian blogosphere drama is all in… Serbian. I’m relying here on what my friend Sanja told me about the situation, and I do not doubt her good faith. I know, though, that stories do have multiple sides, and that there might be more to the background than what I’m telling you here — but whatever the background story, it cannot justify the behaviour of [this blog host](

From what I gathered, what brought about this crisis is a quarrel between two bloggers: [Tatjana aka Venus aka Lang]( *(**Update**: Tatjana is not happy that I’m linking to her and has redirected visitors to this site elsewhere; to see her blog, copy-paste the link in your browser)*, the owner of the [Serbian blogging platform]( (**not** the [Tatjana]( who organized [BlogOpen](!), and another pretty [popular blogger]( At some point, Tatjana decided to forbid the people using her platform from linking to this other blogger or harbouring his comments.

Here is the warning she posted on the community forums:

Vlasnik blogova,,,

(ima verovatno jos ali ne mogu da trazim)

je ovom blog sistemu naneo stetu laziranjem glasova oko izbora za najblogera (na kom je on bio ‘pobednik’), ‘miniranjem’ sledeceg izbora, sirenjem neistina, traceva, vrbovanjem novih blogera sa tri osam jedan sistema, a sve u cilju da se naskodi ovom sistemu a poveca sopstveni traffic i “ugled”.

Za one koji nisu dovoljno informisani i sve ostale koji su slusali ili nisu, samo jednu stranu price od gore pomenutog, necu dodatno iznositi nikakve detalje, niti vise imam nameru da se borim sa provincijalizmima pojedinih ljudi koji su bili ili jesu na neki nacin u komunikaciji sa blogom381 i njegovim korisnicima.

Slobodna volja svakog od nas da pise kako i gde hoce, ali oni koji se odluce da i dalje pisu ovde nece moci da imaju linkove ka ovim blogovima niti komentare vlasnika istih.

Ukoliko imate zelju,nameru ili potrebu da ostanete na ovom blog sitemu, obrisite linkove i komentare gore pomenutog blogera u roku od 24h.

Translation (Sanja was a bit tired, so forgive the wobbliness):

> The owner of these blogs,,,

> has caused damage to this blog system by faking votes for the election of “The best blogger” (where he was “the winner”), and was undermining the next election by spreading gossip, lies, and recruiting new 381 bloggers, with only one aim: to damage this community and increase his own blog traffic and “reputation”.

> For those who are not informed well enough, and all others who were listening or didn’t, only one side of the story of the person mentioned above, I will not give any additional details, nor do I have the intention to fight with provincialism of some people who were or in some way are connected to blog381 communication and their users.

> It is the free will of each of us to write how and where we want to, but those who decide to keep writing here, will not be able to have links to these blogs or comments by their owner.

> Those of you who have the wish, intention or need to stay on this blog system, should delete links and comments of the blogger (mentioned above) within 24 hours.

Sanja learnt about this because the owner of the blogging platform left a comment on one of her posts (not the most recent) to let her know about it. Given that the “other blogger” in question is a friend of Sanja’s, she wasn’t going to comply.

Other bloggers have also seen their blogs deleted, or at least de-activated (actually, before the 24-hour limit was up). A dozen or so, says Sanja.

If you want to chime in on the “political” side of this story (particularly if you’re involved in this story or a direct witness), you’re welcome to use my comments. However, I ask (as always) that everybody remain civil and refrain from personal attacks (commonsense blogging etiquette, y’know).

Update: It seems that since Sanja’s blog was deactivated, the whole blogging platform has been shut down, with a message that people can e-mail the administrator to get an export of their blog. This message was not there during the ultimatum period.

In a [comment to this post](, Tatjana aka Lang asked me to remove the link to her blog, , which I had placed upon her name. As I have [refused to remove it]( (linking to the people involved in this story is perfectly relevant, and on the web, you can link to who you want, anyway), she has set up a redirection which sends visitors from this site straight off to CNN. So, I’ve left the link in, of course, but provided you with a handy copy-paste if you want to go and visit her all the same.

Similar Posts:

Bunny's Print CSS Plugin Upgrade [en]

[fr] Deuxième version de mon plugin pour insérer automatiquement une feuille de style impression dans n'importe quel thème WordPress. Il y a maintenant un panneau d'administration qui permet d'éditer le CSS directement depuis WordPress -- et le CSS en question a été enrichi.

The [little print CSS plugin]( I threw together the other day has had a little upgrade already, and is also now [available in the WordPress plugin directory](

First, [Kjell Knudsen]( was kind enough to add to the very basic [CSS file](/code/print-css/print.css) I provided with the plugin. It’s now a little richer and should support K2, for example. It’s still open to improvement, so don’t hesitate to link to your propositions in the comments! Maybe at some point I’ll be able to offer more than one stylesheet with the option to choose between them.

Option? Oh yes, option. Because, you see, Print CSS now has an option panel. I’m pretty happy, because it’s my first plugin with an options panel, and I’ve been thinking I should learn how to do that for some time now. The options panel doesn’t do much, however: it simply allows you to edit the print CSS file through the WordPress admin area (if the file permissions are right — chmod 777 or something).

I’d like to extend all my thanks to [Yaosan Yeo](, who wrote the [MyCSS]( plugin. I heavily lifted the code for the admin panel from it, as it does essentially the same thing: allow the user to edit a CSS file. I’m really loving MyCSS by the way, even if [there is a little capitalization glitch in it](, because I’m always adding CSS to my themes and it’s a real pain to copy-paste it all over the place each time I switch themes (or from one blog to another).

Off you go now, check out [Bunny’s Print CSS]( in the WordPress plugin repository!

Similar Posts:

Two Plugin Updates: Basic Bilingual 0.32 and Language Linker 0.2 [en]

[fr] Je me suis levée à l'aube pour aller faire la nouille sur RSR1 et prendre un p'tit déj improvisé chez une ancienne copine d'uni. Ensuite, j'ai passé la journée les mains dans le PHP, ce qui veut dire que je n'ai beaucoup blogué, mais que j'ai mis à jour deux plugins: Basic Bilingual, qui permet de tenir sans peine un blog "bilingue" comme celui-ci (c'est ce qui me permet de rédiger et d'afficher ce petit extrait en français) et Bunny's Language Linker, très utile pour afficher des liens entre pages correspondantes des différentes traductions d'un site.

After waking up at an ungodly hour this New Year’s Day (for a [live radio appearance]( and impromptu breakfast at a uni friend’s home nearby) I spent the rest of my day elbows deep in PHP code. As a result, I haven’t written the half-dozen of posts that have been sitting in my drafts list over Christmas, but I have updated two plugins — an old one, and a new-born.

**[Basic Bilingual]( 0.32**

[Download](/code/basic-bilingual.tgz) | [zip](/code/ | [.phps](/code/basic-bilingual.phps)

This release fixes the [disappearing excerpts problem]( (was fixed in 0.31 actually, but I never announced it) and replaces the ugly “language box” floating somewhere near the top of the post admin page by a pretty DBX (let me know what it stands for) box in the sidebar:

Basic Bilingual got a dbx box for the new year!

**[Bunny’s Language Linker]( 0.2**

[Download](/code/language-linker.tgz) | [zip](/code/ | [.phps](/code/language-linker.phps)

(I always want to call it “Language Links”, which was the initial name I chose — still not sure I was right to change.) Anyway, this version is pretty exciting, as it does something I’ve been thinking of for a while: it puts the link to the other localized versions of the page you’re viewing in the menu bar if you’re using a Sandbox-based theme:

Language Linker link in the menu bar!

Otherwise, it puts it at the end of the page in its own div (you can style it the way you wish). I’m not saying this is the best, final solution, but I think it’s headed in the right direction.

Similar Posts: