SEO

Structured Data & JSON-LD Guide

The live schema system behind fazlerabbi.me, explained route by route with the actual builder output.

Today's priority

Build the entity graph before anything decorative

The homepage now acts as the root node for the whole site. Everything else points back to the same canonical ids instead of introducing disconnected people, websites, or page entities on every route.

PersonWebSiteProfilePageFAQPageBlogPosting + TechArticle

Canonical ids

Person
https://fazlerabbi.me/#person
WebSite
https://fazlerabbi.me/#website
ProfilePage
https://fazlerabbi.me/#profilepage

Entity Graph

These ids are the backbone of the rollout. Every secondary route points back to them instead of re-describing the same site identity from scratch.

Foundation first

Root site

Used for site-name signaling and shared page membership.

https://fazlerabbi.me/#website

Primary profile

Anchors the homepage as the canonical profile/about page.

https://fazlerabbi.me/#profilepage

Canonical person

Referenced by articles, services, collections, and profile pages.

https://fazlerabbi.me/#person

Live Schema Output

Each tab below renders the current builder output for a real route shape. The code blocks are generated from the same helpers used by the production pages, with representative samples for the heavier collection routes.

Live examples

Homepage

Foundation graph: Person, WebSite, ProfilePage, FAQPage, and breadcrumb all connected through stable homepage ids.

/
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Person",
      "@id": "https://fazlerabbi.me/#person",
      "name": "Fazle Rabbi",
      "url": "https://fazlerabbi.me",
      "image": "https://fazlerabbi.me/fazlerabbie.JPG",
      "jobTitle": "App, Web & Mobile Developer",
      "description": "Bangladesh-based app, web, and mobile developer building conversion-focused websites, product interfaces, and practical business software.",
      "email": "hi@fazlerabbi.me",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Bogura",
        "addressCountry": "Bangladesh"
      },
      "sameAs": [
        "https://fazlerabbi.me",
        "https://github.com/fazlerabbime",
        "https://www.linkedin.com/in/fazlerabbime",
        "https://play.google.com/store/apps/developer?id=Fazle+Rabbie",
        "https://x.com/fazlerabbime",
        "https://www.facebook.com/fazlerabbi.me",
        "https://www.youtube.com/@fazlerabbie",
        "https://wa.me/8801992342436"
      ],
      "knowsAbout": [
        "Next.js",
        "React",
        "TypeScript",
        "React Native",
        "Kotlin",
        "Supabase",
        "Tailwind CSS",
        "Google Play Publishing"
      ],
      "contactPoint": {
        "@type": "ContactPoint",
        "contactType": "professional inquiries",
        "email": "hi@fazlerabbi.me",
        "areaServed": "Worldwide",
        "availableLanguage": [
          "en",
          "bn"
        ]
      }
    },
    {
      "@type": "WebSite",
      "@id": "https://fazlerabbi.me/#website",
      "url": "https://fazlerabbi.me",
      "name": "Fazle Rabbi",
      "alternateName": "fazlerabbi.me",
      "description": "Bangladesh-based app, web, and mobile developer building conversion-focused websites, product interfaces, and practical business software.",
      "inLanguage": "en",
      "publisher": {
        "@id": "https://fazlerabbi.me/#person"
      },
      "about": {
        "@id": "https://fazlerabbi.me/#person"
      }
    },
    {
      "@type": "ItemList",
      "@id": "https://fazlerabbi.me/#site-navigation",
      "name": "Primary portfolio sections",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "item": {
            "@type": "SiteNavigationElement",
            "name": "Contact",
            "url": "https://fazlerabbi.me/#contact",
            "description": "Contact Fazle Rabbi for app, web, mobile, and consulting work.",
            "isPartOf": {
              "@id": "https://fazlerabbi.me/#website"
            },
            "about": {
              "@id": "https://fazlerabbi.me/#person"
            }
          }
        },
        {
          "@type": "ListItem",
          "position": 2,
          "item": {
            "@type": "SiteNavigationElement",
            "name": "Blog",
            "url": "https://fazlerabbi.me/blog",
            "description": "Technical articles and Google Play publishing guides.",
            "isPartOf": {
              "@id": "https://fazlerabbi.me/#website"
            },
            "about": {
              "@id": "https://fazlerabbi.me/#person"
            }
          }
        },
        {
          "@type": "ListItem",
          "position": 3,
          "item": {
            "@type": "SiteNavigationElement",
            "name": "Tools",
            "url": "https://fazlerabbi.me/tools",
            "description": "Free browser-based developer, writing, and calculator tools.",
            "isPartOf": {
              "@id": "https://fazlerabbi.me/#website"
            },
            "about": {
              "@id": "https://fazlerabbi.me/#person"
            }
          }
        },
        {
          "@type": "ListItem",
          "position": 4,
          "item": {
            "@type": "SiteNavigationElement",
            "name": "Projects",
            "url": "https://fazlerabbi.me/projects",
            "description": "Selected app, web, and mobile development projects.",
            "isPartOf": {
              "@id": "https://fazlerabbi.me/#website"
            },
            "about": {
              "@id": "https://fazlerabbi.me/#person"
            }
          }
        },
        {
          "@type": "ListItem",
          "position": 5,
          "item": {
            "@type": "SiteNavigationElement",
            "name": "Client Reviews",
            "url": "https://fazlerabbi.me/client-says",
            "description": "Client reviews and feedback for Fazle Rabbi's work.",
            "isPartOf": {
              "@id": "https://fazlerabbi.me/#website"
            },
            "about": {
              "@id": "https://fazlerabbi.me/#person"
            }
          }
        }
      ]
    },
    {
      "@type": "ProfilePage",
      "@id": "https://fazlerabbi.me/#profilepage",
      "url": "https://fazlerabbi.me/",
      "name": "About | Fazle Rabbi",
      "description": "Learn about Fazle Rabbi, a Bangladesh-based app and web developer focused on modern frontend work, mobile apps, and product delivery.",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://fazlerabbi.me/#website"
      },
      "about": {
        "@id": "https://fazlerabbi.me/#person"
      },
      "mainEntity": {
        "@id": "https://fazlerabbi.me/#person"
      }
    },
    {
      "@type": "FAQPage",
      "@id": "https://fazlerabbi.me/#faq",
      "url": "https://fazlerabbi.me/",
      "name": "FAQ | Fazle Rabbi",
      "description": "Learn about Fazle Rabbi, a Bangladesh-based app and web developer focused on modern frontend work, mobile apps, and product delivery.",
      "isPartOf": {
        "@id": "https://fazlerabbi.me/#website"
      },
      "about": {
        "@id": "https://fazlerabbi.me/#person"
      },
      "mainEntity": [
        {
          "@type": "Question",
          "name": "Who is Fazle Rabbi?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Fazle Rabbi is a Bangladesh-based app, web, and mobile developer from Shibganj. He works as a full stack developer at StagPrime and runs codeVenturePro, a freelance brand serving international clients on Fiverr and direct contracts."
          }
        },
        {
          "@type": "Question",
          "name": "What services and technologies does Fazle Rabbi work with?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "Fazle Rabbi specializes in React.js, Next.js, TypeScript, React Native, Kotlin, Node.js, MongoDB, and Tailwind CSS. He builds SEO-friendly websites, cross-platform mobile apps, landing pages, dashboards, and handles Google Play publishing."
          }
        },
        {
          "@type": "Question",
          "name": "How can I hire or contact Fazle Rabbi?",
          "acceptedAnswer": {
            "@type": "Answer",
            "text": "You can hire Fazle Rabbi via Fiverr at fiverr.com/fazlerabbime, connect on LinkedIn at linkedin.com/in/fazlerabbime, or email hi@fazlerabbi.me."
          }
        }
      ]
    },
    {
      "@type": "BreadcrumbList",
      "@id": "https://fazlerabbi.me/#breadcrumb",
      "itemListElement": [
        {
          "@type": "ListItem",
          "position": 1,
          "name": "About",
          "item": "https://fazlerabbi.me/"
        }
      ]
    }
  ]
}

Implementation Notes

The page structure is intentionally narrow: homepage graph first, then route builders, then validation. That keeps the system maintainable as content changes.

Validation Checklist

Ship the graph, validate the rendered output, then watch Search Console for crawl pickup and schema stability.

  1. 1Validate the homepage and one blog post in Google Rich Results Test after deployment.
  2. 2Inspect rendered HTML and confirm that routes reuse the same #person and #website ids instead of embedding fresh person objects.
  3. 3Check that datePublished and dateModified on blog posts match the MDX frontmatter values exactly.
  4. 4Re-submit the sitemap in Search Console after the structured-data rollout lands.