2026-07-09
TL;DR
- Found and fixed a serious data-integrity issue before it lied to us: TrueRanker's API returns the final day of any date range with every keyword's rank/URL shifted by one row. Unhandled, it fabricated 105 phantom top-10 entries. The pipeline now discards that day — reports always analyze yesterday, the newest trustworthy data.
- UK is the one market genuinely declining: average position 3.7 → 4.25 over five weeks, driven by city head terms (birmingham, sheffield, bradford, lincoln…). Evidence points competitive, not technical: adultwork.com improved 5.7 → 5.1 across 295 of our keywords in the same window, skokka 11.3 → 9.
- DE has real momentum on high-volume head terms: "huren berlin" (27k vol) 14.9 → 9, "huren münchen" 8.1 → 5, "sextreffen münchen" 6.3 → 4 over 30 days.
- Two deleted profile pages are ranking top-10 while returning 404 — free wins being wasted (details below).
- Site technical health is otherwise clean: 1,089 ranking URLs snapshotted — zero noindex accidents, canonicals fine, no redirect chains. But hreflang is absent site-wide (pages and sitemap), notable for a six-market domain with two German-language and two English-language editions.
What moved and why
UK — slow bleed on city heads (likely competitive, day 1 of tracking). Since early June: birmingham escorts ~6→12, sheffield ~12→18, crewe ~4→17, basildon ~5→18, with the pattern concentrated in mid-size-city head terms while long-tail suburb terms hold. No on-site changes coincide (snapshots start today, but canonicals/robots/status are all clean now), the other five markets don't share the pattern, and adultwork.com's improvement mirrors our decline almost keyword-for-keyword. Verdict: competitive displacement, likely — I'll compare their city-page templates against ours tomorrow if the slide continues.
DE — head-term surge (confirmed, positive). The gains cluster on transactional city terms (sex/huren/sextreffen + city). Average position 6.3 → 6.0 in two weeks with top-3 count rising. Whatever changed in Google's weighting here, DE pages are winning it — worth noting these are root-path pages (/huren/berlin/), not the /de/ subfolder pattern.
AT — June dip fully recovered (4.6 → 5.1 → 4.8). Reads as SERP volatility, closed.
IT — stabilized after sliding through June (8.3 → 9.5 → 8.9). Only 172 of 330 tracked keywords rank at all — this market is thinner than its keyword count suggests. Watching.
BR — young and climbing: 44 → 69 ranking keywords in a week, avg 11.0. Normal for a market indexed only since mid-June. No action needed; growth is the signal to watch.
AU — quietly the good news story: 6.7 → 6.2 since June, top-10 count at its 90-day high.
Investigations
- TrueRanker API off-by-one (confirmed, worked around). For any API request, the last day of the returned range carries each keyword's data shifted to the row above ("huren oberhausen"'s URL appears on "shemale sex", etc.). Verified by re-pulling identical dates in different range positions. This also invalidates the API's
cannandovfields (only emitted on that corrupted final day). Collector now discards final days and overlaps chunks; cannibalization is derived from our own URL-swap history instead. Worth reporting to TrueRanker support with the repro. - Full snapshot sweep of all 1,089 ranking URLs: two 404s (below), zero fetch failures, zero noindex, 2 canonical mismatches (both trivial trailing-variant cases), no meaningful redirect chains.
- Dead pages still ranking:
au/escort/erotic-massage/australia/stussy-babe41/holds #9 for "Warragul escorts" andit/escort/italia/vera-ragazza10/holds #7 for "escort policoro" — both 404 (deleted profiles). Google will drop these within days-to-weeks and the rankings will be lost rather than transferred. - hreflang absence: no link-tag or sitemap hreflang anywhere. With AT (
/at/, German) vs DE (root, German) and UK/AU both English, cross-country URL bleed is a standing risk — I'll start measuring whether wrong-market URLs actually rank before calling this urgent.
Opportunities
DE striking distance is loaded: "sextreffen hamburg" #12 (33k vol), "huren berlin" #9 (27k), "huren hamburg" #8 (27k), "sex ingolstadt" #9 (18k) — all trending up on their own. These are positions where small pushes (internal links from the surging München/Berlin cluster, freshness) buy disproportionate traffic.
Recommendations
- 301 the two dead profile URLs to their city pages (
/au/escort/warragul/-equivalent and the Policoro city page) before Google drops them — cheap, urgent, preserves the equity. - Look at adultwork.com's UK city pages this week (what changed vs ours) — that's where the UK bleed is going.
- Internal-link push on the DE striking-distance set while the market has momentum.
- Report the API bug to TrueRanker — repro: request any range, compare the final day's URLs against the same day pulled mid-range.
- Hreflang: hold until I've measured actual cross-market bleed (on the watchlist).
Watchlist
- UK city-head slide — day 1, verdict "competitive, likely". Next: template comparison vs adultwork if decline persists.
- IT thinness — only 52% of tracked keywords rank; assess whether the tracked set or the content is the problem.
- BR growth curve — expect continued keyword entry; flag if it stalls two weeks.
- Cross-market URL bleed — start counting wrong-country URLs in rankings to size the hreflang question.