Docusaurus 搜索引擎优化(SEO)
本文介绍在 Docusaurus v2/v3 中实现 SEO 的几种方法。
配置全局 SEO 设置
你可以在站点全局配置中增加 Meta 信息,设置站点级别的元信息。Docusaurus 的配置允许在 themeConfig
或站点根目录配置中指定 metadata
,从而为整个站点添加通用的 <meta>
标签。
示例配置:
docusaurus.config.js
module.exports = {
title: '我的网站',
tagline: '我的网站标语',
url: 'https://your-site.com',
baseUrl: '/',
favicon: 'img/favicon.ico',
// 其它配置...
metadata: [
{ name: 'keywords', content: 'Docusaurus, SEO, 文档, 关键字' },
{ name: 'description', content: '这是一个使用 Docusaurus 构建的文档网站,用于介绍……' },
],
};
这样配置后,构建出来的页面都会在 <head>
中自动包含相应的 meta 标签。
页面级别的 SEO 定制
Markdown 文件
对于每一个 Markdown 文档页面,你可以在 Markdown 文件头部 Front Matter 添加元信息。每个页面(通常是 Markdown 文件)都可以通过 Front Matter 来设置一些 SEO 信息。例如,你可以在文档最顶部增加:
---
title: '页面标题'
description: '页面描述信息,用于搜索引擎展示'
keywords: ['关键字1', '关键字2', '关键字3']
---
通过这种方式,不仅有助于生成更有针对性的 meta 标签,还能保证每个页面在 SEO 方面有独立的描述。
jsx 或 tsx 文件
对于 jsx 或 tsx 文件页面,没有 Markdown 文件 头部信息。那么可以直接在 React 组件中使用 Head 组件来插入任何自定义的 head 内容。例如:
import React from 'react';
import Head from '@docusaurus/Head';
function MyCustomPage() {
return (
<>
<Head>
<meta name="keywords" content="自定义, 关键字, 列表" />
<meta name="description" content="自定义页面的描述" />
</Head>
<main>
{/* 页面内容 */}
</main>
</>
);
}
export default MyCustomPage;
这种方法适合需要对特定页面进行较为细粒度的 SEO 优化时使用。
利用社区资源和最佳实践
参考官方和社区文档
- Docusaurus 官方文档提供了不少关于定制站点内容和优化的说明,学习如何使用配置文件以及 Head 组件是十分重要的。
- GitHub 或社区论坛中也有许多开发者分享了他们的 SEO 优化实践,包括如何集成 Open Graph 标签、Twitter Card 标签以及 JSON-LD 等。
扩展 SEO 功能
根据需求,可能还需要:
- 配置站点地图插件(如
@docusaurus/plugin-sitemap
),以帮助搜索引擎更好地索引页面。 - 使用 Google Analytics 或其它分析工具了解访问情况并不断调整 SEO 策略。
- 如果网站有多语言版本,还可以考虑为各个语言版本配置对应的 meta 标签和链接关系。