AI 工具目錄中 88% 標示為免費的項目未經認領驗證
Half of my AI directory is labeled "free". 88% of those listings were never claimed.
一個收錄 4,323 項 AI 工具的目錄中,只有 614 項(14.2%)經供應商認領驗證;標示為免費的項目有 2,198 項,其中僅 261 項(11.9%)獲驗證。目錄的免費標籤根據頁面文字推斷,未必代表有可用的免費方案;未驗證資料亦可能出現名稱過時、產品合併或價格衝突。文章建議記錄標籤的來源與核對日期,並按價格類別追蹤驗證率。
I run a directory with 4,323 AI tool listings. Every row has exactly one pricing label: free, freemium, or paid. On paper the split looks healthy:
- free: 2,198 (50.8%)
- freemium: 1,425 (33.0%)
- paid: 700 (16.2%)
For a site whose main feature is "filter by price", those are the numbers I care about most. Then I asked a different question: how many of these rows has anyone actually confirmed?
Each listing can carry a verified badge, which means the vendor went through a claim flow and said "yes, this is us". 614 of 4,323 do. That is 14.2%. The split by pricing tier is where it gets interesting:
| Label | Listings | Verified | Verified rate |
|---|---|---|---|
| free | 2,198 | 261 | 11.9% |
| freemium | 1,425 | 225 | 15.8% |
| paid | 700 | 128 | 18.3% |
Free listings are the least verified segment, paid listings the most. I am not going to pretend this is causal. This directory has produced 4 outbound clicks in total, so nothing here is statistically impressive. But the direction makes sense: a paid product has revenue, a support inbox, and someone whose job includes checking listings. A free tool often has one person, no budget, and no reason to care that a directory in another timezone has the wrong price attached to it.
The uncomfortable part is that "free" is the label readers trust most. It is the first filter people apply, and it is the one applied to the listings that nobody has checked.
Where the label actually comes from
The pricing label is inferred, not declared. It comes from the text that arrived with the listing: vendor marketing copy, aggregator feeds, and the crawl itself. So "free" means "the page said free when it was crawled", not "there is a usable free tier with a published limit".
That gap is easy to underestimate. While hand-writing 20 tool pages last week, I hit three failure modes that no automated pass had caught:
- Version drift. The Adobe Firefly entry still named Firefly 3. The current flagship is Firefly Image Model 5, two generations later.
-
Product merging. One row had collapsed Nano Banana 2 (
gemini-3.1-flash-image) and Nano Banana Pro (gemini-3-pro-image) into a single tool, with one set of limits. - Conflicting prices. Google AI Plus appeared at both $4.99 and $7.99 across 2026 sources. I wrote "unconfirmed" instead of picking the friendlier number.
All three are the kind of error that only surfaces when a human opens the vendor's pricing page and reads it.
Unverified rows rot in predictable ways
The 85.8% of rows without a verified badge are not all wrong. Most are just fine. But the drift follows patterns:
- Stale names. Products rename themselves faster than feeds update.
- Merged or split products. Two tools become one, or one tool becomes a tier of another, and the old row keeps collecting traffic.
- Dead tools. 405 rows (9.4% of the directory) sit in a discontinued category. Some are genuinely shut down; others are dormant and might come back.
There is also a category-level version of the same problem. Of 92 category pages, 3 currently have zero tools: New AI Tools, Aixploria Selection, and Programming. They still render, and they are still in the sitemap. That is a thin page I created by accident, and it is the sort of thing a crawler is right to ignore.
Related: the average tool sits in 1.62 categories, and 2,100 of 4,323 rows (48.6%) are in more than one. Overlaps are normal, but they also mean a single bad row can produce several bad pages.
Freshness is a number, not a vibe
The "new tools" page is the one most likely to lie by omission, so I started measuring it:
- 22 listings were published in the last 30 days.
- 0 were published in the last 7 days.
- The newest row is dated 2026-10-18, which is 13 days old today.
For a directory fed by crawling, that is not a disaster, but it does mean the page cannot honestly present a daily "fresh arrivals" feed. The useful metric is not "did the crawl succeed" but "how many rows did this run add or change" — a crawl that succeeds with zero additions is a silent outage.
Three changes that followed
- Treat the pricing label as a claim. Store the source and the date it was read next to the value. "Free, checked 2026-10-30" is a different statement from "free".
- Measure verification per segment, not overall. The headline 14.2% hides a real 11.9% versus 18.3% gap, and that gap tells you where to look first.
- Prune and mark. A discontinued category that is visible is better than dead rows scattered through live categories, and empty category pages should be noindexed until they have something on them.
None of this fixes the underlying economics: free listings will always have the weakest data, because nobody is paid to keep them accurate. The best I can do is stop presenting an inferred label as a verified fact, and show readers which rows have been checked.
The free list, such as it is: https://aiverse.mindutil.com/free-ai-tools?utm_source=devto&utm_medium=social&utm_campaign=sideproject
來源:DEV Community · dev.to