Forum
Spam question
I'm a little confused about how spam works.
I have tried a captcha (yes, I know you don't approve but the client insisted!), and we also have Akismet.
So, spam comments still come through to the admin section for vetting. Is there a way to stop spam comments reaching the admin section altogether - just being automatically deleted? This is what the client wants, as so much spam is coming through.
Thanks
Yes, if the comment is identified as spam it will just be quietly filed away in the 'spam' section.
Are you sure you have Akismet configured correctly? Have you set
antispam
attributes in your template?Yes. The form inputs have antispam='name' etc, as indicated in the 'Combatting spam' page in Perch docs.
Akismet key is in the settings. Is there some other configuration I need to do?
Are you getting any spam on the spam tab? If so then things are being flagged as spam.
You will still get hand entered spam as akismet "learns". I periodically get batches, which I have to mark as spam and then Akismet learns it is spam and they automatically get spammed.
Yes it comes to both. Some goes to the spam tab and some into 'Pending" which I mark as spam. What confuses me is that I now have Akismet, a honeypot AND a captcha and spam still goes through to 'Pending'. This is what is annoying the client because they have to then keep dealing with it
Akismet will only flag as spam if it knows it is spam. As it learns it will flag more spam.
A honeypot and captcha is of no help against hand entered spam. There isn't really a solution to hand entered spam, Akismet is about the best bet. It is working however if something is being flagged as spam.
Thanks.
One last thing - I have Perch set to delete spam comments after 1 day - but it doesn't delete it. It just builds up into several pages very quickly, of days old spam. Any idea why?
Have you set up scheduled tasks?
Ok Ive just read about scheduled tasks but dont really understand it. Ive added this to the config file:
define('PERCH_SCHEDULE_SECRET', 'mysecret');
Is that all I need to do?
No, you need to schedule a cron job to run the task. See the section "Scheduling with cron"
https://docs.grabaperch.com/docs/scheduled-tasks/