Skip to main content

Razor Blade Tutorials

Tutorial HomeRazor.Blade

RazorBlade add JSON-LD Headers

This page adds 2 JSON-LD tags to the html-head. View the page source to see it.

This is the tag you should see in the header:
<script type='application/ld+json'>{"@context":"https://schema.org","@type":"Organization","url":"http://www.example.com","name":"Unlimited Ball Bearings Corp.","contactPoint":{"@type":"ContactPoint","telephone":"+1-401-555-1212","contactType":"Customer service"}}</script>


Source Code of this file

Below you'll see the source code of the file. Note that we're just showing the main part, and hiding some parts of the file which are not relevant for understanding the essentials.

@inherits Custom.Hybrid.Razor12
@using ToSic.Razor.Blade;
<!-- unimportant stuff, hidden -->
RazorBlade add JSON-LD Headers... <!-- unimportant stuff, hidden -->

@{#if NETCOREAPP}
  @Html.Partial("../shared/_MessageOqtaneDisabled.cshtml")
@{#else}
@{
  HtmlPage.AddJsonLd("{ \"@context\": \"https://schema.org/\" }");
}
@{
  // creating a JSON-LD using an object - replicating googles example https://developers.google.com/search/docs/guides/intro-structured-data
  var jsonLd = new Dictionary<string, object> {
    { "@context", "https://schema.org"},
    { "@type", "Organization"},
    { "url", "http://www.example.com"},
    { "name", "Unlimited Ball Bearings Corp."},
    { "contactPoint", new Dictionary<string, object> {
      {"@type", "ContactPoint"},
      {"telephone", "+1-401-555-1212"},
      {"contactType", "Customer service"}
    }}
  };

  HtmlPage.AddJsonLd(jsonLd);
}
<p>
  This is the tag you should see in the header: <br>
  @(new ToSic.Razor.Html5.ScriptJsonLd(jsonLd).ToString())
</p>
@{#endif}

<!-- unimportant stuff, hidden -->