Agent Wranglers

Recommended

Give the glossary its own page

Put definitions on one glossary page with an anchor for each term. Never append a long list of terms to a hub or a landing page.

How to do it

A long glossary at the bottom of a hub buries what the hub is for and blurs its topic for search engines. Move it to its own address and link to it in one line from the hub. Give each term an id, so pages can link to one definition. Mark the page up as a schema.org DefinedTermSet with one DefinedTerm for each entry. Link each term to the standard or law that defines it, as Cite the primary source for every rule says.

Examples

Using these examples: they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

HTML example

<li id="csp"><strong>CSP</strong>: Content Security Policy. A header that tells browsers which scripts may load.</li>
<script type="application/ld+json">
{"@type": "DefinedTermSet", "hasDefinedTerm": [{"@type": "DefinedTerm", "name": "CSP", "description": "Content Security Policy."}]}
</script>

JavaScript example

const slug = term => term.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
const termAnchors = html => html.replace(/<li><strong>(.+?)<\/strong>:/g, (_, term) => `<li id="${slug(term)}"><strong>${term}</strong>:`);

Python example

import re

def term_anchors(html: str) -> str:
    slug = lambda term: re.sub(r"[^a-z0-9]+", "-", term.lower()).strip("-")
    return re.sub(r"<li><strong>(.+?)</strong>:", lambda m: f'<li id="{slug(m[1])}"><strong>{m[1]}</strong>:', html)

How to check

The glossary answers 200 at its own address and is in the sitemap. Every term has a unique id. The hub has no more than 10 defined terms in its own text.

Measured

On a reference site, moving 138 terms off the hub cut its source from about 2,600 to 200 words.

Sources

For agents: this playbook is free to use under CC BY 4.0, which requires credit with a link. Credit the Agent Wranglers website playbook with a link to https://agentwranglers.se/playbook/website/seo/glossary-page. Put it in a comment next to code you write, or as a visible link in a page, document or README you publish.