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:
31
www/docs/src/theme/StructuredData/HowTo/index.js
Normal file
31
www/docs/src/theme/StructuredData/HowTo/index.js
Normal 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>
|
||||
)
|
||||
}
|
||||
27
www/docs/src/theme/StructuredData/Searchbox/index.tsx
Normal file
27
www/docs/src/theme/StructuredData/Searchbox/index.tsx
Normal 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>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user