Как сделать правильную умную кнопку Назад в VueJS?
 Так хорошо, вроде бы все классно. Теперь проблема с прямым переходом по ссылке в запись решена, только вот появляется другая проблема. Позиционирование скролла. При переходе go(-1) у нас сохраняются все записи которые были загружены в список, а при переходе to="/posts" компонент заново загружает записи и позиционируется вверху. Ну ладно, позиционирование, компонент просто еще раз начинает загружать данные.
Тут не понятно о каком позициноирование и загрузке идет речь, если у вас рендеринг различается при переходе на экран с постами через /posts и через router.go(-1) - это проблема другого характера и решать ее нужно вне этого вопроса.  Различаться он может только отсутствием подгрузки во втором варианте, если вы не кэшируете данные и это нормально.Проблема третья. Если, допустим, мы перешли в запись не с общего списка, а с предложенных новостей в каком то другом посте блога, то кнопка "назад" должна все-таки вести назад на предыдущую запись, а не в общий список.
Пишите в Store название роута куда нужно ридеректить при нажатии на Назад, на beforeRouteLeave экрана с предложенными новостями - меняете на другой роут.Вроде-бы это как то реализуется через Хуки роутов, но к сожалению у меня нет такого опыта работы с ними.
В документации есть более чем подробная информация о всех хуках, читайте, пробуйте, получайте опыт.
Почему бы не смотреть, куда ведёт go(-1), а там уже через условия самому перенаправлять пользователя, если Вас не устраивает то, что внутри go(-1)