Заголовки в HTML делаются с помощью элементов <h1>, <h2>, <h3> и др., показывающих уровень заголовка. Для создания заголовка, на который можно сделать ссылку, к выбранному элементу добавляется атрибут id с уникальным значением.
<h2 id="example">Пример</h2>
В id можно использовать, в том числе, и русские буквы, но запрещено вставлять пробел. Его можно заменить на символ дефиса (История-HTML5) или подчёркивания (История_HTML5).
<h2 id="История">История HTML5</h2>
Для создания ссылки на этот заголовок в конце адреса добавляем символ решётки и пишем имя идентификатора (пример 1).
Пример 1. Переход к заголовку
<a href="https://ru.wikipedia.org/wiki/HTML5#История">История HTML5 на Википедии</a>
При переходе по этой ссылке откроется статья на Википедии и произойдёт переход к нужному заголовку.
Если речь идёт о сторонних ресурсах, то заголовки не всегда могут содержать идентификатор. Для перехода к нужному тексту можно воспользоваться технологией под название «фрагмент текста». Добавляем в конце ссылки #:~:text= и пишем нужный текст.
<a href="https://ru.wikipedia.org/wiki/HTML5#:~:text=История">История HTML5 на Википедии</a>
Учтите, что переход произойдёт к первому найденному тексту, а не к выбранному. Поэтому иногда приходится использовать не одно слово, а более длинный фрагмент, заменяя пробел на символ %20 (пример 2).
Пример 2. Переход к тексту
<a href="https://ru.wikipedia.org/wiki/HTML5#:~:text=WHATWG%20начал%20работу">История HTML5 на Википедии</a>
При переходе по такой ссылке браузер выделяет текст фрагмента фоновым цветом, как это показано на рис. 1.

Рис. 1. Фрагмент текста в Firefox