| Default Joomla RSS and sh404 |
|
Question: The default Joomla RSS feeds get all messed up when sh404 is turned on. If I turn it off, the RSS feeds work properly. What to do? Also, I really only care about having a master RSS feed with all of the newsest content, which is typically on my front page. Of course, if I don't publish a new item to the home page, then it is NOT included in the front page RSS. Answer: 1) Admittedly, sh404 does not have a clean fix for this problem. They have a semi-fix in versions later than 10/5/05. In the advanced tab configuration, there is a parameter to essentially turn off sef for the RSS. Just set the sh404SEF_PROTECT_AGAINST_DOCUMENT_TYPE_ERROR param to 1. This is OK, and the search engine spiders should have no problem picking up the RSS feed even though it has a variable string. This is especially true if you use RSS submit sites like PING-O-MATIC. However, it's not very helpful to humans and does not address your second issue. 2) The default Joomla RSS system has no capability to include all new content items in a single RSS unless you always publish all new items to the front page. Often this is not desirable from an architecture or design point of view. So, a 3rd party RSS component is in order. For this, we like "BCS RSS Syndicator". It seems to be a re-make of DS-Syndicate for Joomla 1.0. Whatever the original source code is, we like this component as it does pretty much exactly what you need. You can create custom RSS feeds for all items, or individually based on sections and categories. It also allows for multiple formats such as ATOM, OPL, etc. Unfortunately, though, sh404 has a simillar problem with this component as the default Joomla RSS. If you only intend to have one feed, you can enable sh404 for the BCA RSS Syndicator. The one feed should be OK. If you intend to have multiple feeds, then you will need to tell sh404 to SKIP this component and the system will generate dynamic urls for the RSS feeds created by BCA RSS Syndicator. Note: Yannick, the original developer of sh404, has provided this note regarding sh404 and RSS feeds. For the sake of clarity, here is a little bit of information. There is a specific issue with rss feeds in Joomla and SEF urls (not sh404sef - any SEF url system is affected, including Joomla native one). Some system plugins call JFactory::getDocument() from an onAfterInitialize event handler. This is too early, the sef url has not been decoded yet, therefore the getDocument method does not identify the document to be produced as a rss feed and instead sets the document type to html. All subsequent page building fails. This also applies to pdf actually. There is no solution, only workarounds. I have put in latest builds of sh404sef an option to keep &format=feed in all feeds (and pdf) urls. You need to activate this option if you are using one of those faulty system plugins. Joomla SEF is less prone to this problem as it basically does not "sefy" the feeds urls. |