Dejalo como estaba antes con el ID, y solamente hace un if que redireccione si el nombre del tag que figura en la URL no es el que tendría que ser.
Algo como (a esto agregale todas las validaciones y cosas que quieras):
Código PHP:
Ver original$tag = traeme_el_tag($_GET['id']);
//Suponiendo que esta función convierte "mi tag" en "mi-tag" para la url
$tag_url = crear_url($tag->nombre);
if ($tag->nombre != $tag_que_figura_en_la_url)
{
header("Location: /anuncios/$tag_url"); }
Y asi solucionás el problema, aparte que cuando tengas muchos tags es mucho más rápido buscar valores numéricos en la base de datos que cadenas.