HandyOrg/HandyControl · warning
WARNING: `exturl` and `extlink` tag will not longer be…
Error message
WARNING: `exturl` and `extlink` tag will not longer be supported. More info here: https://theme-next.org/docs/theme-settings/seo#ExtURL
What it means
The exturl/extlink Hexo tag in the Next theme emits a deprecation warning via hexo.log.warn when the tag is used, and renders the external-link span anyway. The tags are deprecated in favor of the theme's exturl setting (SEO config); the message points to theme-next.org docs.
Solutions
- Replace {% exturl Text | https://url %} usages with plain Markdown links and enable the theme's exturl option in _config.next.yml (seo / exturl setting).
- Grep posts: grep -rn 'exturl\|extlink' source/ to locate all affected tags.
- Update to the recommended external-link mechanism documented at theme-next.org/docs/theme-settings/seo#ExtURL.
- Ignore the warning short-term — it is non-fatal — but plan migration before tag removal in a future theme release.
Example fix
// before (markdown)
{% exturl Example | https://example.com %}
// after (with theme exturl option enabled)
[Example](https://example.com) Defensive patterns
Strategy: fallback
Validate before calling
// CI check for deprecated tags
const re = /{%\s*(exturl|extlink)\b/;
if (re.test(content)) console.warn('Deprecated tag found:', path); Try / catch
// not applicable — deprecation warning only; no exception is thrown
Prevention
- Migrate exturl/extlink tags to standard Markdown links with the theme's exturl option enabled.
- Add a grep-based CI check to fail builds when deprecated tags are introduced.
- Read the theme changelog after upgrading Next to catch newly deprecated tags early.
When it happens
Trigger: Any post using {% exturl %} or {% extlink %} triggers the warning during site generation.
Common situations: Old posts written for legacy Next versions; after upgrading the theme, previously valid exturl tags now emit this warning on every build.
Understand the failure class
Background: "is deprecated and will be removed" — deprecation warnings for old API names, keywords, and options, and how to migrate before the removal release — this error's family across 29 libraries.
Related errors
- URL can NOT be empty
- Image src can NOT be empty
- Include file empty.
- Label text must be defined!
- Tabs block must have unique name!
AI-assisted analysis of HandyOrg/HandyControl@2c0875ebd6 (2026-09-14).
Data as JSON: /api/errors/b6971fd0bf85e305.
Report an issue: GitHub.
Appendix: source
Thrown at doc/themes/next/scripts/tags/exturl.js:57
}
// Delete link URL and text from arguments
args = args.slice(i + 1);
// If any arguments exists, collect the last text as the link title,
// if not, set title as url.
if (args.length) {
title = args.join(' ');
} else {
title = item;
}
var attrs = {
class : exturl,
'data-url': url,
title : title
};
hexo.log.warn('WARNING: `exturl` and `extlink` tag will not longer be supported. More info here: https://theme-next.org/docs/theme-settings/seo#ExtURL');
return htmlTag('span', attrs, text.join(' ') + '<i class="fa fa-external-link"></i>');
}
hexo.extend.tag.register('exturl', extURL, {ends: false});
hexo.extend.tag.register('extlink', extURL, {ends: false});
View on GitHub (pinned to 2c0875ebd6)