Установить каноникал правильно.

<link rel="canonical" href="https://nasobe.ru/?spa">

О_о: поисковики сначало индексирует заголовок страницы и когда бекенд отдаёт отрисовку, то именно она и остается. А яваскрипт вообще не читается роботом поисковика, потому что робот поисковика опознает только отданную страницу с сервера и нет никаких данных о выполнении JS. Посмотреть как будет отображаться заголовок при обходе поисковиком: https://bertal.ru/

установить каноническую страницу

Таким образом чтобы указать канонический адрес страницы, нужно отдавать его бэкендом. И если конструировать яваскриптом.

document.querySelector("link[rel=canonical]").setAttribute("href", 'https://nasobe.ru/blozhik/'+window.location.search);

Необходимо удалить каноникал, оставить пустое значение, потому что перезатирать яваскриптом канонический адрес не выйдет. Робот поисковика не выполняет яваскрипт. И первым делом отрисуется то что указано хедере, но и яваскрипт попадает в хедер, если тег каноникал оставить пустым. Хотя в заголовках этого не видно, но в вебмастере временами материализуется адрес указанный яваскриптом. Видимо совершенно случайно. Как это происходит и кто может знать, наверняка? Остаётся загадкой! Запутанной, остросюжетной завесой форсмажорных догадок, ... с элементами катастрофы, авиационной, с участием инопланетян…

ChikChicly SpaceHands ForsmaZhorovich

to list
https://qucu.ru/comments/