Place yourself in the mind of a user and look at your URL. If you can easily and accurately predict the content you’d expect to find on the page, your URL is appropriately descriptive. You don’t need to spell out every last detail in the URL, but a rough idea is a good starting point.
Shorter is better
While a descriptive URL is important, minimizing length and trailing slashes will make your URLs easier to copy and paste (into emails, blog posts, text messages, etc.) and will be fully visible in the search results.
Keyword use is important (but overuse is dangerous)
If your page is targeting a specific term or phrase, make sure to include it in the URL. However, don’t go overboard by trying to stuff in multiple keywords for SEO purposes; overuse will result in less usable URLs and can trip spam filters.
The best URLs are human-readable and without lots of parameters, numbers, and symbols. Using technologies like mod_rewrite for Apache and ISAPI_rewrite for Microsoft, you can easily transform dynamic URLs like this moz.com/blog?id=123 into a more readable static version like this: moz.com/blog/google-fresh-factor. Even single dynamic parameters in a URL can result in lower overall ranking and indexing.
Use hyphens to separate words
Not all web applications accurately interpret separators like underscores (_), plus signs (+), or spaces (%20), so instead use the hyphen character (-) to separate words in a URL, as in the “google-fresh-factor” URL example above.