---
title: "Developer - Extend Structured Data with Joomla Plugins - Google Structured Data"
description: "Customize and extend Google Structured Data extension with PHP code. onGSDSchemaBeforeGenerate This event fires immediately before the generation of"
url: "https://www.tassos.gr/docs/google-structured-data/developers/developer-extend-structured-data-with-plugins"
date: "2026-04-07T07:25:09+00:00"
language: "en-GB"
---

[ Home ](https://www.tassos.gr/index.php?option=com_content&view=category&layout=blog&id=24&Itemid=1088) / [ Google Structured Data ](https://www.tassos.gr/index.php?option=com_content&view=category&id=42) / [ Developers ](https://www.tassos.gr/index.php?option=com_content&view=category&id=68)

#  Developer - Extend Structured Data with Joomla Plugins

Heads up! This article contains PHP code and is intended for developers. We offer this code as a courtesy, but don't provide support for code customizations or 3rd party development.

Customize and extend Google Structured Data extension with PHP code.

## [onGSDSchemaBeforeGenerate](#ongsdschemabeforegenerate)

This event fires immediately before the generation of the JSON-LD script that will be injected into the &lt;head&gt; of the page. It passes the *$schema* array variable by reference which includes all the schema properties. This is rather useful when you want to modify a schema property with a value fetched from the database or another extension.

### [Parameters](#parameters)

 | $schema | (array) The schema.org properties |
|---|---|
| $data | (object) The structured data item as configured in the backend |

### [Source](#source)

 ```
administrator/components/com_gsd/GSD/Json.php
```

### [Syntax](#syntax)

 ```
public function onGSDSchemaBeforeGenerate(&$schema, $data)
{
	$schema['myProperty'] = 'myValue';
}
```

 Last updated on Mar 5th 2026 14:03

## Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "name": "Home",
            "item": "https://www.tassos.gr"
        },
        {
            "@type": "ListItem",
            "position": 2,
            "name": "Home",
            "item": "https://www.tassos.gr/docs"
        },
        {
            "@type": "ListItem",
            "position": 3,
            "name": "Google Structured Data",
            "item": "https://www.tassos.gr/docs/google-structured-data"
        },
        {
            "@type": "ListItem",
            "position": 4,
            "name": "Developers",
            "item": "https://www.tassos.gr/docs/google-structured-data/developers"
        },
        {
            "@type": "ListItem",
            "position": 5,
            "name": "Developer - Extend Structured Data with Joomla Plugins",
            "item": "https://www.tassos.gr/docs/google-structured-data/developers/developer-extend-structured-data-with-plugins"
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@type": "Article",
    "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://www.tassos.gr/docs/google-structured-data/developers/developer-extend-structured-data-with-plugins"
    },
    "headline": "Developer - Extend Structured Data with Joomla Plugins",
    "image": {
        "@type": "ImageObject",
        "url": "https://www.tassos.gr/"
    },
    "publisher": {
        "@type": "Organization",
        "name": "Tassos",
        "logo": {
            "@type": "ImageObject",
            "url": "https://www.tassos.gr/https://www.tassos.gr/media/brand/logo-text.png"
        }
    },
    "author": {
        "@type": "Person",
        "name": "Tassos Marinos",
        "url": "https://www.tassos.gr/docs/google-structured-data/developers/developer-extend-structured-data-with-plugins"
    },
    "datePublished": "2021-05-27T09:06:15+03:00",
    "dateCreated": "2021-05-27T09:06:15+03:00",
    "dateModified": "2026-03-05T14:47:48+02:00"
}
```
