If you wanted to have this grid movement it is fine, really! Some might prefer to hold down a button to move. You could add a timer, that waits few seconds until the next move happens.
If you want a more...free movement you could work with velocity and move the character that ways. With most engines and games, the player character is a physics object. In Godot, there is even a function that handles collisions and movement with physics objects. It's called move_and_slide() and move_and_collide().
But Like I said, if you wanted to do a grid movement this is totally fine! Had a bit an oldschooly feel to it.
My best tip would be...just play around with the movement and do what feels right/good to you :)