feat(seo.html): add meta tags for site verification codes (Google, Bing, Yandex, Pinterest, Baidu, So, Sogou) to improve SEO and site ownership verification

feat(analytics.html): create partial to include analytics scripts for various analytics services (Google Analytics, Fathom Analytics, Baidu Analytics, Umami Analytics, Plausible Analytics, Cloudflare Analytics, Splitbee Analytics) to track website traffic and user behavior
This commit is contained in:
Sped0n
2023-11-03 14:25:20 +08:00
parent 1910eb21db
commit 43330579bd
4 changed files with 157 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
{{- $analytics := site.Params.analytics -}}
{{- if $analytics.enable -}}
{{- /* Google Analytics */ -}}
{{- with $analytics.google.id -}}
<script type="text/javascript">
window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());
gtag('config', '{{ . }}'{{ if $analytics.google.anonymizeIP }}, { 'anonymize_ip': true }{{ end }});
</script> {{- printf "https://www.googletagmanager.com/gtag/js?id=%v" . | dict "Async" true "Source" | partial "plugin/script.html" -}}
{{- end -}}
{{- /* Fathom Analytics */ -}}
{{- with $analytics.fathom.id -}}
<script type="text/javascript">
window.fathom=window.fathom||function(){(fathom.q=fathom.q||[]).push(arguments);};
fathom('set', 'siteId', '{{ . }}');
fathom('trackPageview');
</script> {{- dict "Source" ($analytics.fathom.server | default "cdn.usefathom.com" | printf "https://%v/tracker.js") "Async" true "Attr" "id=fathom-script" | partial "plugin/script.html" -}}
{{- end -}}
{{- /* Baidu Analytics */ -}}
{{- with $analytics.baidu.id -}}
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?{{ . }}";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
{{- end -}}
{{- /* Umami Analytics */ -}}
{{- with $analytics.umami.data_website_id -}}
<script
async
defer
data-website-id="{{ . }}"
src="{{ $analytics.umami.src }}"
{{ with $analytics.umami.data_host_url }}data-host-url="{{ . }}"{{ end }}
{{ with $analytics.umami.data_domains }}data-domains="{{ . }}"{{ end }}
></script>
{{- end -}}
{{- /* Plausible Analytics */ -}}
{{- with $analytics.plausible.data_domain -}}
<script
async
defer
data-domain="{{ . }}"
src="{{ $analytics.plausible.src }}"
></script>
{{- end -}}
{{- /* Cloudflare Analytics */ -}}
{{- with $analytics.cloudflare.token -}}
<script
defer
src="https://static.cloudflareinsights.com/beacon.min.js"
data-cf-beacon='{"token": "{{ $analytics.cloudflare.token }}"}'
></script>
{{- end -}}
{{- /* Splitbee Analytics */ -}}
{{- if $analytics.splitbee.enable -}}
{{- $attr := "" -}}
{{- if $analytics.splitbee.Do_not_track -}}
{{- $attr = printf `%v data-respect-dnt` $attr -}}
{{- end -}}
{{- if $analytics.splitbee.No_cookie -}}
{{- $attr = printf `%v data-no-cookie` $attr -}}
{{- end -}}
{{- with $analytics.splitbee.data_token -}}
{{- $attr = printf `%v data-token="%v"` $attr . -}}
{{- end -}}
<script
defer
{{ with $attr }}{{ . | safeHTMLAttr }}{{ end }}
src="https://cdn.splitbee.io/sb.js"
></script>
{{- end -}}
{{- end -}}