nirvana-msu/yii2-jsonld-helper
Composer 安装命令:
composer require nirvana-msu/yii2-jsonld-helper
包简介
JsonLD Helper class for Yii2
README 文档
README
Yii2 helper class for registering structured data markup in JSON-LD format.
Resources
- Yii2 extension page
- JSON-LD documentation
- Google Structured Data Testing Tool
Installation
Composer
Add extension to your composer.json and update your dependencies as usual, e.g. by running composer update
{ "require": { "nirvana-msu/yii2-jsonld-helper": "1.0.*@dev" } }
##Sample Usage
To let search engines know how to display your website name in search results, you can add the following JSON-LD document somewhere on your landing page:
$doc = (object)[ "@type" => "http://schema.org/WebSite", "http://schema.org/name" => Yii::$app->params['brand'], "http://schema.org/url" => Yii::$app->urlManager->hostInfo ]; JsonLDHelper::add($doc);
You may pass $context as an optional second parameter if you need to use something other than default ["@vocab" => "http://schema.org/"]:
JsonLDHelper::add($doc, $context);
Note that doing so may cause resulting script to not pass validation by the Google's [SDTT] (https://search.google.com/structured-data/testing-tool) - refer this this stackoverflow question for details.
You can also use JsonLDHelper::addBreadcrumbList to add BreadcrumbList schema.org markup
based on the application view breadcrumbs parameter. E.g. in the beginning of your layout add:
JsonLDHelper::addBreadcrumbList();
Finally, you must invoke JsonLDHelper::registerScripts method in the <head> section of your layout, e.g.
<head> <!-- ... --> <?php JsonLDHelper::registerScripts(); ?> <?php $this->head() ?> </head>
###Example with nested data:
$doc = [ "@type" => "http://schema.org/BlogPosting", "http://schema.org/mainEntityOfPage" => (object)[ "@type" => "http://schema.org/WebPage", "@id" => "http://example.com/awesome-blog-post", ], "http://schema.org/headline" => "Post Title", "http://schema.org/articleBody" => "Post Body", "http://schema.org/author" => (object)[ "@type" => "http://schema.org/Person", "http://schema.org/name" => "Jon Snow", "http://schema.org/url" => "http://example.com", "http://schema.org/sameAs" => [ "https://www.instagram.com/kitharingtonn/", ] ], ]; JsonLDHelper::add($doc);
Note that this extension is just a thin wrapper around lanthaler/JsonLD processor - refer to this library for the full documentation.
##License
Extension is released under MIT license.
统计信息
- 总下载量: 29.3k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 9
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2016-08-22