mirror of
https://github.com/alexandrev/xslt-lab.git
synced 2026-09-16 18:23:16 +00:00
SEO: robots.txt with sitemap, related posts links, canonical tags, better CTR snippet
This commit is contained in:
+4
-4
@@ -3,19 +3,19 @@
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>XSLT Playground - Free Online XSLT Editor, Tester & Validator</title>
|
||||
<title>XSLT Playground — Free Online XSLT Tester & Editor</title>
|
||||
<meta
|
||||
name="description"
|
||||
content="Free online XSLT editor, tester and validator. Run XSLT 1.0, 2.0 and 3.0 transformations instantly in your browser using Saxon. No installation required."
|
||||
content="Run and test XSLT instantly in your browser. Supports XSLT 1.0, 2.0 and 3.0 via Saxon. No install, no signup — results in seconds."
|
||||
/>
|
||||
<meta
|
||||
name="keywords"
|
||||
content="xslt online, xslt editor, xslt tester, xslt validator, xsl editor, xsl tester, xslt playground, xslt 3.0, xslt 2.0, online xslt editor, xslt transformation online, xml transformation, saxon xslt"
|
||||
/>
|
||||
<meta property="og:title" content="XSLT Playground - Free Online XSLT Editor, Tester & Validator" />
|
||||
<meta property="og:title" content="XSLT Playground — Free Online XSLT Tester & Editor" />
|
||||
<meta
|
||||
property="og:description"
|
||||
content="Free online XSLT editor, tester and validator. Run XSLT 1.0, 2.0 and 3.0 transformations instantly in your browser using Saxon. No installation required."
|
||||
content="Run and test XSLT instantly in your browser. Supports XSLT 1.0, 2.0 and 3.0 via Saxon. No install, no signup — results in seconds."
|
||||
/>
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://xsltplayground.com/" />
|
||||
|
||||
@@ -5,6 +5,11 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{{ block "title" . }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }}</title>
|
||||
<meta name="description" content="{{ with .Description }}{{ . }}{{ else }}{{ .Site.Params.subtitle }}{{ end }}">
|
||||
<link rel="canonical" href="{{ .Permalink }}">
|
||||
<meta property="og:title" content="{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}">
|
||||
<meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{ .Site.Params.subtitle }}{{ end }}">
|
||||
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}">
|
||||
<meta property="og:url" content="{{ .Permalink }}">
|
||||
{{ partial "adsense/head.html" . }}
|
||||
<link rel="stylesheet" href="{{ "css/main.css" | relURL }}">
|
||||
</head>
|
||||
|
||||
@@ -9,5 +9,6 @@
|
||||
{{ .Content }}
|
||||
</div>
|
||||
<p class="muted back-link"><a href="{{ .CurrentSection.RelPermalink }}">← Back to {{ .CurrentSection.Title }}</a></p>
|
||||
{{ partial "related-posts.html" . }}
|
||||
</article>
|
||||
{{ end }}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
{{- $related := first 4 (where (where .Site.RegularPages "Section" "posts") "Permalink" "ne" .Permalink) -}}
|
||||
{{- if $related -}}
|
||||
<aside class="related-posts">
|
||||
<h3>Related articles</h3>
|
||||
<ul>
|
||||
{{- range $related }}
|
||||
<li><a href="{{ .RelPermalink }}">{{ .Title }}</a></li>
|
||||
{{- end }}
|
||||
</ul>
|
||||
<p class="related-cta">Try the examples in <a href="https://xsltplayground.com">XSLT Playground</a> — free online XSLT editor and tester.</p>
|
||||
</aside>
|
||||
{{- end -}}
|
||||
@@ -0,0 +1,4 @@
|
||||
User-agent: *
|
||||
Disallow:
|
||||
|
||||
Sitemap: {{ .Site.BaseURL }}sitemap.xml
|
||||
@@ -254,6 +254,49 @@ code {
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
.related-posts {
|
||||
margin-top: 3rem;
|
||||
padding: 1.5rem;
|
||||
border: 1px solid var(--border);
|
||||
border-radius: 8px;
|
||||
background: rgba(255,255,255,0.03);
|
||||
}
|
||||
|
||||
.related-posts h3 {
|
||||
margin: 0 0 0.75rem;
|
||||
font-size: 1rem;
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
.related-posts ul {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
margin: 0 0 1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 0.4rem;
|
||||
}
|
||||
|
||||
.related-posts ul a {
|
||||
color: var(--text);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.related-posts ul a:hover {
|
||||
color: var(--accent);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.related-cta {
|
||||
margin: 0;
|
||||
font-size: 0.85rem;
|
||||
color: var(--muted);
|
||||
}
|
||||
|
||||
.related-cta a {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
@media (max-width: 720px) {
|
||||
.header-grid { grid-template-columns: 1fr; }
|
||||
.nav { flex-wrap: wrap; }
|
||||
|
||||
Reference in New Issue
Block a user