It is not a good practice, since by doing this the "browsing and user experience, as well as its history" is affected.
Why ?, this is because many people use the buttons "back and forth" of the browser and when you reload, when you give "back" reload the same page that goes with your variables get and your script returns to reload the site.
This causes the user to "get stuck" on the same page, without mentioning that your server must serve the site once more, that it increases the load on it and perhaps save the variables in session, which increases your use of memory.
I recommend in that case, send your variables by POST so that they are hidden and people can not see them in your url.
GET variables are intended for navigation and "request for information"
That is why they are named "get".
Once, I saw a place where they had a general iframe, with the entire site embedded. This made the url that the user observed, was www.-urldelsitio-.com and everything else, was handled in the iframe so the get variables were always hidden.
That's one of many ways to hide your url, but I'll go back to the previous point. I think it's a good application, it does not hide its URLs, it can even be friendly since they are intended for navigation.
Good luck friend.