Use case

AI comment moderation for websites and blogs

Comment sections on news sites, blogs and shops fill up with insults, hate and ads, often in more than one language. VigiMod checks each comment before it is published and holds the ones that break your rules for a person to review.

What makes it hard

Hate under sensitive articles

News about migration, religion or politics attracts attacks on groups of people. The hate category is built for that.

Ads and links

Spam comments push shops and scams. The advertising category and your own rules hold them.

Readers in many languages

International sites get comments in many languages; the model was trained on 26.

How it works with VigiMod

  1. 1

    When a comment is submitted, your site sends its text to VigiMod with your rules.

  2. 2

    Clean comments are published as before.

  3. 3

    Flagged comments go to the moderation queue instead of the page.

Rules you can copy

Send them in the rules field: each one comes back with its own score, like a built-in category.

{
  "rules": {
    "no-ads": "No advertising or links to shops",
    "no-personal-attacks": "No attacks on the author or other readers",
    "no-medical-claims": "No claims that a product cures a disease",
    "on-topic": "Comments must be about the article"
  }
}

Example

A WordPress filter (functions.php or a small plugin): flagged comments wait for approval instead of going live. Define VIGIMOD_KEY in wp-config.php.

PHP (WordPress)

<?php
// WordPress: functions.php or a small plugin. In wp-config.php: define('VIGIMOD_KEY', 'vm_live_...');
// A flagged comment waits for approval instead of going live.
add_filter('pre_comment_approved', function ($approved, $comment) {
    if ($approved === 'spam' || $approved === 'trash') {
        return $approved;
    }
    $response = wp_remote_post('https://api.vigimod.com/moderate', [
        'timeout' => 3,
        'headers' => ['X-API-Key' => VIGIMOD_KEY, 'Content-Type' => 'application/json'],
        'body'    => wp_json_encode([
            'text'  => mb_substr($comment['comment_content'], 0, 2000),
            'rules' => ['no-ads' => 'No advertising or links to shops'],
        ]),
    ]);
    if (is_wp_error($response) || wp_remote_retrieve_response_code($response) !== 200) {
        return $approved;            // VigiMod not reachable: keep WordPress's own decision
    }
    $result = json_decode(wp_remote_retrieve_body($response), true);
    return empty($result['flagged']) ? $approved : 0;   // 0 = held for moderation
}, 10, 2);

Tips

  • Keep your spam plugin (for example Akismet): it knows spam networks, VigiMod adds toxicity, hate and your rules.
  • If VigiMod cannot be reached, keep WordPress's own decision, as in the example.
  • Send the article title as context for “on-topic” rules: the comment is read with what it answers.

Questions

Does it work with WordPress?
Yes, with the pre_comment_approved filter in the example. Other platforms can do the same when a comment is submitted.
Will real comments be blocked?
Flagged comments are held for approval, not deleted, so a person always has the last word.
Is it GDPR compliant?
Comments are checked and discarded, never stored or used for training. VigiMod is run from Italy, in the EU, and offers a data processing agreement.
How much does it cost?
Free during the beta, with 120 comments per minute per API key.

Try it on your community

Create a free API key in two minutes. No card, no trial period.