Pretty much after I shoot it.
I asked this question awhile back and was surprised to find that if you clean monthly, you are in the minority. Most only clean when they think they need it.i try to at least give them a good wipe and oil after every range visit but i usually only detail clean them once or twice a month if its been a busy month.
My 98 Dodge still gets washed and vacuumed out weekly. I like driving a clean truck. I guess I like a clean gun too. I was at the range yesterday, But it was too stinking hot to clean. So first thing this morning they both got cleaned. DRRevolvers - not every time. No way! That's like cleaning 7 guns - a revolver has 7 barrels! A wipe down and a dab a oil is fine.
Defender LW 9mm - after every shoot. Check it for oil about every month if I have not shot it. It starts to intermittently fail to feed at about 250 rounds without cleaning or oiling.
Other guns - not after every shoot, especially if it's just a range gun.
My opinion - clean a gun as needed. If you have a gun that is prone to failure if it gets residue and dry, then keep it clean and oiled. On the other hand, if you have a Ruger 10/22 or Mk III that goes on forever, maybe wipe it down and give it a drip of oil now and then.
To me, cleaning guns is a pain in the butt. I don't enjoy it. I used to when I first got into guns. Kind of like washing the new fancy car. It soon becomes a pain after the first couple of times.