Handle page not found error
Shorter post url
Move url generation to the Post model