How can I bring users back to a page after they click a referenced page link

Wikis are great to interconnect pages, but in practice users often get distracted by clicking and reading referenced pages. In order to create more guidance and focus, its good to make sure ‘secondary’ information (such as a referenced page that explains a concept) needs to bring people back to the previous (primary information page) they were on.

I see the following possibilities (none of which I can find so easily in Xwiki yet, but I likely am not fully aware of the options yet)

(1) An internal link can be set as ‘open in modal overlay’. The benefit is that the user understands this is a temporary interaction, after which they return to the main page. They can either click the escape keyboard button or click an X button to close the modal overlay.

(2) No overlay, but the secondary page includes a button that suggest users to go back to the primary page. Because a secondary page can be referenced by many other pages, this cannot be hard-coded and needs to be a dynamic link, linking back to the previously visited page (based on navigation history of the user)

(3) The secondary page can include breadcrumbs that are based on navigation history, not on hierarchy. This is useful as default feature in all pages, but less effective because it does not clearly instruct users to go back.

(4) the secondary page splits the page in two sections side by side, of which the right one includes the secondary page. This is a method that has been implemented in for example Obsidian and Logseq

(5) After clickin a link to a secondary page, it opens as an inline block, similar to the Include Macro, but allows the user to collapse the block back into a normal link/button. (btw I did not get the show/hide macro to work)

Some background information / use case

The following topic I will post about another day, because its about user experience and editorial tensions caused by applications that don’t follow the way the mind works.
There is a closely related use case for a workflow, in which an editor creates secondary information while writing, which need to be ‘hidden’ from the main text. The action of creating a separate page, then referencing it, and solving the issues mentioned above, is seriously disrupting the editorial experience.
It works as follows. For example:
I start writing training material. I need to explain a concept in more detail, and write a paragraphs about the concept. In order to remove it from the main topic text visually (to make it less cluttered for the reader), I want to convert the paragraph to a page, and have a referencing link instead, with the additional functionality mentioned above.
This editorial need happens for me, and for a number of other authors I know, very often and likely every content they create. This is the reason why ‘convert block to page’ is one of the most used features in Obsidian/Logseq/Roam, which replaces the selected block with a link to the new page (but some of these apps actually regard all blocks as pages, there is no difference, which I find ideal)

So, my main question here, is if one of you can give advice what solution (point 1 to 5, or another solution) would be suitable or is already partly or completely availkable in Xwiki.
Thanks

There is the “Recently Visited Documents” panel that lists the last 5 pages the user has viewed. This seems to give the information similar to option (3). However there is no explicit “Back” option, so the main page will get scrolled out of view after visiting some secondary pages (at least if the users use the browser “back” button to get to the main page - but in that case they might not need the navigation help anyway).

You can think about a macro with a html <detail> tag where the „link“ can be put into the <summary>. With special styling you can underline the summary and put some special icon or character - maybe „+“ - at the end to engage readers clicking. This could solve option (5).

What about https://extensions.xwiki.org/xwiki/bin/view/Extension/Page%20Preview%20Application/ ? It implements the first option you listed.