Generate meta descriptions from the first paragraphs in your MkDocs pages
Project description
mkdocs-meta-descriptions-plugin
Use this MkDocs plugin to automatically generate meta descriptions for your pages using the first paragraph of each page. This is useful if you start each page with a short introduction or summary that can be reused as the meta description.
For each page, the plugin:
-
Checks that the page doesn't already have a meta description.
The plugin doesn't change any meta descriptions defined explicitly on the page meta-data.
-
Tries to find the first paragraph above any
<h2>
to<h6>
headings.The plugin only searches for the first paragraph until the start of the first section to ensure that the content is from the "introductory" part of the page.
-
Sets the meta description of the page to the plain text context of the paragraph, stripped of HTML tags.
If the page doesn't have a meta description defined manually by you nor automatically by the plugin, MkDocs sets the meta description of the page to the value of your site_description
as a fallback.
Setting up and using the plugin
⚠️ Important: to use this plugin, you must either customize your existing theme to include the value of
page.meta.description
in the HTML element<meta name="description" content="...">
, or use an MkDocs theme that already does this by default. I recommend using the excellent Material theme.
To set up and use the plugin:
-
Install the plugin using pip:
pip install mkdocs-meta-descriptions-plugin
Depending on your project, you may also need to add the plugin as a dependency on your
requirements.txt
file. -
Activate the plugin in your
mkdocs.yml
:plugins: - search - meta-descriptions
Note: If you have no
plugins
entry in yourmkdocs.yml
file yet, you'll likely also want to add thesearch
plugin. MkDocs enables it by default if there is noplugins
entry set, but now you have to enable it explicitly.
Configuring the plugin
Use the following options to configure the behavior of the plugin:
plugins:
- meta-descriptions:
export_csv: false
quiet: false
enable_checks: false
min_length: 50
max_length: 160
trim: false
export_csv
If true
, the plugin exports the meta descriptions of all Markdown pages to the CSV file <site_dir>/meta-descriptions.csv
. The default is false
.
This is useful to review and keep track of all the meta descriptions for your pages, especially if you're maintaining a big site.
quiet
If true
, the plugin logs messages of level INFO
using the level DEBUG
instead. The default is false
.
Enable this option to have a cleaner MkDocs console output. You can still see all logs by running MkDocs with the --verbose
flag.
enable_checks
If true
, the plugin outputs a warning for each page that will have an empty or default meta description, as well as for each meta description shorter than min_length
or longer than max_length
. The default is false
.
Enable this option if you want to make sure that all pages have a meta description and that each meta description follows general SEO best practices.
min_length
Minimum number of characters that each meta description should have. The default is 50 characters, based on these general recommendations.
Make sure that you set enable_checks: true
for this option to have an effect.
max_length
Maximum number of characters that each meta description should have. The default is 160 characters, based on these general recommendations.
Make sure that you set enable_checks: true
or trim: true
for this option to have an effect.
trim
If true
, the plugin trims meta descriptions coming from the first paragraph of the pages to include at most max_length
characters.
Note that this option doesn't change any meta descriptions defined explicitly on the page meta-data.
See also
Read more about using MkDocs plugins.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file mkdocs-meta-descriptions-plugin-3.0.0.tar.gz
.
File metadata
- Download URL: mkdocs-meta-descriptions-plugin-3.0.0.tar.gz
- Upload date:
- Size: 143.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79c9ebb0c34e11312e32467cb02225d39a9ee84192c07e71fcc8708dde502feb |
|
MD5 | 0cbc9c1bea2e4f69c7d5d1805aeff555 |
|
BLAKE2b-256 | e31c2228745b4831422c126cf98ba2fafad03676027926196dc8950ee39995fe |
File details
Details for the file mkdocs_meta_descriptions_plugin-3.0.0-py3-none-any.whl
.
File metadata
- Download URL: mkdocs_meta_descriptions_plugin-3.0.0-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93beb60b731057f5a863d1b8059615a2320db4183c3999a941c1c9ee14923949 |
|
MD5 | a8429bef949b7a09370c9222a9d6955b |
|
BLAKE2b-256 | 0e6be0a2d1cf556f107945b904d2f28ef58059fb3780356664be913b8916202e |