gpt4 book ai didi

php - Laravel 如何在多个页面上包含 Schema.org 结构化数据

转载 作者:行者123 更新时间:2023-12-04 00:25:09 27 4
gpt4 key购买 nike

我正在 build 一个 laravel -我想在其中包含一些 schema.org 的应用程序结构化数据。在我的 app.blade.php - 文件,这是一个布局文件 - 我已经包含了这个:

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebSite",
"name": "thecompany.com",
"alternateName": "the company",
"url": "{{ route('home') }}"
}
</script>

现在我想添加不同的参数,取决于我在哪个子页面上。例如,我有一个工作列表页面,我希望每个工作页面都有类似的内容:
{
"@context" : "https://schema.org/",
"@type" : "JobPosting",
"title" : "Software Engineer",
"description" : "<p>Become our next developer.</p>",
"employmentType" : "CONTRACTOR",
"hiringOrganization" : {
"@type" : "Organization",
"name" : "The Company",
"sameAs" : "http://www.google.com",
"logo" : "http://www.example.com/images/logo.png",
"baseSalary": {
"@type": "MonetaryAmount",
"currency": "USD",
"value": {
"@type": "QuantitativeValue",
"value": 40.00,
"unitText": "HOUR"
}
}
}

并且值当然会在您所在的工作页面上发生变化。

我试图在 job.blade.php 中添加脚本-file 但它似乎被位于 app.blade.php 中的脚本覆盖了-文件

我该如何解决这个问题?

最佳答案

另一种方法是使用像 Schema.org generator for Laravel 这样的包

这允许您编写如下代码:

use Spatie\SchemaOrg\Schema;

$localBusiness = Schema::localBusiness()
->name('Spatie')
->email('info@spatie.be')
->contactPoint(Schema::contactPoint()->areaServed('Worldwide'));

echo $localBusiness->toScript();

...生成以下 JSON-LD:
<script type="application/ld+json">
{
"@context": "http:\/\/schema.org",
"@type": "LocalBusiness",
"name": "Spatie",
"email": "info@spatie.be",
"contactPoint": {
"@type": "ContactPoint",
"areaServed": "Worldwide"
}
}
</script>

关于php - Laravel 如何在多个页面上包含 Schema.org 结构化数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57674334/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com