allow URLs without the protocol
cleanup client-side validation, get post by ID