docs: improved SEO of documentation (#3117)

* docs: added description to documentation pages

* docs: added more descriptions

* docs: finished improving meta description

* docs: added searchbox structured data

* docs: added breadcrumbs structured data

* docs: added how to structured data

* docs: improved 404 page

* docs: added how-to frontmatter option
This commit is contained in:
Shahed Nasser
2023-01-26 15:58:33 +02:00
committed by GitHub
parent 4e82ec0734
commit 589cb18f98
158 changed files with 699 additions and 48 deletions

View File

@@ -0,0 +1,31 @@
import React from "react"
import Head from '@docusaurus/Head'
import {useLocation} from '@docusaurus/router';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
export default function StructuredDataHowTo ({ toc, title }) {
const location = useLocation();
const { siteConfig: { url } } = useDocusaurusContext()
const mainUrl = `${url}/${location.pathname}`
return (
<Head>
<script type="application/ld+json">
{JSON.stringify({
"@context": "https://schema.org",
"@type": "HowTo",
name: title,
step: [
toc
.filter((item) => item.level === 2)
.map((item) => ({
"@type": "HowToStep",
text: item.value,
url: `${mainUrl}#${item.id}`
}))
]
})}
</script>
</Head>
)
}

View File

@@ -0,0 +1,27 @@
import React from 'react';
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
import Head from '@docusaurus/Head';
export default function StructuredDataSearchbox () {
const { siteConfig: { url } } = useDocusaurusContext()
return (
<Head>
<script type="application/ld+json">
{JSON.stringify({
"@context": "https://schema.org",
"@type": "WebSite",
url,
potentialAction: {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": `${url}/search?q={search_term_string}`
},
"query-input": "required name=search_term_string"
}
})}
</script>
</Head>
)
}