Насчёт выдачи веб или вап версии при входе я тож долго думал,и придумал такой алгоритм
У юзера нужно добавить ещё одну переменную,например ТЕМА,при реге ТЕМА=0,когда юзер заходит на сайт, если ТЕМА=0,то ему выдаёться версия сайта в соответствии с его браузером,если юзер нажмёт,на вап-версию,то ТЕМА=1,если нажмёт на веб-версию,то ТЕМА=2,когда он зайдёт в следущий раз на сайт,то если ТЕМА не равна 0,то версия сайта выдаёться не по браузеру,а по значению ТЕМЫ-если 1,то вап,если 2 то веб