Classifieds moderation is the set of automated checks and human review steps that decide whether a listing goes live, stays hidden, or gets pulled. It is not a feature you add once — it is a queue, a policy and a set of escalation rules that have to be staffed and measured from the day the first user posts.
Key Takeaways
- Moderation is four jobs, not one: prohibited goods, spam and duplicates, scams, and user reports. Each needs its own detection method and response time.
- Pre-moderation suits high-risk categories where money changes hands. Post-moderation with fast takedown suits everything else.
- Automated scoring should route decisions, not make them. Humans handle the small slice the filters flag as uncertain.
- Give every listing a status workflow and an audit trail, never a single "approved" boolean.
- Sample published listings weekly — that is the only way to catch what your filters let through.
- Track time-to-decision, not just queue volume. A backlog is measured in hours, not items.
- Moderation debt compounds: a queue you ignore for a week is a queue you cannot clear.
What does classifieds moderation actually cover?
Moderation covers four separate jobs: keeping prohibited and illegal goods off the site, filtering spam and duplicate listings, catching scams before money changes hands, and handling reports from users after the fact. Each job has its own detection method, its own acceptable response time, and its own owner. Treating them as one queue is why most moderation backlogs exist.
Prohibited goods are a policy problem — you need a written rule list and a way to map each rule to a signal you can compute. Spam and duplicates are a volume problem, solved with hashing and similarity checks. Scams are a pattern problem and need account history plus payment behaviour. User reports are a triage problem: they arrive unstructured, angry, and often hours after the damage is done.
Why does an unmoderated board become a liability?
An open posting form is an unauthenticated write endpoint straight into your database. Scrapers and bots find it within hours of launch. Once junk listings outnumber genuine ones, search engines downgrade the category pages, real sellers stop posting, and the marketplace loses the only thing that made it useful: inventory worth browsing.
The ranking damage is the part people underestimate. Category pages that once ranked for "used motorcycles in Kathmandu" start filling with duplicate and irrelevant results, and search engines respond by demoting the whole section — not just the junk pages. Recovering that visibility takes months of clean content, not a cleanup script. There is also a legal edge: in most jurisdictions you carry some responsibility once you have been told about illegal goods and done nothing.
When do you need pre-moderation, and when is it overkill?
Pre-moderation — nothing goes live until a person approves it — fits high-risk categories such as jobs, housing, vehicles, and anything involving money upfront. For low-risk categories like second-hand books or furniture, post-moderation with fast takedown costs less and keeps the board feeling alive. Risk, not volume, should decide.
How does a moderation pipeline work in practice?
Every submission walks the same path: validate the payload, score it, route it. Automated checks run first because they are cheap and instant. Anything above your risk threshold lands in a human queue with the signals attached. Everything below it publishes immediately and gets sampled later for quality control.
Useful signals are unglamorous. Hash the phone number and email so one account cannot flood a category. Compute a perceptual hash of every uploaded image to catch stolen photos. Compare listing text against recent posts for similarity. Add a bot check such as Cloudflare Turnstile at the form, and for image-heavy boards consider a hosted classifier like Amazon Rekognition's content moderation. None of these decides anything on its own — they feed a score.
How do you set up a moderation workflow step by step?
Start with policy, not code. Write down what is banned, what needs review, and who decides when a rule is ambiguous. Then build the smallest pipeline that enforces it: a status column, a scoring function, a review screen, and an audit log. Everything else is refinement.
- Write the policy in plain language and map each rule to a signal you can actually compute.
- Add a status column to the listings table — pending, live, rejected, removed. Never a boolean.
- Capture risk signals at submit time: account age, phone and email hash, IP, image hashes, text similarity.
- Score each listing and set thresholds for auto-publish, review, and auto-block.
- Build a review screen that shows the signals, not just the listing.
- Log every decision with the actor, timestamp, and a reason code.
- Add a user report path and wire it into the same queue as new submissions.
- Sample published listings weekly and review a random slice by hand.
If you already have a development team, our team can help you build the submission and review workflow into your existing application rather than bolting on a separate tool.
Which configuration values actually matter?
Three settings decide whether moderation helps or hurts. The review threshold controls how much human work you create. The takedown SLA controls how long bad listings stay visible. The sampling rate controls whether you notice the spam your filters miss. Get the threshold wrong and you either drown in the queue or ship junk to the live board.
| Signal | What it catches | Cost | False-positive risk |
|---|---|---|---|
| Phone and email hash | One account reposting the same item | Low | Low — shared office numbers are the exception |
| Image perceptual hash | Stolen photos and near-duplicate adverts | Low | Medium — stock images repeat legitimately |
| Text similarity | Copy-paste spam templates | Low | Medium — dealers reuse their own wording |
| Keyword list | Prohibited goods named explicitly | Very low | High — slang, spelling variants, false hits |
| Classifier score | Category and intent, including new patterns | Medium | Medium — depends on your labelled data |
| Account age and IP reputation | Throwaway accounts and known bot ranges | Low | Medium — shared NAT and mobile networks |
A single query often shows you the worst of it. This one finds phone numbers posting the same thing repeatedly in the last day:
SELECT phone_hash, count(*) AS listings
FROM listings
WHERE created_at > now() - interval '24 hours'
AND status = 'live'
GROUP BY phone_hash
HAVING count(*) > 5
ORDER BY listings DESC; Run that weekly before you tune anything else. If you decide to clean up in bulk, back up first — pg_dump -Fc classifieds > classifieds.dump — and set status = 'removed' instead of issuing a DELETE. A hard delete is permanent and destroys the evidence you need to understand why the rule fired.
How do you verify moderation is working?
Measure four numbers weekly: time to first decision, the share of listings decided automatically, report rate per thousand live listings, and the share of published listings later removed. If time to decision climbs while report rate stays flat, your queue is understaffed. If removals rise, your thresholds are too loose.
Watch the distribution, not the average. A median time-to-decision of two hours with a 95th percentile of four days means a specific category or a specific moderator is stuck, and an average will hide that completely. Break the numbers down by category and by signal source — if one keyword list generates most of your rejections and most of your appeals, that list is the problem, not the queue.
What are the common failure modes, and how do you debug them?
The usual failure is a queue that grows faster than it drains, visible as a rising median age of pending listings. The second is silent automation failure — a classifier that starts rejecting legitimate posts after a model or threshold change. Both look like "users are complaining" long before they look like a metric.
Debug in this order. Check pending queue age by category first; that tells you whether the problem is volume or a stuck workflow. Check the auto-decision ratio — if it dropped, a filter is erroring or a threshold moved. Then check recent configuration deploys, because most sudden behaviour changes follow a release. Finally, pull one rejected listing end to end and read the reason codes. If the reason code is missing, that is your real bug.
What does moderation cost to run?
Cost splits into two parts: compute for automated screening, and human minutes for review. Compute scales with listing volume and is usually the smaller number. Human review scales with your threshold, and it is the one that surprises people, because a loose threshold quietly commits you to staffing a queue forever.
Estimate it honestly: take your daily listing count, multiply by the percentage you expect to route to review, and multiply by the minutes a reviewer needs per item including context switching. That last factor is the one everyone forgets. Reviewing forty items in one sitting is far faster per item than reviewing four items an hour between other work. If ongoing maintenance of the site is already a stretch, it is worth talking to a team that handles site maintenance alongside the moderation queue.
What are the security considerations?
Moderation touches user data, so treat the review queue as a sensitive surface. Reviewers see phone numbers, addresses and sometimes identity documents. Give them scoped access, log every view of a listing, and never let a moderator hard-delete a record — soft-delete so the decision stays auditable and reversible.
Also watch for the inverse risk: moderation tools that let staff edit live listings without a trace. Every edit should be attributed and reversible. If you use an external classifier, check what leaves your network — sending user photos and phone numbers to a third-party API is a data-processing decision, not just an engineering one.
What mistakes do teams make most often?
The recurring mistake is building moderation as a boolean flag rather than a workflow with states and history. Close behind: giving moderators a screen that shows the listing but not the signals, and never sampling published content. Both slow the job down and hide the errors you are making.
Two more show up constantly. Teams tune thresholds once at launch and never revisit them, even as spam patterns change. And they treat reported content as a separate queue from new submissions, so the same spammer gets caught twice by two different people. One queue, one policy, one audit log.
A realistic scenario
A Kathmandu property board launched with a simple posting form and no review step. Within a week, agents were bulk-posting the same flat forty times with slightly different photos. Genuine owners stopped listing because their adverts disappeared on page four within an hour. The fix was not a rewrite: hashing the phone number and email, adding a perceptual image hash, and routing anything above a similarity threshold to a two-person review queue. Duplicate posting dropped sharply within days, and the category pages started ranking again — but only after the existing duplicates were cleaned out and the sitemap was regenerated. Work like this usually starts as a small change to an existing system, which is the kind of thing we document in our project work.
How do the alternatives compare?
You have three real options. Build moderation into your own application, buy a third-party moderation service and integrate it, or run it manually with no tooling at all. Manual works up to a few dozen listings a day and then collapses. Buying gets you a classifier quickly but adds per-call cost and a data-sharing question. Building takes longer but fits your categories exactly.
If you have a development team and a category mix that is specific to your market — which most classifieds businesses do — building the workflow layer yourself and buying only the classifier is usually the right split. The decision framework is the same one that applies to any internal system, and we cover the trade-offs in custom software versus off-the-shelf. If you have questions about which route fits your case, the answers we get most often are a reasonable starting point.
In short: moderation is a workflow, not a checkbox. Decide what is high-risk, score every submission, route the uncertain ones to a human with the signals in front of them, log every decision, and sample what you publish. Do that and the queue stays small. Skip it and the board fills with junk long before anyone notices the ranking drop.
People also search for
Teams researching classifieds moderation usually want to know how to stop spam listings, what a marketplace build actually costs, and whether to build or buy the moderation layer. The guides below cover those decisions in more depth.
- Should you build or buy your moderation tooling?
- What a web development quote should actually break down
- Shared hosting versus VPS versus cloud for a listings site
- Cross-platform versus native for a marketplace app
- How to estimate the build cost of an internal review system
- How to budget for ongoing maintenance after launch
If you are running a classifieds or marketplace site and the review queue has quietly become somebody's full-time job, our team can help you design the policy, build the scoring and review workflow into your application, and set up the sampling and reporting that keeps it honest. Get in touch through our contact page or look at the wider services we offer.












0 comments
Be the first to share your thoughts.
Leave a comment
Replying to — cancel