One of the questions I get asked most frequently during SEO work is, "Which component should I use for search engine-friendly URLs with Joomla?"
There are currently three available:
- Open-SEF from J-Prosolution.com (Free)
- Artio SEF from Artio.cz (Free)
- SEF Advance from Sakic.net (40 Euros)
Its not easy for many people to understand the differences between them and to my knowledge no-one has currently written an adequate comparison of all three (if they have – I’ll be happy to link to it, if they haven’t – I’ll write one for an upcoming post).
So, without a detailed list of the pros and cons, and assuming that price is not an obstacle, how can you decide between these three?
Its simple – there is no right answer for every site: Your SEF URL choice should be decided by your key component.
SEF solutions work by adding an extra file called "sef_ext.php" to each component. Unfortunately an sef_ext.php that works for one solution may not work for others. That means that Community Builder would need three different files to enable it to work with each SEF URL solution. Needless to say most developers can’t keep up with all three, and the writers of the SEF URL solutions can’t keep up with the multitude of new components being released. Inevitably your choice won’t work with all the components you use, so you need to focus on the functionality that is most important to you.
For example, SEF Advance produces great URLs for Community Builder, but Open-SEF is a much better choice for Virtuemart. Neither of them work well for Joomlaboard or the SMF bridge and so if you have an important forum you need ArtioSEF.
In short, if you’re building a social networking site, use SEF Advance, if you’re building an ecommerce site, use Open-SEF, if your forum will be key, use Artio SEF and so on….
The following is a work in progress, that will help people work out which components are compatible with SEF URL solutions. There may be mistakes and there are definitely plenty of exclusions, so feel free to post more details in the comments section and I’ll add them to this table. As time goes on, I’ll also be working on adding more components and more details:
Links to the SEF solutions’ own lists of components they are compatible with:
Link to a comparison of MySQL queries made by the different components (disclaimer – written by one of the OpenSEF developers):