SEO Implementation Report — v1

trados.coTrados — LOI verification platform · 76 published posts · 2026-05-05

Site: https://www.trados.co/ Stack: WordPress · Elementor Pro · Rank Math Pro 3.0.110 Pages touched: 76 published (12 pages + 64 posts)

01Executive Summary

trados.co arrived in middling shape — 75 of 76 posts at score 90-96, 1 outlier at 40, well-written content, good schema, but missing site-wide OG image config, "person" knowledge graph entity (B2B SaaS — should be company), no LiteSpeed Cache plugin, and 14 titles/descriptions corrupted with mojibake (the em-dash stored as â€") from a prior import.

All site-wide gaps now closed. TTFB went from 0.42s to 0.09s on cache hits, og:image / twitter:image now emit on every page, knowledge graph entity is correct, mojibake is fixed across 14 titles/descriptions, the 1 stray auto-draft is deleted, and the universal alt rewriter ensures no img on any page has empty alt.

02Before vs After

TTFB (cache hit)
−79%
0.42s0.09s
og:image
FIXED
missingset
twitter:image
FIXED
missingset
Knowledge Graph
FIXED
personcompany
Mojibake titles/descs
FIXED
14 corrupted0
Empty alts (homepage)
FIXED
3 / 30 / 6
LiteSpeed Cache
INSTALLED
missingactive+configured
Stray auto-drafts
CLEANED
10

The mojibake fix — surprising find

14 of the 76 posts had corrupted UTF-8 in rank_math_title / rank_math_description / Facebook overrides. Pattern: em-dashes () stored as the bytes 0xC3 0xA2 0xE2 0x82 0xAC 0xE2 0x80 0x9D — classic double-encoding from an import that re-interpreted UTF-8 as Latin-1 and re-encoded. SERP titles like "Pricing â€" Commodity Trading Platform Plans" looked broken to Google. Fixed via byte-level str_replace matching the exact 4-byte sequence.

03Changes Made

04Live Verification (homepage)

SignalStatus
title"Commercial Trading Platform — Verified Traders | Trados" (em-dash now correct) OK
og:imageTrados-Office.png OK
twitter:imageTrados-Office.png OK
og:site_name"trados" OK
viewportwidth=device-width, initial-scale=1.0 OK
H1 with text"The Verified Network for Global Commodity Trade" (1) OK
H2 count (homepage)0 design choice — homepage is single-message hero; not a fail
imgs total / empty alt / no alt6 / 0 / 0 OK
schema blocks (JSON-LD)2 OK
x-litespeed-cachehit OK
TTFB (cache)0.095s OK

05The Score-40 Outlier

Post ID 96 ("Why Manual LOI Verification Is Dead [2026 Data & Guide]") has rank_math_seo_score = 40. I ran a server-side analyzer mirroring Rank Math's criteria and the post passes everything:

CriterionResult
Focus keyword in title✓ (FK: "manual LOI verification")
Focus keyword in URL slug
Focus keyword in meta description
Focus keyword in first 10% of content
Focus keyword density1.23% (sweet spot 0.5–2.5%)
Focus keyword in subheading✓ (in 9 H2s)
Focus keyword in image alt
Content length1,624 words
Internal links17
External links2
H2 count9
Title has number✓ ("2026")
Title sentiment✓ ("Dead" = strong negative emotion in AFINN)

The 40 is stale postmeta. Same situation as demelos — the score is computed in JavaScript only, and this post hasn't been re-analyzed since editorial changes that fixed earlier issues. Click "Update SEO Score" in admin to refresh — should jump to ~95+.

06mu-plugin Installed

New file: /home/trados.co/public_html/wp-content/mu-plugins/trados-seo-render.php (v1.0). Same architecture as the demelos / altajan versions — output-buffer-based, runs at template_redirect priority 11 so it sees the fully-built HTML and can safely rewrite.

07Deferred to User

08What's Next

#ItemEffort
1The 5 user-action items above~15 min total
2Move to next site (e.g. trados.app, dmsales.ai, aliahona.com)per-site
3Once all sites ship, generate a cross-site rollup dashboard at /home/claude/_rollup/1 hr