Why shouldn't google treat SEOs as criminals? A SEO's entirejob is to prevent google's main product from functioning as intended. SEO is hardly better than spam as far as I'm concerned.
Haskell can do almost everything people generally use macros for without them. But there's always some things only macros can do, so for that you have template haskell.
It's for both, but utility functions also serve the same purpose (which is why you see people claiming they could do whatever Lisp macros do with function/methods/classes/monads/templates/makefiles, etc.) :-P