Skip to Content Skip to Menu

A new stable release of CB SEO has arrived with some great new features and A LOT more Schema types to provide all your SEO needs in 1 extension.

The number of Schema types has expanded from 4 to a whopping 149. We now cover every Schema type available that is officially documented. This means using menu bases schema support you can markup your entire site properly for top of the line SEO. 3rd party extensions can also utilizes these schema types if they've implemented support for Joomla's schema plugins.

Some of these new types are LocalBusiness and all 124 of its sub-types. LodgingBusiness and all 7 of its sub-types. FoodEstablishment and all 9 of its sub-types. We've included parameters to specify the schema properties neatly any easily for you so no fiddling with JSON or complex schema object construction. Simply fill out the form and you're good to go.

We've also included a Person schema plugin. This is meant to replace Joomla's with a substantially more complete Person schema. Joomla's only provides a very small handful of properties while ours provides the entire Person schema property list for you to easily fill out. Things like address, spouse, age, work, skills, etc.. are all available in our Person schema.

Menu Schema and OpenGraph plugins now also have Joomla events. These events will allow you to extend the schema or opengraph data with your own. This could be done from CB Auto Actions for example or a 3rd party extension. The new events are as follows.

OpenGraph

$dispatcher->dispatch( 'onOpenGraphPrepareData', new PrepareOpenGraphDataEvent( 'onOpenGraphPrepareData', [
    'subject'    =>    $data,
    'context'    =>    $context,
]));

 

$dispatcher->dispatch( 'onOpenGraphPrepareForm', new PrepareOpenGraphFormEvent( 'onOpenGraphPrepareForm', [
    'subject'    =>    $form,
]));

 

$dispatcher->dispatch( 'onOpenGraphBeforeCompileHead', new BeforeOpenGraphCompileHeadEvent( 'onOpenGraphBeforeCompileHead', [
    'subject'    =>    $openGraph,
    'context'    =>    self::$context,
]));

Schema

$dispatcher->dispatch( 'onMenuSchemaBeforeCompileHead', new MenuBeforeCompileHeadEvent( 'onMenuSchemaBeforeCompileHead', [
    'subject'         =>    $schema,
    'context'         =>    $option . ( $view !== null ? '.' . $view : '' ) . ( $id !== null ? '.' . $id : '' ),
    'context_menu'    =>    'com_menus.item.' . $menu->id,
]));

If anyone needs help with utilizing these within their own code or within CB Auto Actions don't hesitate to ask on our support forums!

A huge improvement to OpenGraph is also available. It will allow 3rd party extensions to easily support OpenGraph just like Joomla schema by simply adding a getOpenGraphContexts function to their extension to report back authorized contexts for OpenGraph. If any 3rd party developers need help with adding support for this please reach out and we'll be glad to help.

That's it for now! We hope the new Schema types will help cover all your SEO needs so you don't need to worry about it anymore. In a future release we're planning support for custom URL rewrites using CRUD structure (e.g. /products/{id}). A means for inserting custom URLs into Joomla is available so we'll be exploring that more to allow you to build out completely customized SEO URLs, but that'll have to wait for CB SEO 3.0.0 so look forward to it!

You can find the full change log on our forge.

Interests in CB SEO? Then check out our product page for more details!