Несколько дней мучился с двумя одновременными проблемами на сайте: а) перегрузка (БД разрослась за много лет существования сайта) и б) исчезли рубрики из панели управления (точнее, там показывались только главные категории без children, хотя выводилось общее число всех рубрик) и одновременно перестали работать разные wp_list_cats, query_posts/get_posts/WP_Query и тому подобное, берущее материал из подкатегорий).
С первым было понятно, как бороться — раздача через CDN и полное кэширование. Кэширование я уже перепробовал все, CDN же не использовал. Вариантов было три: раздавать все файлы через Windows Azure, подключив его через W3 Total Cache (работает, все ОК), включить встроенный CDN от GoDaddy или использовать Cloudflare. Пока остановился на последнем, с учетом того, что на него можно повесить сжатие и минимизацию файлов, сэкономив ресурсы собственно хостинга (на котором у меня вообще много чего висит, и это заметно нагружает сервера).
Со вторым все оказалось сложнее. Перепробовал обновления, откаты назад, прочесал БД в поисках ошибок, перенес на новую базу данных, проверил все плагины, корректность файлов и т.п. — никакого результата. Кроме различных полезных мелочей, правда, не относящихся к собственно проблеме с категориями. Прочесал различные форумы и в результате единственное нужное действие оказалось простейшим — создать новую подкатегорию (и можно сразу же ее удалить), после чего все заработало. Куча времени, потраченная на разборки с движком, хостингами и сайтом — и одно простейшее движение. Обидно только, что толком никто не может сказать, от чего эта проблема вообще может возникнуть в WordPress’e…