Setting up Article Schema Markup for Blog
Article Schema helps Google correctly understand the type of content and can provide extended results for news sites. Recommended for all blogs and news sections.
Article Markup
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "How to Choose a Laptop for Work in 2024",
"description": "Detailed guide for choosing a work laptop: processor, RAM, screen, battery life.",
"image": {
"@type": "ImageObject",
"url": "https://blog.example.ru/images/laptop-guide.jpg",
"width": 1200,
"height": 630
},
"author": {
"@type": "Person",
"name": "Ivan Petrov",
"url": "https://blog.example.ru/authors/ivan-petrov"
},
"publisher": {
"@type": "Organization",
"name": "TechBlog",
"logo": {
"@type": "ImageObject",
"url": "https://blog.example.ru/logo.png",
"width": 200, "height": 60
}
},
"datePublished": "2024-03-15T10:00:00+03:00",
"dateModified": "2024-03-20T14:30:00+03:00",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://blog.example.ru/articles/laptop-guide-2024"
},
"wordCount": 2450,
"inLanguage": "en"
}
Article Types
-
Article— general type -
NewsArticle— news articles (for news aggregators) -
BlogPosting— blog posts -
TechArticle— technical articles, documentation
Dynamic Generation in Laravel
$schema = [
'@context' => 'https://schema.org',
'@type' => 'Article',
'headline' => $article->title,
'description' => $article->excerpt,
'image' => $article->cover_image_url,
'author' => ['@type' => 'Person', 'name' => $article->author->name],
'publisher' => ['@type' => 'Organization', 'name' => config('app.name'),
'logo' => ['@type' => 'ImageObject', 'url' => asset('images/logo.png')]],
'datePublished' => $article->published_at->toIso8601String(),
'dateModified' => $article->updated_at->toIso8601String(),
'mainEntityOfPage' => ['@type' => 'WebPage', '@id' => $article->canonical_url]
];
Setup timeline: a few hours.







