How Do You Stop a Zendesk Guide Article Showing in Its Own Related Articles?
Zendesk Guide's Related articles list can include the article the reader is already on, and Zendesk says admins can't influence which articles it picks. A few lines of JavaScript in your theme remove the self-link after the page loads.
Key takeaways
- Zendesk Guide's related_articles helper outputs a finished list of up to five articles, so removing the current article takes a JavaScript snippet in the theme rather than a Curlybars condition.
- Zendesk builds the Related articles list from a relevancy score based on which articles users view one after another, and its documentation says admins cannot influence which articles appear.
- The popular fix that wraps links in an unless condition inside an each loop fails on standard themes because the article page exposes no related articles array to loop over.
- The JavaScript fix reads the article ID from the page URL, finds links inside the related-articles block that contain the same ID, and removes each matching list item.
- Removing the self-link leaves four related articles instead of five, and the snippet must be added again after a Copenhagen theme update replaces script.js.
To stop a Zendesk Guide article from listing itself under Related articles, add a short JavaScript snippet to your theme that removes any related link pointing at the current article's ID, because the {{related_articles}} helper in standard themes renders a finished list of up to five articles that Curlybars can't filter. Zendesk's own documentation says you can't influence which articles the list picks, so the fix happens after the list is rendered.
| Option | What it does | Where you edit | Trade-off |
|---|---|---|---|
| JavaScript filter (recommended) | Removes the self-link after the page loads | script.js in the theme | The list can show four items instead of five |
| Hide the block | Turns off Related articles entirely | Theme settings in Copenhagen, or delete the helper from article_page.hbs | Readers lose the suggestions |
Curlybars #each loop | Doesn't work on the standard helper | article_page.hbs | There's no related-articles array to loop over |
Why does the current article show up in its own Related articles list?
When users browse your knowledge base, Zendesk Guide shows a list of related articles on each article page. It's meant to point readers to the next useful thing to read.
A number of admins report a quirk: the article someone is reading can appear in its own related list. As one Zendesk community member put it:
"Ah yeah, this is a classic and super annoying Zendesk behavior. It happens because the current article is often the most 'relevant' to itself based on its own labels."
The mechanism is behavioral. According to Zendesk's official documentation, the list comes from a relevancy score built on what people view:
- A log of recently viewed articles is kept for each user
- When someone views an article, a record links it to the article they viewed just before
- Over time, articles build up relationships with other articles
- The more often two articles are viewed together, the higher their relevancy score
The same article also says you "cannot influence what articles are displayed in the Related articles list." There's no admin setting to exclude an article, so the only lever you have is the theme.
Why doesn't a Curlybars loop fix it?
Older forum answers suggest wrapping each related article in {{#unless (is id ../article.id)}} inside a {{#each related_articles}} loop. That advice assumes the template gets a list of articles to loop over. It doesn't.
Zendesk's advanced helpers reference defines {{related_articles}} as a helper that outputs "a list of up to five related articles" as finished HTML. The default Copenhagen theme's article_page.hbs calls it in one line, inside a settings check:
handlebars
{{#if settings.show_related_articles}}
{{related_articles}}
{{/if}}
Two details sink the loop approach. First, there's no related_articles array on the article page for #each to iterate. Second, Zendesk documents is as a block helper ({{#is left right}}...{{/is}}), not as a subexpression you can drop inside #unless. Copenhagen uses it that way itself, to mark the current article in the section sidebar with {{#is id ../article.id}}current-article{{/is}}. A template edit that references a missing property either renders nothing or fails the theme's validation when you save.
How do you remove the current article with JavaScript?
The dependable fix runs in the browser after the helper has rendered. It reads the article ID from the page URL and deletes any related link to that same ID.
Step 1: Open the theme code editor
- In Guide, open Customize design (the eye icon in the sidebar)
- Find your live theme and click Customize
- Click Edit code
Work on a copy of the live theme if you can, so you can preview before you publish.
Step 2: Open script.js
In the file list, open script.js. Copenhagen and most themes built on it load this file on every help center page. If your theme has no script.js, you can put the same code in a <script> tag at the bottom of article_page.hbs.
Step 3: Add the filter
Paste this at the end of the file:
javascript
document.addEventListener('DOMContentLoaded', function () {
var match = window.location.pathname.match(/articles\/(\d+)/);
if (!match) return;
var links = document.querySelectorAll('.related-articles a');
links.forEach(function (link) {
var href = link.getAttribute('href') || '';
if (href.indexOf('/articles/' + match[1]) !== -1) {
var item = link.closest('li');
if (item) item.remove();
}
});
});
What this code does:
- The regular expression pulls the numeric article ID out of a URL like
/hc/en-us/articles/360012345678-Title .related-articles aselects the links inside the related list (Copenhagen's stylesheet styles the block with therelated-articlesclass)- Any link containing the same ID gets its whole
<li>removed, so there's no empty bullet left behind - Matching on the ID rather than the full URL keeps it working when the title slug or locale differs
Step 4: Check the class name in your theme
Custom themes sometimes wrap the helper in their own markup. Open an article on your help center, right-click the related list and choose Inspect. If the container uses a different class, change .related-articles in the snippet to match.
Step 5: Save, preview and publish
- Click Save in the code editor
- Preview the theme and open a few articles that you know list themselves
- When the self-link is gone, publish the theme
What should you watch after the change?
Theme updates: If you update Copenhagen from Zendesk's repository or switch themes, re-add the snippet. Theme updates replace script.js.
Four items instead of five: The helper returns up to five articles. Removing the self-link leaves four, and Zendesk gives you no way to request a sixth to backfill.
Caching and flashes: The link is removed after the page loads, so on a slow connection a reader may see it for a moment. If that bothers you, hide the block with CSS until the script runs.
Testing: Check articles in each language you publish, since localized URLs use a different path prefix. The ID match covers that, but it's worth a look.
Are there other ways to control related articles?
Hide the list: Copenhagen has a theme setting to show or hide related articles. If the suggestions aren't helping readers, turning them off is a one-click change.
Build your own list: Some admins drop the helper and build a "See also" block from article labels using the Help Center API and JavaScript. That gives you full control over which articles appear, but it's a small front-end project to build and maintain.
Link manually: For a handful of key articles, a hand-written "Related reading" section at the end of the article body is the simplest option and needs no theme code at all.
Add AI agents to your Zendesk
Macha reads the ticket, drafts the reply and takes the action, inside the Zendesk you already run.
Intercom
Shopify
Stripe
Slack
Notion
Google Workspace
Confluence

