Maybe its insurance policy. :) If the official figures are to believed, turnout in urban centers is low.
Putin will get a much higher turnout in the countryside and small towns.
There is an urban-rural divide in Russia. The Kremlin is resigned to the fact it can’t get people in Moscow and St. Petersburg to be as enthusiastic about the President as elsewhere around the country.
I think that is why he banned Navalny from participating. Navalny might very well build up enough popularity to win even semi-fair Moscow mayoral elections in September this year. That would mean Putin would have to fix the elections in heavy handed way and that would be embarrassing for him. Better just ban Navalny.