My WP Glossary


This plugin make it really simple to add a glossary page to your website.

It uses DefinedTermSet structured data for better search engine optimization (SEO) of your definitions list.

Once you definition terms are ready, you can easily include them into a glossary page using our Glossary block for Gutenberg (or the [glossary] shortcode if you’re not using Gutenberg yet).

Plus, this plugin will automatically add a link to the related glossary definitions each time the term appears in all your posts and pages. This is super helpful for your internal linking.

By default, this plugin use a very minimal amount of CSS styles (so it works well on all WordPress themes!), but it provides all the CSS classes you’ll need to style it on your own 🙂


This plugin provides 1 block.

  • Glossary


  1. Install the plugin and activate.
  2. Go to Glossary Admin Menu.
  3. Add definitions to your glossary.
  4. Create a page to host your Glossary.
  5. Insert your Glossary into this page using the Glossary Gutenberg Block or the [glossary] shortcode.


February 28, 2024
Please… pleeeeeaaase. Don’t let this plugin die.It’s proof that simple is better. Always! I’ve lost count of how many “glossary” plugins I’ve tried before stumbling with this one. Why does this have “zero” installs?!?!?!It’s perfect. It’s just what I was looking for. Simple list, description, dropdown, index… and a marvelous shortcode that let’s you put it wherever you want it to work!One little thing that would step it up a notch would be pagination: let you choose on how many terms it should paginate. Food for thought, team? I loved it so much that went on and made the translation to portuguese 🙂
Read all 1 review

Contributors & Developers

“My WP Glossary” is open source software. The following people have contributed to this plugin.


“My WP Glossary” has been translated into 5 locales. Thank you to the translators for their contributions.

Translate “My WP Glossary” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



Back to the regular versioning system. We won’t use alphabetical letters anymore.
Also: WP 6.4 compatibility.


quick fix compatibility issues – add a simple check before loading simple_html_dom


rollback – fixe a bug in term detection when the same term is repeated.
this fixe add more indesired cases that it’s resolved


fixe a bug where the plugin fail to detect the glossary page if the shortcode was use.
fixe a bug in term detection when the same term is repeated.
update term encapsulation behavior for a better detection of parenthesis, brackets, punctuations and quotations marks around terms.
cache is updated when term change title, status or deleted.
cache processing is less resources intensive when a term are added, updated or deleted
add filter ‘mywpglossary_alpha’ for index chars used by the glossay
add filter ‘mywpglossary_encapsulation_chars’ for accepted encapsulations chars
add filter ‘mywpglossary_term_transient_key’ for cache transient key
add filter ‘mywpglossary_term_transient_expiration’ for cache expiration time


  • fix cache bug introduced by the last version
  • update modal display on mobile ( fixed at the bottom of the screen )


  • change default term display mode ‘popin’ for ‘link’ ( check “mywpglossary_insertion_style” hook )
  • fix unescaped terms into regex search pattern.
  • fix term cache constant reload when no term are publish.
  • new filters
    • “mywpglossary_use_single” enable terms single, replace terms content into the block by links to the single


Plugin complete refactorization. Props @bmartinent @leprincenoir.

  • fix an admin default sort behavior, letter and date are now sortable
  • add a simple popin display style base on css
  • add a term indexation tool
  • add two utility function mywpglossary_get_posts_by_term, mywpglossary_get_terms_by_post
  • add support for polylang
  • add tippy support check for more detail
  • rework term matching with a html parser ( simplehtmldom 1.9.1 ) check form more details.
  • new filters
    • “mywpglossary_matching” change term matching rules ( is_singular or in the in_the_loop and is_main_query and not in a glossary page by default )
    • “mywpglossary_insertion_style” change term display mode use ‘link’, ‘popin’ or ‘tippy_poppin’ ( ‘popin’ by default )
    • “mywpglossary_override_term” change the terms data ( content, link, etc ) match in the current context
    • “mywpglossary_exclude_tags” change parent tags ignored when searching for glossary terms ( hx and a by default )
    • “mywpglossary_override_glossary_link” change the link generated for each terms
    • “mywpglossary_display_term_content” change the content of each terms
    • “mywpglossary_override_tag_limit” change the number of terms who can be displayed by pages ( -1 for infinite by default )
    • “mywpglossary_tippy_theme” change the tippy theme
    • “mywpglossary_glossary_term_limit” change the maximum display term in the glossary page ( 200 by default )
    • “mywpglossary_glossary_term_archive” change the archive markup for the glossary page


  • Maintenance update.


  • In WP-Admin, order definitions by letter and alphabetical order. Props Denis @ 🐌


  • Regex change to avoid false positive (HTML attributes injections). Props @leprincenoir.


  • Few small enhancements.


  • Plugin initial release. Works fine 🙂