Changelog
See what's new in TermSlayer
Every term now shows how much it is actually searched for, and how that is moving. There is a search volume column and a trend column — an arrow and a year-over-year percentage, with a twelve-month sparkline in the tooltip — read from data the analysis already fetched, so nothing got slower or more expensive. Volume also changes the order of the list, but only where it should: terms of comparable relevance are put in demand order, while a term that is more relevant always stays above a less relevant one however many people search for it. Relevance decides, demand breaks the tie, and the note under the table tells you how many terms it moved. A term Google has no data for now reads as exactly that — a dash with an explanation — instead of being lumped in with terms measured at zero searches. That difference matters: long-tail terms below Google's reporting threshold are often the ones worth writing for, and they used to sink to the bottom alongside terms nobody searches. Two new filters sit above the table. A minimum-volume chip hides the small stuff when you want the head terms, and it never hides a term whose volume is simply unknown, because "we do not know" is not the same as "too small". And competitors' brand names, which tend to flood in from the pages already ranking, are now labelled and hidden by default — one click brings them back, and the table says how many it is holding. Those brand terms are also kept out of the recommendations and the heading blueprint, so a suggested title can no longer quietly carry a competitor's name.
The heading blueprint used to work by mirroring what the pages already ranking had in common, which is a reliable way to end up with an outline indistinguishable from theirs. It now starts somewhere else: it works out what the reader is actually trying to accomplish, checks that against what the top results reveal Google is rewarding, and tells you in the rationale when the two disagree and it followed your page instead. Sections that do not move the reader toward that goal are left out, so blueprints are shorter and more decisive — there is no target number of headings any more, because sometimes two is right and sometimes eight is. Each heading can now carry a short lead: one line explaining why a choice matters before you ask the reader to make it. You know which running shoes are yours, but you may not know that men's and women's differ in shape and cushioning, and that is the kind of line a writer needs prompted. Blueprints also see the questions people are asking in search now, so a FAQ section shows up when it earns its place rather than by habit. Behind all of this we built a proper evaluation setup for the language prompts, so a change to how TermSlayer writes has to prove it is an improvement before it ships.
This release focused on making TermSlayer more reliable and more secure. We fixed a series of verified bugs in credits and billing — reservations can no longer be refunded mid-run, coupons behave correctly for every user, and invoices with discount codes are handled atomically — and in the analysis pipeline, where stuck or falsely "completed" analyses, broken resumes and lost background work are now a thing of the past. All transactional emails were rebuilt on a single bilingual template system, so every message renders reliably in Dutch and English from one consistent sender. Dates now display in a consistent Dutch format across the dashboard and admin screens. Under the hood we hardened security further: secret comparisons are timing-safe, user-provided URLs are checked against internal-network targets before we fetch them, and user text is safely fenced off inside AI prompts. Our automated test suite grew to almost 1,600 checks and is now split so critical flows are verified on every change.
Exporting an analysis or audit as a PDF no longer ties up your browser while it generates. When you click Export PDF, we now build the document on our servers and email it straight to you — you'll see a quick "we'll email your PDF" confirmation and can keep working in the meantime. The PDF itself is identical to before: same layout, tables, and styling. Exports are tied to your account, so a PDF is only ever generated and sent for analyses and audits you own.
We spent a release tightening the platform end to end. On security: coupon redemption is now protected against code-guessing, internal processing routes are locked down, and we closed gaps that could let one account see another's data. On performance: large analyses cluster keywords and load their AI prompts faster, admin screens open more quickly, and a few behind-the-scenes data races were removed so concurrent work can't step on itself. We also added an automated quality-and-security check to our release pipeline, so regressions are caught before they reach you.
Fixed a bug where email notifications (analysis complete, welcome emails, expiry reminders) were silently failing. The Resend SDK returns errors as data rather than throwing exceptions, so our error handling never caught API failures. All email sending now properly detects and reports errors, with retry logic that actually triggers on failure. You should now reliably receive email notifications when your analyses complete.
The admin overview page now shows real month-to-date usage stats — estimated token consumption and cost based on actual analyses run this month, replacing the old static per-analysis numbers. Pending abuse flags are also surfaced directly on the overview for quick triage. The admin navigation bar has been tidied up too: eleven flat links are now grouped into logical dropdowns (Configuration, Financial, Content) so everything is easier to find.
We're designing a feedback mechanism that will let you mark individual keywords as relevant or not relevant directly on the results page. This feedback will feed into the admin Scoring Lab, where aggregated patterns — like terms that consistently score high but get marked irrelevant — surface as actionable improvement suggestions. The goal is to continuously refine scoring accuracy based on real human judgment. Research and architecture work is complete; implementation is next.
We've strengthened several layers of security across the platform. Coupon redemptions are now fully atomic at the database level, eliminating any possibility of double-redemption under high load. Payment webhooks from Stripe and Moneybird use a new insert-first approach that prevents duplicate credit grants even if a notification is delivered twice. We've also added project ownership checks so your projects and their contents stay private — no one else can link their work to your projects.
Some longer analyses were timing out before they could finish scoring and generating recommendations. We've restructured how the background processing works so it now gets a dedicated execution window with plenty of room to complete — even for complex keywords with lots of competitor pages to analyze. This also means the "analysis complete" email notification will now arrive as expected once your results are ready.