Magento delete empty categories and sub-categories

Remove all empty categories and sub-categories in Magento. When there are empty categories, the website shows an empty page in those categories in frontend. Create a file in the magento root, I will name it removeEmptyCats.php, with following code:

require "app/Mage.php";

$categoryCollection = Mage::getModel('catalog/category')->getCollection()
    ->addFieldToFilter('level', array('gteq' => 3)); //greater than root category id

foreach($categoryCollection as $category) {
    if ($category->getProductCount() === 0) {

echo 'Empty Categories Deleted!';

Now you can easily run it by navigating to and wait for the message Empty Categories Deleted!

Note that this is going to DELETE those categories with have zero product count.

Leave a Reply