SEO is a critical aspect of most GenHelm models.

To achieve great search engine optimization you need to do a lot of things right. Things like making sure your URLs are search engine friendly and defining proper canonical URLs. Making sure your sites are lightning fast and produce only W3C validated HTML will also help improve SEO.

Local SEO

One thing that has been shown to improve SEO for local businesses is to generate a local business schema so that Google and other search engines know your location and type of business. The local_business model can be used for this purpose.

Here we show a portion of a local_business specification:

Example of a local_business specification

Using the information provided to the local_business model, the $local_business function will generate a json schema similar to the following,

<script type="application/ld+json" id="localbusiness_script">
{"@context": "http://schema.org",
"@type": "Attorney",
"additionalType": "http://www.productontology.org/id/Personal_injury_lawyer",
"name": "Dietrich Law Office",
"legalName": "Dietrich Law Personal Injury and Disability Lawyers",
"url": "https://www.dietrichlaw.ca/",
"description": "Personal injury law and disability law.",
"logo": "https://www.dietrichlaw.ca/images/dietrich-logo-tiny.png",
"sameAs": ["https://www.facebook.com/DietrichLawCanada",
           "https://twitter.com/dietrich_law",
           "https://www.youtube.com/user/dietrichlawoffice"],
"address": {
"@type": "PostalAddress",
"streetAddress": "141 Duke Street East",
"addressLocality": "Kitchener",
"addressRegion": "Ontario",
"postalCode": "N2H 1A6",
"addressCountry": "Canada"
},
"image": "https://www.dietrichlaw.ca/images/dietrich-law-building-tiny.jpg",
"telePhone": "519-749-0770",
"areaServed": ["Kitchener ON. Cambridge ON","Guelph ON","Waterloo ON","Brantford ON",
               "Stratford ON","Woodstock ON","Weltliste ON","Ingersoll ON","Elora ON"],
"hasMap": "https://www.google.ca/maps/place/Dietrich+Law+Office/@43.4488666,-80.4838296,
  15z/data=!4m5!3m4!1s0x0:0xd1f410b7b7539006!8m2!3d43.4489054!4d-80.483795",
"geo": {
"@type": "GeoCoordinates",
"latitude": "43.4488666",
"longitude": "-80.4838296"
}
}
</script>

Other models that are oriented around improving a site's SEO include:

  1. weekly_schedule is used to define office hours which can be included in the business' local business schema.
  2. xml_sitemap is used to adapt the xml sitemap used to define all of the pages of a site.
  3. menu can be used to generate an on-site sitemap.