I have a domain name that can be entered with or without hyphens and decided to go with the hyphenated version because I it would be better for SEO to have the keywords distinct. I also have the domain without hyphens.
I added the non-hyphenated URL to my hosting as a parked domain and then created a 301 redirect to go to the hyphenated version. I am wondering if there are any caveats to doing this and if there is a better technique. I remember reading that Google doesn't like redirected domain names.
Firstly, it is a common misconception that hyphenating your domain name will positively affect your SEO and SERPs results. You should probably go with the domain without the hyphens, as that is usually easier for people to remember. Adding hyphens can be problematic if there is a competing website using the same words without hyphens -- you could potentially looks hits by that. Plus, Google will "parse" your domain name's words to fit the search results.
If you search for "web design", you will notice that if pages included in the search results have
website and
design in the domain, Google will highlight the matching partials. (E.g.,
website
design.com)
Secondly, adding a 301 redirect is exactly the correct method for you to use.
The 301 header response tells Googlebot, and other search engine bots, that the content of
www.xyz-company.com is now permanently located at
www.xyzcompany.com. At that point, all indexing of content will resume using the second address, and eventually the old address will be phased out of the SERPs.
Lastly,
"Google doesn't like redirected domain names"
This is only true if it is not done within the proper context, and in this case you have handled the situation appropriately. So no worries.
If you have any further questions, please do not hesitate to ask!