Блог

SEO 8 мин. четене

JSON-LD структурирани данни: готови за използване примери и PHP генератор

JSON-LD е форматът, който Google препоръчва за структурирани данни. Това ръководство обяснява какво да маркирате, показва готови за копиране примери за най-полезните типове schema.org и малкия PHP модел, който използваме, за да генерираме валидно маркиране на всяка страница, без да пишем на ръка JSON.

Корица на статията: JSON-LD структурирани данни: готови за използване примери и PHP генератор

Накратко

  • JSON-LD е <script type="application/ld+json"> блок в страницата, който го описва на машини, използвайки речника schema.org.
  • Маркирайте само това, което потребителите могат да видят на страницата. Маркирането, което не съответства на съдържанието, рискува ръчно действие и не печели нищо.
  • Започнете с Organization, BreadcrumbList и Article или Product; добавете FAQPage, Service или LocalBusiness където пасват.
  • Генерирайте JSON в PHP от масиви с json_encode, по една @graph на страница, със стабилни стойности @id.
  • Валидирайте шаблони с Rich Results Test и Schema Markup Validator и следете отчетите за подобрения Search Console.

Структурираните данни JSON-LD са начин да кажете на търсачките, в машинночетима форма, какво представлява дадена страница: статия, продукт с цена, компания с данни за контакт, списък с въпроси и отговори. Той е невидим за посетителите, не замества доброто съдържание и сам по себе си не повишава класирането. Това, което прави, е да направи страница подходяща за богати резултати, да помогне на двигателите да свържат страниците ви с правилния обект и да даде на базираното на AI търсене по-чист източник за четене. Ние го генерираме на всяка страница от integrono.com и другите ни сайтове и това ръководство е практическата версия на тази работа.

JSON-LD срещу Microdata срещу RDFa

Речникът на Schema.org може да бъде вграден в три синтаксиса. Microdata и RDFa поставят атрибути във вашите HTML тагове, което заплита маркирането с шаблони. JSON-LD живее в един скриптов блок, отделен от оформлението, така че е по-лесен за генериране, тестване и промяна. Google заявява, че препоръчва JSON-LD и това е, което използваме навсякъде.

Принципи преди примери

  • Опишете видимото съдържание. Ако цената, рейтингът или ЧЗВ не са на страницата, не ги поставяйте в маркирането.
  • Използвайте абсолютни URL адреси и каноничния URL адрес на страницата.
  • Бъдете пълни за необходимите свойства и добавете препоръчани, когато имате реални данни.
  • Използвайте @id за свързване на обекти. Авторът на статията е организацията, дефинирана веднъж с @id, а не ново копие всеки път.
  • Използвайте дати в ISO 8601 (2026-10-28 или с час и зона).
  • Не измисляйте рецензии или оценки. Фалшивите данни AggregateRating са често срещана причина за ръчни действия.

Пример 1. Организация (и уеб сайт)

Поставете това на началната страница или в графика за целия сайт. Той дефинира обекта, към който се отнася другото маркиране.

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "https://example.com/#organization",
  "name": "Example Studio",
  "url": "https://example.com/",
  "logo": "https://example.com/images/logo.png",
  "email": "[email protected]",
  "sameAs": [
    "https://github.com/example",
    "https://www.linkedin.com/company/example"
  ]
}

Пример 2. BreadcrumbList

Маркирането на навигационен път позволява на Google да показва пътя на страницата вместо необработен URL в резултатите. Трябва да съвпада с видимите галета.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {"@type": "ListItem", "position": 1, "name": "Home", "item": "https://example.com/"},
    {"@type": "ListItem", "position": 2, "name": "Blog", "item": "https://example.com/blog"},
    {"@type": "ListItem", "position": 3, "name": "JSON-LD guide", "item": "https://example.com/blog/json-ld-guide"}
  ]
}

Пример 3. Член

За публикации в блогове и ръководства. Свойствата, които имат значение: заглавие, дати, автор, издател, изображение и URL адрес на страницата.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "JSON-LD structured data: examples",
  "description": "Short summary of the article.",
  "url": "https://example.com/blog/json-ld-guide",
  "mainEntityOfPage": "https://example.com/blog/json-ld-guide",
  "inLanguage": "en",
  "datePublished": "2026-08-23",
  "dateModified": "2026-10-28",
  "author": {"@id": "https://example.com/#organization"},
  "publisher": {"@id": "https://example.com/#organization"},
  "image": {"@type": "ImageObject", "url": "https://example.com/images/blog/json-ld.webp", "width": 1200, "height": 630}
}

Промяна dateModified се само когато съдържанието наистина се промени. Блъскането му при всяко внедряване е тих начин да загубите доверие.

Пример 4. Продукт с оферта

За продуктови страници с видима цена. Включете наличност и валута; добавете aggregateRating или review само ако на страницата са показани реални отзиви.

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Example product",
  "description": "What it is and who it is for.",
  "image": ["https://example.com/images/product.webp"],
  "sku": "EX-001",
  "brand": {"@type": "Brand", "name": "Example"},
  "offers": {
    "@type": "Offer",
    "url": "https://example.com/product/ex-001",
    "priceCurrency": "EUR",
    "price": "49.00",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition"
  }
}

Пример 5. Услуга с оферта

За платени услуги, като одит на фиксирана цена или почасова консултация. Ние използваме този модел на нашите собствени страници за услуги.

{
  "@context": "https://schema.org",
  "@type": "Service",
  "name": "Architecture review",
  "serviceType": "Software architecture analysis",
  "provider": {"@id": "https://example.com/#organization"},
  "areaServed": "Worldwide",
  "offers": {
    "@type": "Offer",
    "price": "200",
    "priceCurrency": "EUR",
    "url": "https://example.com/services/architecture-review"
  }
}

Пример 6. Страница с често задавани въпроси

Маркирането на ЧЗВ описва списък с въпроси и отговори, които се виждат на страницата. Имайте предвид, че от 2023 г. Google показва разширени резултати с ЧЗВ само за ограничен набор от авторитетни сайтове, така че не очаквайте разширяеми отговори в резултатите. Маркировката все още е валидна, все още може да се чете от други търсачки и AI системи и поддържа често задаваните въпроси структурирани по начин, по който машините могат да цитират.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Do I need structured data to rank?",
      "acceptedAnswer": {"@type": "Answer", "text": "No. It is not a ranking requirement, but it can make pages eligible for rich results."}
    }
  ]
}

Комбинирайте всичко в една @графика

Една страница рядко има само един обект. Поставете всички тях в един скрипт с помощта @graph и препратете към споделените обекти чрез @id:

{
  "@context": "https://schema.org",
  "@graph": [
    {"@type": "Organization", "@id": "https://example.com/#organization", "name": "Example Studio"},
    {"@type": "Article", "headline": "...", "author": {"@id": "https://example.com/#organization"}},
    {"@type": "BreadcrumbList", "itemListElement": []},
    {"@type": "FAQPage", "mainEntity": []}
  ]
}

Безопасно генериране на JSON-LD в PHP

Не свързвайте JSON на ръка. Цитат в заглавие нарушава целия скрипт и търсачката мълчаливо го игнорира. Създайте PHP масив и го кодирайте. Два флага имат значение: поддържайте Unicode четим и защитавайте HTML контекста, като избягвате наклонени черти и тагове.

function jsonLdScript(array $graph): string
{
    $data = ['@context' => 'https://schema.org', '@graph' => $graph];
    $json = json_encode(
        $data,
        JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_HEX_TAG | JSON_HEX_AMP | JSON_THROW_ON_ERROR
    );
    return '<script type="application/ld+json">' . $json . '</script>';
}

$graph = [
    ['@type' => 'Organization', '@id' => $site . '/#organization', 'name' => 'Example Studio', 'url' => $site . '/'],
    [
        '@type'         => 'Article',
        'headline'      => $title,
        'url'           => $canonical,
        'datePublished' => $published,
        'dateModified'  => $modified,
        'author'        => ['@id' => $site . '/#organization'],
    ],
];
echo jsonLdScript($graph);

JSON_HEX_TAG превръща < и > в екраниращи последователности, така че потребителското съдържание никога да не може да затвори маркера на скрипта по-рано. Захранете генератора със същите данни, които изобразяват страницата (заглавие, цена, дати), така че маркирането и видимото съдържание да не могат да се разминават. В многоезичен сайт преведете текстови полета и задайте inLanguage за всеки локал; това е начинът, по който се произвеждат статиите и маркирането на ЧЗВ в този блог.

Валидирайте и наблюдавайте

  1. Rich Results Test за допустимост на типовете разширени резултати на Google.
  2. Schema Markup Validator за общ синтаксис schema.org от всякакъв тип.
  3. Доклади за подобряване Search Console (навигационни пътеки, продукти, често задавани въпроси и т.н.) за грешки и предупреждения в мащаб, след като Google е обходил страниците ви.
  4. Единичен тест, който изобразява всеки шаблон и проверява дали JSON-LD анализира и съдържа необходимите ключове, предотвратява регресии след рефактори.

Грешки, които ви струват

  • Надценка за съдържание, което не е на страницата (скрити FAQ, измислени оценки, цени, които се различават от видимата цена).
  • Няколко противоречиви блока от плъгин и шаблон, всеки с различна Organization.
  • Относителни URL адреси, грешни дати или липсващ @id.
  • Счупен JSON от ръчно изграждане на низове и неекранирани кавички.
  • Третиране на схемата като трик за класиране. Това е инструмент за яснота; страницата все още трябва да заслужи класирането.

Как можем да помогнем

Структурираните данни са част от нашата техническа SEO работа: ние проектираме схемата за вашите шаблони, внедряваме генератора във вашия стек и настройваме валидирането, така че да остане правилен след изданията. Ако искате общ преглед на това, което не е наред във вашия сайт, започнете с нашия контролен списък за технически SEO одит или резервирайте консултация.

Често задавани въпроси

Какво представляват структурираните данни JSON-LD ?

JSON-LD е скриптов блок, съдържащ данни schema.org във формат JSON, който описва съдържанието на страница за търсачките, например статия, продукт, организация или ЧЗВ.

Структурираните данни подобряват ли класирането?

Не директно. Той помага на търсачките да разберат страницата и може да я направи подходяща за богати резултати, което може да подобри честотата на кликване, но не е изискване за класиране.

Къде да поставя JSON-LD скрипта?

Навсякъде в HTML главата или тялото на страницата; повечето сайтове го поставят в главата. Той трябва да присъства в изобразения HTML, който Google извлича, така че генерирането от страна на сървъра е най-безопасният подход.

Все още ли си струва да се добави маркировка на FAQPage?

Сега Google показва разширени резултати с често задавани въпроси само за ограничен набор от сайтове, но валидното маркиране на често задавани въпроси остава четливо от други търсачки и AI системи. Добавете го само за въпроси и отговори, които се виждат на страницата.

Как да тествам структурирани данни?

Използвайте Rich Results Test за отговарящи на условията разширени резултати, Schema Markup Validator за общ синтаксис и отчетите за подобрения Search Console, за да проследите грешките в целия сайт.

Безплатно обаждане за откриване

Донесете разхвърлян стек или блокирала интеграция - Integrono ще набележи най-умния първи ход.

Получавате експертна оценка на бюджетни капани, зависимости и дали да купите, слепите или изградите - преди да започне платената работа. CEO остава в контура.