Вот я встречал в интернете такие варианты защиты от грабберов:
1) необходимо открыть файл engine/modules/show.full.php и найти строку:
$tpl->set( '{full-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['full_story'] . "</div>" ) );
В ней следует заменить news-id на свои любой другой индикатор или вовсе удалить:
$tpl->set( '{full-story}', stripslashes( $row['full_story'] ) );
2) в файле engine/modules/show.full.php так же следует найти строку:
$tpl->set( '{full-story}', stripslashes( "<div id=\"news-id-" . $row['id'] . "\" style=\"display:inline;\">" . $row['full_story'] . "</div>" ) );
заменить ее на:
$random = substr(md5($row['category']), 0, 4);
$tpl->set('{full-story}', stripslashes("<div class=\"{$random}" . $row['id'] . "\">" .$row['full_story'] . "</div>"));
Не знаю работающие ли это методы и вопрос если использовать скажем второй вариант не будет ли проблем с индексированием новостей, ведь там что то с id новости завязано?