DEV Community

the bomber
the bomber

Posted on

Adding Local JSON‑LD Structured Data to Your Small Business Site

Why structured data matters for a Pompano Beach trade

When I refreshed the Dream Futures Tech website last summer, the first thing I added was a few lines of JSON‑LD. In Pompano Beach, a lot of customers find local services through Google’s “local pack.” Those results are powered by structured data. Adding the right snippets tells Google who we are, where we operate, and how our pages relate to each other – all without changing the visual design of the site.

Step 1: Organization markup

The Organization block is the foundation. It gives search engines the business name, address, phone, and a link to the logo. I keep it in the <head> so it loads with every page.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Dream Futures Tech",
  "url": "https://dreamfuturestech.com",
  "logo": "https://dreamfuturestech.com/logo.png",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Pompano Beach",
    "addressRegion": "FL",
    "postalCode": "33060",
    "addressCountry": "US"
  },
  "contactPoint": [{
    "@type": "ContactPoint",
    "telephone": "+1-954-555-0123",
    "contactType": "customer service",
    "areaServed": "US"
  }]
}
</script>
Enter fullscreen mode Exit fullscreen mode

Step 2: WebSite markup

Google uses the WebSite object to surface a “search box” directly in the results. The only thing you need is the site URL and an potentialAction that points to your internal search page (if you have one). If you don’t have a search page, you can still add the block – it won’t hurt.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "url": "https://dreamfuturestech.com",
  "name": "Dream Futures Tech",
  "potentialAction": {
    "@type": "SearchAction",
    "target": "https://dreamfuturestech.com/?s={search_term_string}",
    "query-input": "required name=search_term_string"
  }
}
</script>
Enter fullscreen mode Exit fullscreen mode

Step 3: BreadcrumbList & BlogPosting

Breadcrumbs help Google display a clear navigation trail in the SERP. I add a tiny BreadcrumbList on every page that lives deeper than the home page. For blog posts, I combine it with a BlogPosting block so the article’s headline, author, and publish date appear in rich results.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://dreamfuturestech.com"},
    {"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://dreamfuturestech.com/blog"},
    {"@type": "ListItem", "position": 3, "name": "How to Automate Invoicing", "item": "https://dreamfuturestech.com/blog/automate-invoicing"}
  ]
}
</script>
Enter fullscreen mode Exit fullscreen mode
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "headline": "How to Automate Invoicing for Small Businesses",
  "author": {"@type": "Person", "name": "Kaleb"},
  "datePublished": "2024-09-15",
  "image": "https://dreamfuturestech.com/images/invoice-automation.png",
  "url": "https://dreamfuturestech.com/blog/automate-invoicing",
  "publisher": {"@type": "Organization", "name": "Dream Futures Tech"}
}
</script>
Enter fullscreen mode Exit fullscreen mode

Quick checklist

  • Organization: name, URL, logo, address, phone – one block, placed in the <head> of every page.
  • WebSite: URL + optional SearchAction – also in the <head>.
  • BreadcrumbList: add on any page that isn’t the homepage; keep the position numbers sequential.
  • BlogPosting (or Article for news): include headline, author, date, image, and publisher.
  • Validate with Google’s Rich Results Test after each change.

Wrap‑up

I rolled these snippets out over a single weekend. The site kept its look, but within a few weeks Google started showing a “Local Business” card and breadcrumb trails for my blog posts. For any Pompano Beach trade—whether you’re a plumber, a landscaper, or a web‑dev like me—adding these three JSON‑LD blocks is a low‑effort way to make sure search engines understand exactly who you are and where you serve.

I build sites and automations for small businesses at dreamfuturestech.com.

Top comments (0)