Selaa lähdekoodia

feat: don't index private pages (#2464)

Setting the private attribute on pages currently prevents them from showing up in Wowchemy search.

This change instructs search engines to also ignore pages set to private.

Fixes #2444
James Tatum 3 vuotta sitten
vanhempi
commit
c7616ab568

+ 30 - 0
wowchemy/layouts/_default/sitemap.xml

@@ -0,0 +1,30 @@
+{{ printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
+<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
+        xmlns:xhtml="http://www.w3.org/1999/xhtml">
+  {{/* Check that page is built (has a URL) and is not private. */}}
+  {{ range where (where .Data.Pages "Permalink" "!=" nil) "Params.private" "ne" true }}
+  <url>
+    <loc>{{ .Permalink }}</loc>
+    {{- if not .Lastmod.IsZero }}<lastmod>{{ safeHTML ( .Lastmod.Format "2006-01-02T15:04:05-07:00" ) }}</lastmod>{{ end }}
+    {{- with .Sitemap.ChangeFreq }}<changefreq>{{ . }}</changefreq>{{ end }}
+    {{- if ge .Sitemap.Priority 0.0 }}<priority>{{ .Sitemap.Priority }}</priority>{{ end }}
+    {{- if .IsTranslated -}}
+
+    {{- range .Translations -}}
+    <xhtml:link
+      rel="alternate"
+      hreflang="{{ .Language.Lang }}"
+      href="{{ .Permalink }}"
+    />
+    {{- end -}}
+
+    <xhtml:link
+      rel="alternate"
+      hreflang="{{ .Language.Lang }}"
+      href="{{ .Permalink }}"
+    />
+
+    {{- end -}}
+  </url>
+  {{- end -}}
+</urlset>

+ 4 - 0
wowchemy/layouts/partials/site_head.html

@@ -8,6 +8,10 @@
     <meta name="generator" content="Wowchemy {{ site.Data.wowchemy.version }} for Hugo" />
   {{ end }}
 
+  {{ if .Params.private }}
+    <meta name="robots" content="noindex" />
+  {{- end -}}
+
   {{ if site.Params.marketing.google_optimize | and hugo.IsProduction }}
     <script src="https://www.googleoptimize.com/optimize.js?id={{ site.Params.marketing.google_optimize }}"></script>
   {{- end -}}