Structured data checker for schema markup

Structured data tells search engines and AI assistants in machine-readable terms who you are and what a page is about: your organization, products, articles or events. This test finds every JSON-LD block on your page, checks the JSON syntax, validates each schema.org type against its required and recommended properties, and gives you starter code when Organization or WebSite markup is missing.

Runs only this test. Want everything? Run all 18 tests from the home page.

What this test checks

JSON-LD blocks

Every script type="application/ld+json" block in the HTML and the schema.org types it declares, including nodes inside @graph and nested objects.

JSON syntax

Whether each block is valid JSON; a single misplaced comma or quote makes search engines ignore the whole block.

Required and recommended properties

Key properties for 24 common types, such as name and address for LocalBusiness, headline for Article, and offers, review or aggregateRating for Product.

Organization or LocalBusiness

Whether the page declares who runs the site, which Google and AI assistants use to recognize your brand.

Official profiles (sameAs)

Links from your Organization markup to official profiles such as LinkedIn, Instagram, YouTube or Wikipedia, which tie mentions of your brand together.

WebSite markup

A WebSite node with your site name and URL, which Google uses when choosing the site name shown in search results.

Rich result types and Microdata

Types that can enhance search results, such as Product, Article, BreadcrumbList, Event, Recipe and VideoObject, plus any Microdata used alongside JSON-LD.

Sample result

A real result for devteam.co.kr, tested 17 hours ago.

Structured data

10 schema types in use.

95/100A+
Required & recommended properties (Improve)
All required properties are present, but some recommended ones are empty: ProfessionalService.telephone, ProfessionalService.openingHoursSpecification or openingHours, ProfessionalService.geo
3 recommended missing
Target: All required properties for each type
How to fixFilling in the recommended properties too lets search results and AI answers make fuller use of your data.
Recommended
  • ProfessionalService.telephone
  • ProfessionalService.openingHoursSpecification or openingHours
  • ProfessionalService.geo
JSON-LD structured data (Good)
Found 10 types in 2 blocks.
Organization, ProfessionalService, ImageObject, PostalAddress, Country, ContactPoint and more
Target: Organization · WebSite · schema for each page type
JSON syntax (Good)
Every JSON-LD block is valid JSON.
Valid
Company/brand info (Organization) (Good)
Company/brand entity information is declared.
Organization/ProfessionalService
Target: Organization or LocalBusiness
External profiles (sameAs) (Good)
Official external profiles are linked.
3
Target: Official social, blog and wiki profiles
How we test this →
Site name (WebSite) (Good)
A WebSite schema is present, which Google uses for the site name shown in search results.
Present
Target: WebSite name · url

JSON-LD found on the page (2)

Organization, ProfessionalService, ImageObject, PostalAddress, Country, ContactPoint, WebSite
{
    "@context": "https://schema.org",
    "@graph": [
        {
            "@type": [
                "Organization",
                "ProfessionalService"
            ],
            "@id": "https://www.devteam.co.kr/#organization",
            "name": "DevTeam Korea",
            "legalName": "주식회사 뎁팀",
            "alternateName": [
                "뎁팀",
                "DevTeam",
                "DevTeam Co., Ltd."
            ],
            "url": "https://www.devteam.co.kr/",
            "logo": {
                "@type": "ImageObject",
                "url": "https://www.devteam.co.kr/storage/branding/logo_color_512.png",
                "width": 512,
                "height": 512
            },
            "image": "https://www.devteam.co.kr/images/og/default.jpg",
            "description": "MVP 개발, 정부지원사업 MVP, AI 연동·사내 AI 도입, ERP·그룹웨어 시스템 연동, Flutter 앱 개발, 웹 긴급지원을 제공하는 소프트웨어 개발사. 기획부터 배포·운영까지 한 팀이 책임집니다.",
            "taxID": "433-88-03388",
            "address": {
                "@type": "PostalAddress",
                "streetAddress": "컨벤시아대로 81, 드림시티 5층 509-제이492호",
                "addressLocality": "연수구",
                "addressRegion": "인천광역시",
                "postalCode": "21995",
                "addressCountry": "KR"
            },
            "areaServed": {
                "@type": "Country",
                "name": "KR"
            },
            "contactP...
FAQPage, Question, Answer
{
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [
        {
            "@type": "Question",
            "name": "개발 비용은 어떻게 정해지나요?",
            "acceptedAnswer": {
                "@type": "Answer",
                "text": "필요한 기능과 화면 수, 외부 시스템 연동 여부, 희망 일정에 따라 달라집니다. 상담 내용을 바탕으로 1영업일 안에 범위·일정·견적을 함께 정리해 드리며, 예산이 정해져 있다면 그 안에서 먼저 만들 수 있는 범위를 제안합니다."
            }
        },
        {
            "@type": "Question",
            "name": "기획서가 없는데 상담할 수 있나요?",
            "acceptedAnswer": {
                "@type": "Answer",
                "text": "네. 대부분 아이디어 설명이나 참고 사이트, 손으로 그린 화면 정도로 시작합니다. 필요하면 기능 정의서(PRD)와 화면 설계를 개발 전에 함께 만듭니다."
            }
        },
        {
            "@type": "Question",
            "name": "정부지원사업 과제로 진행할 수 있나요?",
            "acceptedAnswer": {
                "@type": "Answer",
                "text": "네. 예비·초기창업패키지, 지자체·대학 지원사업 과제는 저희에게 가장 자주 들어오는 의뢰 중 하나입니다. 사업 기간에 맞춘 일정과 법인 명의 견적서·계약서·세금계산서, 결과 보고에 쓸 산출물을 함께 준비합니다. 정부지원사업 MVP 안내를 참고해 주세요."
            }
        },
        {
            "@type": "Question",
            "name": "개발 기간은 보통 얼마나 걸리나요?",
            "acceptedAnswer": {
                "@type": "Answe...

How it works

  1. Our test server in Virginia, USA, fetches the URL you enter as WebPSQCBot/3.0 and extracts every JSON-LD block from the HTML.
  2. JavaScript is not run, so markup that a tag manager or client-side script injects after the page loads is not seen.
  3. Each typed node is validated on its own; recommended properties are checked only on top-level nodes, because nested references such as author or publisher often carry just a name.
  4. When Organization or WebSite markup is missing, the report includes starter JSON-LD built from your site name, URL and icon.
  5. Requests go only to public IP addresses on ports 80 and 443, and the check usually takes about 3 seconds.

How it is scored

The score uses our item-weighted formula: a pass earns full credit, a warning half and a fail none. Readable JSON-LD and valid JSON syntax count 3×; required properties and Organization markup 2×; sameAs profiles, WebSite markup and missing recommended properties 1×. The list of rich result types and any Microdata are shown for information and not scored.

CheckGoodNeeds workPoor
JSON-LD on the pageAt least one readable block—None, or none readable
JSON syntaxAll blocks valid—Any block with a syntax error
Properties of detected typesAll required and recommended presentOnly recommended ones missingRequired ones missing
Organization or LocalBusinessPresentMissing—
sameAs profiles on the OrganizationAt least oneNone—
WebSite (name and URL)PresentMissing—

Grades: A+ 95–100 · A 90–94 · B 80–89 · C 70–79 · D 60–69 · F below 60.

FAQ

What is structured data and why does it matter for SEO?
Structured data is code, usually JSON-LD, that describes a page with schema.org vocabulary: the organization behind it, a product and its price, an article and its author. Search engines use it to understand pages and to show rich results such as breadcrumbs, prices and review stars. Valid markup does not guarantee rich results, but without it most rich result types are not available.
Should I use JSON-LD or Microdata?
Google supports JSON-LD, Microdata and RDFa, and recommends JSON-LD because it is the easiest to add and maintain. This test validates JSON-LD in detail and lists any Microdata types it finds alongside it.
Why does the test not find schema I added with Google Tag Manager?
This test reads the HTML your server sends and does not run JavaScript, so markup injected by Google Tag Manager or another script is not visible to it. Google can process JavaScript-injected structured data when it renders the page, but other crawlers, including many AI crawlers, may not. Putting JSON-LD directly in the HTML is more reliable.
Does FAQPage markup still produce rich results?
For most sites, no. In August 2023 Google limited FAQ rich results to a small set of well-known government and health websites. This test still validates FAQPage markup, but it does not count it as a rich result type.
How do I add Organization structured data?
Add a script type="application/ld+json" block to your homepage with an Organization node: your exact name, URL, logo, contact details and sameAs links to your official profiles. If this test finds no Organization or WebSite markup, it generates starter code from your page that you can edit and paste in. Then confirm the result with Google's Rich Results Test or the Schema Markup Validator.