You have several objectives to maintain:
- You don't really want to send visitors away from your site until they are 'done'
- You don't want to confuse your users by having a bunch of internal links and then suddenly a link sends them off site
- You don't want to clutter the content by including icons with every external link
- You don't want the user to wonder why some links are displayed differently to others
So you need to provide clarity without clutter, and there's a couple of approaches you can take.
1) Separate external links from content
One of the best ways to do this is in a similar way that Wikipedia do it, which is as follows:
- Keep links in the content internal
- Separate external links as a separate section below the content
- Label the list of external links as such
In this way your readers can navigate the content links whilst staying on site, but they can also choose browse your external links as a standalone resource. It also acts as a kind of summary or recap.
Here's a quote from wikipedia's manual of style section on links (but see also their comprehensive page on External Links)
Do not use external links in the body of an article. Articles can
include an external links section at the end, pointing to further
information outside Wikipedia as distinct from citing sources. The
standard format is a primary heading [...] followed by
a bulleted list of links. Identify the link and briefly indicate its
relevance to the article.
2) Clarify the copy
Separating all external links however, can seem a bit unnecessary in some cases, so an exception to this would be where a link in the content clearly labels an external resource such as a url or website in which case the fact that it is an external link is implicit and no internal link makes sense.
For example, if I were to reference apple.com as the subject of a sentence - or to talk about Apple's website as the topic of conversation. This being different to perhaps recommendations for reading our article about Apple's website.
As you can see, the link text and the surrounding text makes it clear that a link is internal or external without any other visual cues. The user doesn't even have to think about it, and there's no surprises.
This may be a much preferred approach for informal sites where separating out a list of external websites as a separate resource may well come across as a bit formal and stiff.
It's worth saying, that the copy should always make the distinction clear and remove doubt anyway - even if all the links are internal. Perhaps if more attention was paid to the copy - ie the link text, the surrounding text, and the phraseology, then the problem might just disappear?