feat: initial Hugo blog for internetforkids.ong
Child safety marketing blog with: - First article: Global Child Protection Laws 2026 (EN/DE) - Interactive world map (17 countries, TopoJSON) - SEO: JSON-LD, OpenGraph, hreflang, canonical URLs - AI search: robots.txt, llms.txt, FAQ sections - VPN CTA shortcode, about pages, tag taxonomy - Rybbit analytics partial (site ID TBD) - Dockerfile + nginx.conf for deployment Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
9
layouts/partials/language-switcher.html
Normal file
9
layouts/partials/language-switcher.html
Normal file
@@ -0,0 +1,9 @@
|
||||
{{ if .IsTranslated }}
|
||||
<nav class="language-switcher" aria-label="Language">
|
||||
{{ range .Translations }}
|
||||
<a href="{{ .Permalink }}" lang="{{ .Language.Lang }}" hreflang="{{ .Language.Lang }}">
|
||||
{{ .Language.LanguageName }}
|
||||
</a>
|
||||
{{ end }}
|
||||
</nav>
|
||||
{{ end }}
|
||||
3
layouts/partials/rybbit.html
Normal file
3
layouts/partials/rybbit.html
Normal file
@@ -0,0 +1,3 @@
|
||||
{{ with site.Params.rybbit_site_id }}
|
||||
<script src="{{ site.Params.rybbit_url }}/script.js" data-site-id="{{ . }}" defer></script>
|
||||
{{ end }}
|
||||
73
layouts/partials/structured-data.html
Normal file
73
layouts/partials/structured-data.html
Normal file
@@ -0,0 +1,73 @@
|
||||
{{ if .IsPage }}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BlogPosting",
|
||||
"headline": "{{ .Title }}",
|
||||
"description": "{{ .Description | default (.Summary | plainify) }}",
|
||||
"datePublished": "{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}",
|
||||
"dateModified": "{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}",
|
||||
"author": {
|
||||
"@type": "Organization",
|
||||
"name": "Agiliton",
|
||||
"url": "https://www.agiliton.eu"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "Agiliton",
|
||||
"url": "https://www.agiliton.eu"
|
||||
},
|
||||
"mainEntityOfPage": {
|
||||
"@type": "WebPage",
|
||||
"@id": "{{ .Permalink }}"
|
||||
},
|
||||
"inLanguage": "{{ .Language.Lang }}",
|
||||
"wordCount": {{ .WordCount }}
|
||||
{{ with .Params.tags }},
|
||||
"keywords": {{ . | jsonify }}
|
||||
{{ end }}
|
||||
}
|
||||
</script>
|
||||
{{/* BreadcrumbList for AI search navigation */}}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "BreadcrumbList",
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1,
|
||||
"name": "{{ site.Title }}",
|
||||
"item": "{{ site.BaseURL }}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "{{ .Section | title }}",
|
||||
"item": "{{ printf "%s%s/" site.BaseURL .Section }}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 3,
|
||||
"name": "{{ .Title }}",
|
||||
"item": "{{ .Permalink }}"
|
||||
}
|
||||
]
|
||||
}
|
||||
</script>
|
||||
{{ else }}
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebSite",
|
||||
"name": "{{ site.Title }}",
|
||||
"url": "{{ site.BaseURL }}",
|
||||
"description": "{{ site.Params.description }}",
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "Agiliton",
|
||||
"url": "https://www.agiliton.eu"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
{{ end }}
|
||||
13
layouts/partials/vpn-cta.html
Normal file
13
layouts/partials/vpn-cta.html
Normal file
@@ -0,0 +1,13 @@
|
||||
<aside class="vpn-cta" style="background: linear-gradient(135deg, #1a365d 0%, #2d5ca8 100%); color: #fff; padding: 2rem; border-radius: 12px; margin: 2rem 0; text-align: center;">
|
||||
<h3 style="margin: 0 0 0.75rem; font-size: 1.25rem;">{{ if eq .Language.Lang "de" }}Schützen Sie Ihre Familie online{{ else }}Protect Your Family Online{{ end }}</h3>
|
||||
<p style="margin: 0 0 1.25rem; opacity: 0.9; font-size: 0.95rem;">
|
||||
{{ if eq .Language.Lang "de" }}
|
||||
Agiliton VPN bietet Inhaltsfilterung, Geräteschutz und sicheres Surfen für die ganze Familie.
|
||||
{{ else }}
|
||||
Agiliton VPN provides content filtering, device protection, and safe browsing for the whole family.
|
||||
{{ end }}
|
||||
</p>
|
||||
<a href="https://www.agiliton.eu/vpn" style="display: inline-block; background: #fff; color: #1a365d; padding: 0.75rem 2rem; border-radius: 8px; text-decoration: none; font-weight: 600;">
|
||||
{{ if eq .Language.Lang "de" }}Mehr erfahren{{ else }}Learn More{{ end }}
|
||||
</a>
|
||||
</aside>
|
||||
Reference in New Issue
Block a user