Выбрать из базы список тегов и их количество
select tag, count(*) as cnt from article_has_tag
group by tag
order by cnt desc
limit 30
Используя данные о количестве тегов присвоить им вес в каком-то диапазоне, например 100-150.
И вывести в html <a href="/tag/
$tagname" style="font-size:
$weight%">
$tagname</a>
Или можно использовать какую-то готовую библиотечку на js
mistic100.github.io/jQCloud
(множество аналогов гуглится по словам tag cloud js или css)