Hi SmartDirectory team,
I’m using SmartDirectory AI inside GoHighLevel to run
AI Filmmakers Directory (AIFD)
, a global directory of AI filmmakers and studios.
I want to make each
creator profile
fully readable by search engines and AI agents (LLMs) using
JSON‑LD structured data
, but I’m running into a limitation with the current setup.
### The issue
  • Each filmmaker/studio has a
    Business record
    in SmartDirectory with rich fields: name, slug, city, state, country, website, description, profile image, cover image, listing labels (niches/tools), and social URLs.
  • These fields are rendered nicely on the
    public detail page
    (e.g.,
    /detail-page/zoubeir-jlassi
    ), so the content is visible to users and to crawlers that can execute JavaScript.
  • However, I don’t have any way to output a **per-listing JSON‑LD
    <script>
    block** on the detail template that can use those business fields as variables.
Right now, I can only add global code:
  • SmartDirectory → Settings → Custom Code → Header Code (seems internal shell only).
  • GoHighLevel funnel → Settings → Head/Body tracking code (affects funnel pages, but not SmartDirectory detail templates in a controllable way).
This means:
  • I can add
    one global Organization/WebSite schema
    for AIFD,
  • but I **cannot output
    @type:"Person"
    (or
    LocalBusiness
    ) JSON‑LD per creator**, even though all the data is already stored in their Business record.
### What I’m asking for
Please add a way to inject
custom code on the listing detail template
, with access to
merge fields for the current business
.
Something like:
  • A “Custom code for listing detail template” area (head and/or body), or
  • A “Schema / JSON‑LD template” setting for Business listings, or
  • Allowing a template snippet that runs for each detail page, with merge fields.
The key is: on each detail page, I need to be able to render a
<script type="application/ld+json">
block that uses the current business’s fields.
### Example of what I’d like to output
Here’s a sample JSON‑LD template that shows exactly what I want to do.
The
{{...}}
placeholders are just examples — I’m happy to use whatever merge‑field syntax you support.
```html
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Person",
"name": "{{business_name}}",
"description": "{{business_description}}",
"image": "{{profile_image_url}}",
"jobTitle": "AI Filmmaker",
"worksFor": {
"@type": "Organization",
"name": "{{business_name}}"
},
"address": {
"@type": "PostalAddress",
"addressLocality": "{{city}}",
"addressRegion": "{{state}}",
"addressCountry": "{{country}}"
},
"sameAs": [
"{{website_url}}",
"{{instagram_url}}",
"{{youtube_url}}",
"{{linkedin_url}}"
],
"knowsAbout": ["{{listing_labels_comma_separated}}"]
}
</script>
```
This would let each creator profile be a proper
schema.org Person
entity, tied to AIFD as the Organization, which is very valuable for:
  • Google’s understanding of the directory,
  • AI/LLM agents that want to query “AI filmmakers listed on AIFD,”
  • and overall SEO for SmartDirectory‑powered sites.
### Summary of the request
  1. A per‑listing detail template code area (head and/or body) that runs for each Business detail page.
  2. Access to Business fields as merge variables inside that template.
  3. Ability to output raw
    <script type="application/ld+json">
    blocks without stripping them.
If you already have a way to do this that I’ve missed, I’d love a quick example using your current merge‑field syntax. If not, this feature would make SmartDirectory significantly more powerful for AI/SEO‑driven directories like mine.
Thank you for considering this — happy to provide more examples or test a beta implementation.