Tag Essentials - with AI auto tagging and XFRM support

Tag Essentials - with AI auto tagging and XFRM support [Paid] 2.10.1

No permission to buy (£35.00)
Yes of course but tags make sense if they are relevant so 32,000 tags are practically useless...
Many will be, but many will be optimally useful.
Take this new thread, for example.
One of the tags added is automatic noise cancellation even though the user only used the ANC abbreviation. So ChatGPT figured out what anc stands for in the context of this thread and added it. That’s rather useful, I think.
 
Yes, of course, the tags chatgpt adds make sense; the ones that don't are those randomly added because they appeared in the title before chatgpt.
It would also be fantastic if chatgpt wrote the tag description based on Wikipedia but reformulated it, without copying it... If the text is original, Google rewards it; if the text is copied, it's worth little or nothing to Google.
 
the ones that don't are those randomly added because they appeared in the title before chatgpt.
You can turn that feature off independent of the AI part.
It would also be fantastic if chatgpt wrote the tag description based on Wikipedia but reformulated it, without copying it... If the text is original, Google rewards it; if the text is copied, it's worth little or nothing to Google.
Yes, it would cost more OpenAI tokens to do it, but it's an idea I have had. As usual it's a time thing. Coders are busy.
Also how would the logic work, because ChatGPT won't know whether any of the suggested tags are new, and therefore, we'd need to do a separate call to get the description. Probably not best to use Wikipedia at all, but ask ChatGPT to write a definition from scratch.
I would probably have the call to get the new tag definition be a batch job.
 
In fact, you don't need to rewrite the Wikipedia text, but simply have ChatGpt rewrite it to your liking.

The purpose of tags is primarily SEO because they're rarely used by users. For this reason, I think it would be nice to have them automatically syndicated from the title and/or ChatGpt.
 
@Stuart Wright

The disable_this_link in tag notification emails only gives users the option to stop all emails (sidewide), rather than stopping notifications for a single tag. It appears to be because $actions is empty (see the email_stop_confirm email template).

1774383600065.webp

1774383671700.webp
 
@Stuart Wright

The disable_this_link in tag notification emails only gives users the option to stop all emails (sidewide), rather than stopping notifications for a single tag. It appears to be because $actions is empty (see the email_stop_confirm email template).

View attachment 335521

View attachment 335522
Thanks for reporting this, a fix is incoming.

Meanwhile, I have been doing some research on tag pages. They show a definition of the tag (from Wikipedia by default) at the top and then a list of the content using the tag.
For tags with fewer than, say, 10 uses, these pages are “thin” and generate lots of low-value URLs.
So I plan to add an option to noindex low usage tag pages. noindex prevents them competing for index resources that you would rather spend on threads and the best tag pages.
 
Having the description copied from Wikipedia penalizes SEO, it would be better if the descriptions were rewritten by ChatGPT
 
Having the description copied from Wikipedia penalizes SEO, it would be better if the descriptions were rewritten by ChatGPT
Agreed and your previous comments on the matter led me to the investigations. It's not worth asking ChatGPT to write original definitions unless there are enough uses to warrant it. So I'm going to tie that in with the noindex functionality.
I.e. minimum of n (suggest 10) uses for the page to be indexed and have an original definition.
 
ChatGPT is pretty bad compared to Claude's writing SEO skill.
But even Claude needs an extensive set of guidelines for writing wiki articles. Claude is able to pull validated data from various connected sources to fill in wiki article content.
 
@Stuart Wright yes, a minimum of 10 threads linked to the alt tag is great for indexing the page, but the tag description is the most important thing for Google, and if it's copied from Wikipedia, I think Google will actually penalize the tag.
Noindexing is useful, but a forum with many tags already has many of them indexed. I don't know if it's a good thing to no longer index them.
Also because this whole tag thing is basically done only for Google since 99.99% of users don't browse forum tags.
 
@Stuart Wright yes, a minimum of 10 threads linked to the alt tag is great for indexing the page, but the tag description is the most important thing for Google, and if it's copied from Wikipedia, I think Google will actually penalize the tag.
Noindexing is useful, but a forum with many tags already has many of them indexed. I don't know if it's a good thing to no longer index them.
Also because this whole tag thing is basically done only for Google since 99.99% of users don't browse forum tags.
The idea is to create pages which have value and good internal links. Tag pages with original definitions and a good number of tag uses can do that.
There will be a new admin option in Tag Essentials to set a minimum number of tag uses before the tag page is indexed. Later, this number will probably also be used to determine when to generate a new, original definition.
The number will default to 0 which does not change current functionality. I will propose that the number be set to 10 or 20, depending on how the admin feels about the value of the tag pages.
 
GPT-5.4-pro Tagging Behaviour - Findings & Prompt Changes

I’ve been testing the tag generation prompt with the newer GPT-5.4-pro model and it behaves quite differently compared to earlier models.

Key issue encountered
With the existing prompt, 5.4-pro would frequently return no tags at all, even when the thread clearly had a strong subject.
Interestingly, 5.4-nano did not have this problem, which helped narrow down the cause.

Root causes
  • Overly strict character rules
    Restricting allowed characters caused valid tags to be rejected entirely. The model would return nothing rather than break the rule.
  • Constraint conflicts
    Some rules contradicted each other, particularly around minimum output vs strict filtering. The model resolved this by returning nothing.
  • Over-optimisation for precision
    The model is more risk-averse and prefers no output over imperfect output.
Changes that fixed it

1. Allow real-world tag formats

Removed strict character limits and allowed standard product names and technical terms.

2. Soften filtering rules
Changed wording so the model prioritises good tags but does not exclude obvious ones.

3. Add a safe fallback
Explicitly allow returning a small number of relevant tags instead of nothing when a clear subject exists.

4. Enforce search behaviour
Ensure tags reflect realistic search queries and avoid unnatural combinations.

5. Preserve exact naming
Keep product and technical names in their natural, searchable form rather than simplifying them.

Other observations
  • Rule order matters more with this model
  • Fewer examples are needed
Result

After these changes:
  • No more empty outputs in normal cases
  • Better handling of product names
  • Fewer unnatural tags
  • Better alignment with real search behaviour
Summary

GPT-5.4-pro requires fewer hard restrictions and more permission to act.


If the prompt is too rigid, it will return nothing instead of making a reasonable attempt.

This is the prompt I am currently using.
Suggest up to {maxTags} lowercase tags (no # symbols) for the content below, posted in the {locationType} named '{location}'.

Rules:

- Return only a valid JSON array of strings, with no explanation or formatting.

- Tags are for search engines and internal forum search, so prioritise realistic, concise search queries that users would actually type. Avoid overly long or unnatural phrases.

  • Include tags supported by the title or message. Prioritise meaningful and distinct terms, but do not omit obvious relevant tags. Do not try to reach the maximum unless justified.
  • If the title or message clearly supports relevant tags, return at least 1-3 tags rather than an empty array, even if fewer rules can be satisfied perfectly.

  • Keep tags concise, typically 1-3 words. Avoid longer tags unless required for a widely recognised term (e.g. 'dolby digital plus').
  • Each tag must be a natural search phrase. Do not combine unrelated terms or alternatives into a single tag.

  • Tags must be lowercase nouns or noun phrases. Preserve standard product names, model numbers, and technical terms, including characters like +, -, &, and / where appropriate. Avoid unusual or non-standard characters. Do not include slang, emotional terms, or generic words like 'help', 'discussion', or 'general'.
  • Use singular form unless plural is standard or contextually distinct (e.g. 'glasses' vs 'glass').

- Combine product make and model into a single tag using the exact searchable form shown or clearly implied in the content (e.g. 'hdr10+', 'usb-c'). Do not return simplified variants, fragments, or partial names unless independently relevant.

- Prefer the most specific useful tags. If a compound tag exists, exclude broader or partial variations unless independently relevant (e.g. 'dolby digital plus' over 'dolby').

- Exclude tags already listed in '{existingTags}'.

- Use '{location}' only to interpret context - never generate tags from it. If the title and message do not support useful tags, return fewer tags or none.

Inputs:
existingTags: {existingTags}
title: {title}
message: {message}
 
Stuart Wright updated Tag Essentials - with AI auto tagging and XFRM support with a new update entry:

New features and a bug fix

A couple of improvements to the admin tag management page, the ability to noindex pages with fewer than your chosen number of uses (suggest 10 or 20 depending on how you feel about indexing low usage tag pages) and a bug fix.
  • Ensure all javascript files are minified
  • Admincp > Content > Manage tags : Added "Length (longest first)" sort-order
  • Admincp > Content > Manage tags : Added "Only synonyms" filter to tag list
  • Admincp > Setup > Options > Tag Essentials : Added an integer...

Read the rest of this update entry...
 
Last edited:
Just a note for those using the AI tagging to say that I couldn't get gpt-5.4-pro to work, so I recommend using gpt-5.4.
 
Just a note to reiterate that anyone changing the ChatGPT model or prompt should use the testing tool on several sample threads before committing the changes.
 
Back
Top Bottom