如何在ReadTheDocs上完成Google网站验证(无需全局修改文档)
解决ReadTheDocs添加Google Search Console验证的两种实用方法
一、通过META标签验证(官方推荐)
这种方法无需额外上传文件,仅在RTD构建时插入验证标签,完全不影响本地或其他环境的文档构建。
如果你用Sphinx(RTD最常用的文档生成工具)
在项目的conf.py中添加以下代码:
import os # 判断是否处于RTD构建环境 on_rtd = os.environ.get('READTHEDOCS') == 'True' if on_rtd: # 替换成你从Google Search Console获取的验证字符串 html_extra_head = ''' <meta name="google-site-verification" content="你的Google验证代码"> '''
RTD构建时会自动把这个META标签插入到所有页面的<head>里,本地构建不会生效。
如果你用MkDocs
- 在项目根目录创建
hooks/rtd_verification.py文件,写入:
import os def on_config(config, **kwargs): if os.environ.get('READTHEDOCS') == 'True': # 替换成你的验证字符串 config['extra']['google_verification'] = '你的Google验证代码' return config
- 在
mkdocs.yml里启用钩子:
hooks: - hooks/rtd_verification.py
- 如果用的是MkDocs Material主题,在自定义模板(比如
overrides/main.html)里添加:
{% if extra.google_verification %} <meta name="google-site-verification" content="{{ extra.google_verification }}"> {% endif %}
这样只有RTD构建时才会渲染这个标签。
二、上传静态验证HTML文件(仅RTD生效)
如果更倾向于用文件验证,可以通过RTD的自定义构建流程,仅在构建时把验证文件复制到输出目录:
- 把Google提供的验证HTML文件(比如
googleabc123.html)放到项目根目录,无需添加到全局文档结构里。 - 在项目的
.readthedocs.yaml中添加自定义构建命令:
build: commands: # 这里替换成你平时的构建命令,比如Sphinx或MkDocs的命令 - sphinx-build -b html docs _build/html # 把验证文件复制到构建输出的根目录 - cp googleabc123.html _build/html/
RTD构建时会自动执行这个复制操作,验证文件只会出现在RTD的在线文档中,本地构建不会包含它。
内容的提问来源于stack exchange,提问作者Gushi
相关产品推荐
相关产品推荐

