Ну да, раньше тоже так гонял с этим по полной — поставишь canonical на закрытую страницу, а поисковик просто её не видит, и толку никакого. Сейчас понял, что лучше уж либо открывать и правильно ставить canonical, либо сразу закрывать через robots и не париться. Зачем усложнять и еще больше путать поисковики? Всё просто, на самом деле.