-Blog
id
name
slug
content
keywords
description
content_type ('blog', 'page')
active
created_at
updated_at

-Kategori
id
name
slug
keywords
description
content_type ('blog', 'page')
active
created_at
updated_at

-Kategori Blog İkişkisi (Böylece bir yazı farklı kategorilere girebilir)
id
blog_id
category_id
created_at
updated_at

- Blog Etiket (Etiketleri yönetmek daha kolay olur)
id
name
slug
created_at
updated_at

- Blog Etiket İlişkisi
id
blog_id
tag_id
created_at
updated_at

- Blog Medya İçerikleri
id
name
image
embed
type ('image', 'video')
active
created_at
updated_at

Ben sayfalar ile blogu ayrı tabloya ayırmam. Type diye bir alan açarım toplarım. Tek tabloda böylelikle admin kısmında ayrıca yer açmamam gerek kalmaz. Tek listede toplar orda sadece blog yada sadece sayfaları gör derim. Daha tutarlı olurki Wordpress de böyle yapıyor. Daha da geliştirilebilir. Ben tablo adlarına blog yazdım fakat siz daha kapsamlı bir şey belirleyebilirsiniz.