diff --git a/lib/template.html b/lib/template.html
index 85c745fb..7dfc5c30 100644
--- a/lib/template.html
+++ b/lib/template.html
@@ -6,15 +6,21 @@
{% assign seo_url = site.github.url %}
{% endif %}
+{% if site.title %}
+ {% assign seo_site_title = site.title %}
+{% elsif site.name %}
+ {% assign seo_site_title = site.name %}
+{% endif %}
+
{% if page.title %}
{% assign seo_title = page.title %}
{% assign seo_page_title = page.title %}
- {% if site.title %}
- {% assign seo_title = seo_title | append:" - " | append: site.title %}
+ {% if seo_site_title %}
+ {% assign seo_title = seo_title | append:" - " | append: seo_site_title %}
{% endif %}
-{% elsif site.title %}
- {% assign seo_title = site.title %}
- {% assign seo_page_title = site.title %}
+{% elsif seo_site_title %}
+ {% assign seo_title = seo_site_title %}
+ {% assign seo_page_title = seo_site_title %}
{% if site.description %}
{% assign seo_title = seo_title | append:" - " | append: site.description %}
{% endif %}
@@ -22,6 +28,9 @@
{% if seo_title %}
{% assign seo_title = seo_title | markdownify | strip_html | strip_newlines | escape_once %}
{% endif %}
+{% if seo_site_title %}
+ {% assign seo_site_title = seo_site_title | markdownify | strip_html | strip_newlines | escape_once %}
+{% endif %}
{% if seo_page_title %}
{% assign seo_page_title = seo_page_title | markdownify | strip_html | strip_newlines | escape_once %}
{% endif %}
@@ -53,13 +62,13 @@
{% endif %}
-{% if site.title %}
-
+{% if seo_site_title %}
+
@@ -118,7 +127,7 @@
{
"@context" : "http://schema.org",
"@type" : "{% if site.social.type %}{{ site.social.type }}{% else %}person{% endif %}",
- "name" : "{% if site.social.name %}{{ site.social.name }}{% else %}{{ site.title }}{% endif %}",
+ "name" : "{% if site.social.name %}{{ site.social.name }}{% else %}{{ seo_site_title }}{% endif %}",
"url" : {{ seo_url | jsonify }},
"sameAs" : {{ site.social.links | jsonify }}
}
diff --git a/spec/jekyll_seo_tag_spec.rb b/spec/jekyll_seo_tag_spec.rb
index 1bc8a041..9e98db0f 100644
--- a/spec/jekyll_seo_tag_spec.rb
+++ b/spec/jekyll_seo_tag_spec.rb
@@ -165,6 +165,20 @@
expect(subject.render(context)).to match(expected)
end
+ it "uses site.name if site.title is not present" do
+ site = site({"name" => "Site Name", "title" => nil })
+ context = context({ :site => site })
+ expected = %r!!
+ expect(subject.render(context)).to match(expected)
+ end
+
+ it "uses site.tile if both site.title and site.name are present" do
+ site = site({"name" => "Site Name", "title" => "Site Title" })
+ context = context({ :site => site })
+ expected = %r!!
+ expect(subject.render(context)).to match(expected)
+ end
+
it "outputs valid HTML" do
site.process
options = {