As per How to marry the conflicting philosophies? we can "control all of the "off topic because..." close reasons" and as that answer asks, we should be more friendly.
So: let's come up with better wordings.
Questions on programming, PHP, SQL, etc. that do not relate directly to Drupal are off-topic here, but can be asked on Stack Overflow.
Might be changed to
Also, for not exactly programming questions, separate reason like this might help:
Not everything you see when developing for Drupal is really Drupal specific. Some topics are more generic and apply to various systems other than Drupal as well. These questions are better suited for serverfault, Database Administrators, Webmasters, User Experience, Information Security or similar websites dedicated to general areas of expertise and not a single ecosystem.
This would solve issues with "what the... this isn't bout coding at all, what do you want from me?! Why SO?!" issues.
This question belongs on another site in the Stack Exchange network
This is a migration path to the proper site, not really a close reason, so no intervention needed.
Questions asking to recommend or find a book, tool, module, theme, distribution, tutorial, or other off-site resource are off-topic for Drupal Answers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
This is actually pretty good, but corresponding text in help center is bad:
Requests for tutorials and other online resources
At the very least Help Center should include all things forbidden explicitely, so people might read it earlier than in a close reason! Apparently it's not always obvious that modules are off-site resources. They are, all right, but that's not the point. The point is it is not intuitive for new users.