I used McFarland's twice now. I highly recommend them! A few months ago I got my Persian rug washed ($97), repaired damaged corner (chewed by our dog, $240), replaced entire backing ($87). It might have costed as much as the brand new rug but money well spent since I didn't want to replace it with new one.
(All cost varies depending on size of the rug and extent of damages, of course)