Skip to main content
Home  › ... Razor

Razor Blade Tutorials

Tutorial HomeRazor.Blade
Requirements
Resources

RazorBlade add JSON-LD Headers

Info about the Base Class

This tutorial inherits from the Custom.Hybrid.Razor14 base class.

This allows us to use Kit.Scrub to access an IScrub without having to use GetService<IScrub>

This page adds 2 JSON-LD tags to the html-head. View the page source to see it.
<script> type='application/ld+json'>{ "@context": "https://schema.org/" }</script>
<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":"\u002B1-401-555-1212","contactType":"Customer service"}}</script>
@{
  Kit.Page.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"}
    }}
  };
  Kit.Page.AddJsonLd(jsonLd);
}

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. Click to expand the code

@inherits Custom.Hybrid.Razor14
@using ToSic.Razor.Blade;
<!-- unimportant stuff, hidden -->



<div @Sys.PageParts.InfoWrapper()>
  @Html.Partial("../shared/DefaultInfoSection.cshtml")
  <div @Sys.PageParts.InfoIntro()>
      <h2><em>RazorBlade</em> add JSON-LD Headers</h2>

      @Html.Partial("MessageDnnOnlyUseIPageService.cshtml")

      @Html.Partial("../shared/KitBaseClassInfoBox.cshtml", new { ServiceName = "Scrub", Service = "IScrub" })

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


@if (CmsContext.Platform.Name == "Oqtane") {
  @Html.Partial("../shared/MessageOqtaneDisabled.cshtml")
} else {
  <text>

      @{
        Kit.Page.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"}
          }}
        };
        Kit.Page.AddJsonLd(jsonLd);
      }

  </text>
}


@* Footer *@
@Html.Partial("../Shared/Layout/FooterWithSource.cshtml", new { Sys = Sys })