The debates about what causes Algae could go on and on.
There are lots of different opinions and ideas.
So here's my theory.
As Algae does rely on light for photosynthesis I would certainly look at limiting the sunlight. However, I believe that an excess of light alone is unlikely to cause Algae.
This belief is mainly down to the fact that I have my tank lights on for 12 hours a day and have recently even increased their brightness, and I'm still not getting an algae problem.
I reckon the algal bloom could also be caused by an excess of nutrients.
I have A LOT of plants in my tank so any excess nutrients, from fish waste or uneaten food, can be readily taken up by my plants.
Where there aren't an abundance of live plants I believe any excess in nutrients creates an ideal habitat for Algae.
What is your feeding regime like?
How often do you feed your fish?
Are your fish eating everything you put in the tank or are they leaving any?
Do you use a siphon to remove any excess food?
If it were my tank, I would initially perform a three day blackout to kill the existing Algae and then tighten up my feeding regimen to try and determine if a build up of uneaten food might be contributing to the algae bloom.
Maybe your feeding is fine, but your tap water might contain a high concentration of phosphates.
You can buy a kit to test your phosphates and then, if they are high, you can add a product to your filter to lower them.
But this is the next step after trying to ensure your feeding regime is good and any excess sunlight has been limited. Look at eliminating the easy things first and then, if necessary, move onto the more complex stuff.
Sorry for the long post, as I implied at the beginning, dealing with Algae isn't straightforward.