diff --git a/Doc/_static/og-image.png b/Doc/_static/og-image.png
new file mode 100644
index 00000000000000..0e80751e740387
Binary files /dev/null and b/Doc/_static/og-image.png differ
diff --git a/Doc/conf.py b/Doc/conf.py
index fd4ee2d5eee811..98b076c0ee5728 100644
--- a/Doc/conf.py
+++ b/Doc/conf.py
@@ -13,9 +13,25 @@
# General configuration
# ---------------------
-extensions = ['sphinx.ext.coverage', 'sphinx.ext.doctest',
- 'pyspecific', 'c_annotations', 'escape4chm',
- 'asdl_highlight', 'peg_highlight', 'glossary_search']
+extensions = [
+ 'asdl_highlight',
+ 'c_annotations',
+ 'escape4chm',
+ 'glossary_search',
+ 'peg_highlight',
+ 'pyspecific',
+ 'sphinx.ext.coverage',
+ 'sphinx.ext.doctest',
+]
+
+# Skip if downstream redistributors haven't installed it
+try:
+ import sphinxext.opengraph
+except ImportError:
+ pass
+else:
+ extensions.append('sphinxext.opengraph')
+
doctest_global_setup = '''
try:
@@ -109,7 +125,7 @@
html_use_opensearch = 'https://docs.python.org/' + version
# Additional static files.
-html_static_path = ['tools/static']
+html_static_path = ['_static', 'tools/static']
# Output file base name for HTML help builder.
htmlhelp_basename = 'python' + release.replace('.', '')
@@ -234,3 +250,13 @@
# Relative filename of the data files
refcount_file = 'data/refcounts.dat'
stable_abi_file = 'data/stable_abi.dat'
+
+# sphinxext-opengraph config
+ogp_site_url = 'https://docs.python.org/3/'
+ogp_site_name = 'Python documentation'
+ogp_image = '_static/og-image.png'
+ogp_custom_meta_tags = [
+ '',
+ '',
+ '',
+]
diff --git a/Doc/requirements.txt b/Doc/requirements.txt
index 958665db69e227..134f39d6d7b3d4 100644
--- a/Doc/requirements.txt
+++ b/Doc/requirements.txt
@@ -8,6 +8,7 @@ sphinx==4.5.0
blurb
sphinx-lint==0.6.7
+sphinxext-opengraph>=0.7.1
# The theme used by the documentation is stored separately, so we need
# to install that as well.
diff --git a/Misc/NEWS.d/next/Documentation/2022-12-02-17-08-08.gh-issue-99931.wC46hE.rst b/Misc/NEWS.d/next/Documentation/2022-12-02-17-08-08.gh-issue-99931.wC46hE.rst
new file mode 100644
index 00000000000000..0c01a2cb2cfa15
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/2022-12-02-17-08-08.gh-issue-99931.wC46hE.rst
@@ -0,0 +1,2 @@
+Use `sphinxext-opengraph `__
+to generate `OpenGraph metadata `__.