date нужно изменить на ISODate() или timestamp() в зависимости от того, насколько это удобно. Для правильных аггрегаций лучше ISODate.
Если есть возможность, делать batch insert, тогда индекс не будет перестраиваться для каждого документа, а только после вставки группы. Если у вас неплохая посещаемость, то складывайте данные массив и вставляйте в базу группами по 100 записей. Если посещаемость не очень высокая, до вставляйте по таймеру раз в секунду.
Делать составной индекс по всем полям не имеет смысла. Разберитесь, что именно вам нужно, стройте по этому индекс. Решение по использованию численного pageId мне нравится. Такой индекс будет компактнее.
По поводу архитектуры - держите сайт и статистику на разных сервисах (серверах). Для MongoDB используйте SSD.