You've tagged your Joomla 5 articles, the tags show up on the article pages, but when you click a tag to see all tagged items -- "No matching items were found." Every time. No error, no clue.
Symptoms
- Tags display correctly on individual articles
- Clicking a tag goes to the tag view (com_tags)
- The tag view says "No matching items were found"
- The tag exists and is published
- The tag mapping exists in j5_contentitem_tag_map
- Everything else works -- category views, search, featured -- just the tag view is empty
Root Cause
If you inserted articles via SQL (which is common when building sites with AI or migrating content), the
j5_ucm_content table is empty for those articles.
Joomla's tag view (
com_tags) doesn't query
j5_content directly. It joins
contentitem_tag_map against
ucm_content using the
core_content_id column. If your articles don't have rows in ucm_content, the join returns zero results.
The confusing part:
ucm_content is NOT required for anything else. Articles render fine in category blog views, single article views, featured views, search results. Only the tag system uses this table. So you can build an entire site and never notice it's empty until someone clicks a tag.
The Fix
Run these two queries to backfill the missing data:
Step 1: Create ucm_content rows for all SQL-inserted articles
Code:
INSERT INTO j5_ucm_content
(core_type_alias, core_title, core_alias, core_body, core_state,
core_catid, core_created_time, core_modified_time, core_publish_up,
core_access, core_type_id, core_language, core_content_item_id)
SELECT 'com_content.article', c.title, c.alias, '', c.state,
c.catid, c.created, c.modified, c.publish_up,
c.access, 1, c.language, c.id
FROM j5_content c
WHERE c.id NOT IN (
SELECT core_content_item_id FROM j5_ucm_content
WHERE core_type_alias = 'com_content.article'
);
Step 2: Link tag mappings to the new ucm_content IDs
Code:
UPDATE j5_contentitem_tag_map m
JOIN j5_ucm_content u
ON u.core_content_item_id = m.content_item_id
AND u.core_type_alias = m.type_alias
SET m.core_content_id = u.core_content_id
WHERE m.core_content_id = 0;
Clear cache and reload. Tags will work immediately.
[hr]
This is one of 65+ gotchas documented in
The AI Joomla Blueprint --
theaidirector.win