Search engine algorithms have advanced quite a lot in recent years, and a lot of the tricks that SEO folk used to advise for are detrimental to your listings now. So jamming keywords into the domain name and repetitively into the content will likely get your site pushed further down the page list because that's precisely how the search engine will read it - as keyword spamming.
I think a fairly good way to go about SEO is to create pages for humans that they might want to link to and share with friends, and for search engines just give your page titles and urls keywords that are directly relevant to the content with the more specific words first and the more repetitive words last.
So say I was selling a Venini vase by Bianconi with a pezzato decoration... my html title would read: <title>Pezzato Vase by Fulvio Bianconi for Venini - My Shop Name Here</title>. The page would, ideally, be given a related url along the lines of pezzato_vase_fulvio_bianconi_venini.html. Each page would have my shop name in the title, so that goes last. I might have 30 Venini items, 10 by Bianconi, and 1 pezzato vase... so placing them in ascending order of frequency over your site tells the search engine that your site is likely to contain unique content. If you have two items more or less the same, give them unique qualifiers - if I had two pezzato vases, one could be big, the other one small, one round, the other square.
If you can make the first large chunk of text on your page related directly to this, and give it a title within the content contained within header tags (<h1>, <h2>, etc) that essentially reiterates the titles you've so far given... then the search engine will likely give your page the thumbs up for being user-friendly.
If you still feel the need to place repetitive keywords on your pages, put them as far down the content as you can.
This is essentially all you need to know about modern SEO - just design it for people.