Am I understanding this correctly?

March 03, 2006, 12:25:48 PM

bjraines

If Joomla sees content as menu items and not pages then how does SEO work in Joomla. I am sure this has been written before but I haven't found it yet. Thanks. I am a new convert from Drupal.


Am I understanding this correctly?

March 03, 2006, 12:29:24 PM

louis.landry

Welcome....

How technical of an answer are you looking for?

On a really basic level Joomla does not see content as menu items, content can be associated with a menu item.  If you are wanting a full explanation let me know.

Louis


Am I understanding this correctly?

March 03, 2006, 12:39:06 PM

bjraines

If you don't mind. I am curious as to the hierarchy of Joomla and how search engines see it. Drupal forums point to Joomla difficulty with SEO.


Am I understanding this correctly?

March 03, 2006, 01:22:17 PM

louis.landry

People that say Joomla! has trouble with SEO are either misinformed or disingenuous.  Can it be better? sure... there is certainly room for improvement but this goes with everything.  Search Engine Optimization has to do with so many factors that it is hard to pinpoint exactly where our friend on the Drupal forums see the problem.  There are a multitude of things such as keyword density, relevant content, semantically correct html, meta tags, incoming/outgoing links, well structured URLs, valid markup, etc...  Now, I would assume since you are talking about the menu structure and its correlation to the content system that you are mostly referring to the URL system.  The main problem that exists architecturally with Joomla (in my opinion) is our dependency on the menu system as a framework.  It is an old problem that hasn't been addressed mainly because of the problems it will cause with our extensive collection of third party extensions. 

The menu system in Joomla is based on a database table with automatically incrementing id numbers for each menu entry.  As such, each menu item has a particular integer value associated with it.  This is what we refer to as Itemid and if you delve into the code at all, you will see this is a variable that shows up pretty much everywhere.  Templates are assigned to menu Itemid numbers, modules are rendered on certain Itemid numbers, etc...  Because of this dependency every request to the Joomla system should include an Itemid value.  If one is not passed to the system, it tries to figure out the appropriate Itemid and move forward... or worst case, it defaults to a non-used Itemid for page rendering. 

The content system in Joomla is actually just a very large component named com_content.  I am not familiar with Drupal so I can't give you a valid analogy of what a component would be equivalent to in Drupal-speak.  At any rate, the content component acts independently of the menu structure and therefore pages can exist and be rendered even if they are not "in the menu". 

The association between the content system and menu system is where things get a bit complicated.  The menu system has some special cases for the content component, which in reallity should not be surprising as the content component is the most important component in a *content* management system.

The question I am thinking you are getting at, is more along the lines of.. what is the relationship between the menu and URLs for Search Engine Friendly URLs.  Good question, and the answer is essentially one thing... Itemid.  Every URL passed to Joomla needs to have that Itemid with the notable exception of requesting the base page (ie. www.domain.com/).  All other parts of the URL are controlled by the component that was called.

http://www.domain.com/index.php?option=com_content&task=view&id=1&Itemid=5

This URL when traslated to our native SEF URL system turns into
http://www.domain.com/content/view/1/5/

This all happens without querying the database for information about waht the title of the article you are viewing is or the section or category it might reside in for that matter.  There are third party SEF extensions that allow for this but it increases the server load a bit by making extra queries to provide that information. 

The core development team has decided that until we can fix the architecture of the system and provide a way to query once for the information, the core will use the existing SEF URL system that keeps the server load as minimal as possible.  We have talked about the concept quite a bit and it will happen.... just a matter of when, and what else comes along with it.

It should be noted that there are an enormous amount of sites with very good search engine ranking using either our core SEF solution or even no SEF solution at all. 

Hope that clears it up a bit for you

Louis


Am I understanding this correctly?

March 03, 2006, 01:36:29 PM

bjraines

Thank you. I found that both educational and a good read. Trust me you would never get a response like that on Drupal forums. I look forward to working with Joomla.