Так же посмотрят, как люди - им тоже будет выводится произвольная комбинация, в итоге каждый раз, когда робот будет заходить на сайт - он будет видеть каждый раз новый текст.
По вашему второму вопросу - нужно создать много "кусков" с синонимами, например так:
$part01 = array ("интернет-магазин", "онлайн-магазин", "интернет магазин", "онлайн магазин", "веб-магазин", "веб магазин", "internet-магазин", "online-магазин", "web-магазин", "магазин");
$part02 = array ("мобильных телефонов", "смартфонов", "мобильных", "телефонии", "телефонов", "мобилок", "сотовых телефонов");
$part03 = array ("предлагает", "предоставляет возможность", "дает возможность", "позволяет", "предлагает возможность");
$part04 = array ("купить", "приобрести", "заказать", "оформить заказ на", "сделать покупку", "совершить приобретение товара");
потом эти блоки связываются так, как вам удобнее, например вот таким образом (в product.tpl):
echo $part01[array_rand($part01)]." ".$part02[array_rand($part02)]." ".$part03[array_rand($part03)]." ".$part04[array_rand($part04)]." ".$heading_title." и так далее...";
В результате вывода в том месте, куда вы вставите этот код, получим разные варианты при каждом обновлении страницы, например такие (элементы массивов я разделил цветом: 1, 2, 3, 4, а $heading_title - это название товара):
интернет-магазин смартфонов дает возможность оформить заказ на Apple Cinema и так далее...
веб магазин мобильных телефонов предлагает купить Apple Cinema и так далее...
online-магазин сотовых телефонов позволяет совершить приобретение товара Apple Cinema и так далее...
Количество получившихся вариантов равно количеству возможных перестановок ваших блоков с синонимами.