我有一个由 docusaurus 制作的网站
2.0.0-beta.18
。最初是英文的,后来我用i18
添加了很多页面的中文版本。所以像https://www.mywebsite.com/zh-CN/docs/a-page
这样的页面可以很好地显示中文内容。
我正在改进网站的搜索引擎优化。我了解到我们可以更好地在
title
中编写keywords
和docusaurus.config.js
来提高SEO。所以我写了title: 'mywebsite, toSEO'
和{name: 'keywords', content: 'word, toSEO'}
,如下所示。然后我确实看到这些元数据出现在 HTML 中。
但是,当我打开中文版网站时,我看到这些元数据也出现在 HTML 中。所以我的问题是是否可以为中文版本设置特定/不同的标题和关键字。
有人知道吗?
PS:(部分)docusaurus.config.js:
const path = require('path');
module.exports = {
title: 'my website, toSEO',
tagline: 'The tagline of my site',
onBrokenLinks: 'ignore',
url: 'https://www.mywebsite.com',
baseUrl: '/', // if we use GitHub Pages, we need to set this to '/docusaurus/', and also change routing links in some pages
favicon: 'img/favicon.ico',
organizationName: 'softtimur', // Usually your GitHub org/user name.
projectName: 'docusaurus', // Usually your repo name.
trailingSlash: false,
plugins: [
path.resolve(__dirname, './plugins/monaco-loader'),
],
themeConfig: {
metadata: [
{name: 'keywords', content: 'word, toSEO'},
],
navbar: {
title: 'my website',
logo: {
alt: 'My Site Logo',
src: 'img/logo.svg',
},
items: [
{
label: 'Documentation', position: 'left',
items: [
{ label: 'Introduction', to: 'docs/introduction' },
{ label: 'Getting Started', to: 'docs/try-samples' }
]
},
{ to: 'demo', label: 'Live Demo', position: 'left' }, // to src/pages/demo.js
{
label: 'Persons', position: 'left',
items: [
{ label: 'Get my website', to: 'docs/consumer-buy' },
{ label: 'Follow Free Videos and Contents', to: 'docs/free-videos' },
{ label: 'Request a Help', to: 'docs/help-your-work' }
]
},
{
label: 'Businesses', position: 'left',
items: [
{ label: 'Get my website Together', to: 'docs/group-buy' },
{ label: 'Other Services', to: 'docs/web-development' }
]
},
{
label: 'Language and Programming', position: 'left',
items: [
{ label: 'Course in English', to: 'https://go.mywebsite.com/RJ2HPz' },
{ label: 'Course in Chinese', to: 'https://go.mywebsite.com/2KjQzL' },
]
}
,
{
to: '#',
position: 'right',
},
{
to: '/logout',
label: 'Sign Out',
position: 'right',
},
{
to: '/login',
label: 'Sign In',
position: 'right',
},
{
type: 'localeDropdown',
position: 'right',
},
],
},
footer: {
style: 'dark',
links: [
{
title: 'Documentation',
items: [
{
label: 'Try samples',
to: 'docs/try-samples',
},
{
label: 'Installation',
to: 'docs/installation',
}
],
},
{
title: 'Philosophy and Research',
items: [
{
label: 'Fundamentals',
to: 'docs/fundamentals'
},
],
},
{
title: 'Community',
items: [
{
label: 'LinkedIn',
href: 'https://www.linkedin.com/in/softtimur/'
}
],
},
{
title: 'Company',
items: [
{
label: 'About Us',
to: 'docs/about-us'
},
{
label: '❤ We are hiring!',
to: 'docs/hiring'
}
],
}
],
},
},
presets: [
[
'@docusaurus/preset-classic',
{
googleAnalytics: {
trackingID: 'UA-68622074-6',
},
docs: {
sidebarPath: require.resolve('./sidebars.js'),
},
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
sitemap: {
changefreq: 'weekly',
priority: 0.5,
},
},
],
],
scripts : [
'/js/patch.js'
],
i18n: {
defaultLocale: 'en',
locales: ['en', 'zh-CN'], // Add 'zh-CN' here
localeConfigs: {
en: {
label: 'English',
htmlLang: 'en-GB',
},
'zh-CN': { // Add this section for Simplified Chinese
label: '简体中文',
htmlLang: 'zh-Hans',
},
},
}
};
这里提出了一个解决方法:
https://github.com/facebook/docusaurus/issues/4542#issuecomment-1434839071
function getSiteTitle() {
switch(process.env.DOCUSAURUS_CURRENT_LOCALE) {
case "fr": return "Mon site en Français";
default: return "My English website";
}
}