18

Click here to load reader

Joomla! CMS a SEF URL

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Joomla! CMS a SEF URL

Joomla! CMS a SEF URL

Michal [email protected]

www.artio.net

JoomlaDay Prague, 1.3.2014

Page 2: Joomla! CMS a SEF URL

ARTIO – Brief Introduction

JoomlaDay Prague, 1.3.2014

Software Development (general) Open-source Implementation & Development Working with Joomla since 2006 Authors of JoomSEF & sevaral other popular

Joomla components www.artio.net

Page 3: Joomla! CMS a SEF URL

SEF URL

What is SEF?Search Engine Friendly (and human as well)

● good for search engines (keywords in URL)● good for humans – looks better, easier to remember● mirrors site structure● hides system parameters

JoomlaDay Prague, 1.3.2014

Page 4: Joomla! CMS a SEF URL

SEF URL

Ontologie:

struktura metadat, vzájemné vazby

What is URL?(just kidding)

JoomlaDay Prague, 1.3.2014

Typical Joomla (non-SEF, raw) URL

http://domain.com/index.php?option=com_content& => componentview=article& => viewid=3:welcome-to-your-blog&catid=9& => idsItedmid=101 => menu rel.

Page 5: Joomla! CMS a SEF URL

URLs In Joomla – Standard Types

Ontologie:

struktura metadat, vzájemné vazby

Ugly (non-SEF)

http://domain.com/index.php?option=com_content&view=article&id=3:welcome-to-your-blog&catid=9&Itemid=101

Joomla native SEF (using routers)

no mod_rewrite:http://domain.com/index.php/3-welcome-to-your-blog

with mod_rewrite:http://domain.com/3-welcome-to-your-blog

JoomlaDay Prague, 1.3.2014

Page 6: Joomla! CMS a SEF URL

URLs In Joomla - mod_rewrite

Ontologie:

struktura metadat, vzájemné vazby

Apache mod_rewrite

powerful Apache web server module,allowing URL pre-processing

JoomlaDay Prague, 1.3.2014

Page 7: Joomla! CMS a SEF URL

URLs In Joomla - Add-ons

Ontologie:

struktura metadat, vzájemné vazby

Joomla 3rd Party Add-on Extensions

sh404sef, JoomSEF, AceSEF

http://domain.com/blog/welcome-to-your-blog

JoomlaDay Prague, 1.3.2014

Page 8: Joomla! CMS a SEF URL

Basic Comparison

No SEF FastConsumes no resources

Not friendly at all

Native SEF Resource not-demanding Include IDFixed FormatNeeds Support by Ext.No Central Management

Add-on SEF Clean URLsVariabilityExt. SupportManageable at one placeAdditional Tools

Needs more resourcesProblematic for begginers

Advantages Disadvantages

JoomlaDay Prague, 1.3.2014

Page 9: Joomla! CMS a SEF URL

Native VS Add-on (DB) SEF

Ontologie:

struktura metadat, vzájemné vazby

Native SEF URLs need to be fully re-translatable, Add-on ones need not (DB use)=> configurability and freedom for users include category? (yes/no) include product name? (yes/no)

Native SEF support needs to be built-in by component developerAdd-on author can add support externally

Add-on SEF URLs may not be suitable for large databases

JoomlaDay Prague, 1.3.2014

Page 10: Joomla! CMS a SEF URL

How It Works

Ontologie:

struktura metadat, vzájemné vazby

Native SEF

URL translation without usage of DBrouter (piece of component code) must be able to translate URL from/to SEF format

non-SEF URL → SEF URL → non-SEF URL Limitations:

SEF URL has to be created according to „translation rules“

Often has to include IDs

JoomlaDay Prague, 1.3.2014

Page 11: Joomla! CMS a SEF URL

How It Works

Ontologie:

struktura metadat, vzájemné vazby

Add-on SEF Use DB storage for generated SEF URLs

→ need not to be able to „understand“ the URL● Create SEF URL

Detect URLs in output code Build a SEF version for the URL Store it to DB

● Load (Process) SEF URL– Look into DB if URL is known– Load the original non-SEF variables

JoomlaDay Prague, 1.3.2014

Page 12: Joomla! CMS a SEF URL

SEF Add-ons Caveats 1Duplicates

● Duplicate resource names (article-2, article-3)● Additional variables in URLs

(e.g. sorting, switches, layout options, etc.)

JoomlaDay Prague, 1.3.2014

Page 13: Joomla! CMS a SEF URL

SEF Add-ons Caveats 2Multiple Paths to a Resource

ex.: Article linked from 2 menus, or different places.

● One or more URLs? (SEO point of view)● Want to show different modules? (user view)

?option=com_content&view=article&id=3:welcome-to-your-blog&catid=9&Itemid=101?option=com_content&view=article&id=3:welcome-to-your-blog&catid=9&Itemid=125

Itemid identifies parent menu item.

JoomlaDay Prague, 1.3.2014

Page 14: Joomla! CMS a SEF URL

SEF Add-ons Caveats 3

Ontologie:

struktura metadat, vzájemné vazby

Ignorant Extension Developers

Not using correct Joomla API methods to generate URLs=> URL cannot be SEFed (method JRoute::_())

Leaving unnecessary variables in URLs=> causing duplicities

Using too many formats of URLS=> causing duplicities

JoomlaDay Prague, 1.3.2014

Page 15: Joomla! CMS a SEF URL

Duplicate Prevention Methods

Ontologie:

struktura metadat, vzájemné vazby

Correct Menu Building

● using menu aliases

Non-SEF Variables Definition

virtuemart/list-all-products index.php?option=com_virtuemart&view=category

index.php?option=com_virtuemart&view=category&sort=price_descvirtuemart/list-all-products-2virtuemart/list-all-products?sort=price_desc

JoomlaDay Prague, 1.3.2014

Page 16: Joomla! CMS a SEF URL

Additional SEF Add-on Tools

Ontologie:

struktura metadat, vzájemné vazby

301 Redirect Management URL Protection (from deletion) Meta-tags Management Automatic Meta-tag Generation Sitemap Generation Connection to Google Analytics Tools Site Protection (SQL Injections, etc.)

JoomlaDay Prague, 1.3.2014

Page 17: Joomla! CMS a SEF URL

Component Authors

Ontologie:

struktura metadat, vzájemné vazby

Want to have SEF URLs in your component? write a router (native SEF) write a SEF extension for SEF Add-on

Plan desired URLs in advance. Only put to URL what is really important. Limit number of URL types.

JoomlaDay Prague, 1.3.2014

Page 18: Joomla! CMS a SEF URL

Thank You

Ontologie:

struktura metadat, vzájemné vazby

Thank you for your attention.

JoomlaDay Prague, 1.3.2014