SEO Indexing Recovery & Performance Cleanup by Mohammed Faraz Saifullah AnsariSEO Indexing Recovery & Performance Cleanup by Mohammed Faraz Saifullah Ansari
Fortrove Partners is a New York financial planning firm for technologists with concentrated equity: ISOs, RSUs, AMT, QSBS. The site is WordPress on Avada with Yoast, about 230 URLs, most of them long-form articles the founder wrote himself. The goal was to get it ranking properly and cited by AI answer engines without a rebuild.
The problem
Google had crawled 112 pages and declined to index them. Nine separate articles competed for the same AMT and ISO queries, ranking between 27 and 81 with 0 clicks on 2,556 impressions. The booking page took 8 seconds to become interactive. PageSpeed scores swung between 25 and 64 on identical code, which everyone had written off as test noise. Every page template sent Google two competing sets of structured data.
What I did
Indexation first. I audited all 233 titles and descriptions, noindexed 33 personal and lifestyle posts that were competing with the equity content, and traced a stale-sitemap fault to a Yoast caching behaviour that was serving Google an out-of-date file. Then the AMT cluster: nine pages collapsed into two authoritative guides, seven permanent redirects, retired addresses pulled from the sitemap, and the 2026 figures checked against the IRS source.
Speed second. The scheduling widget was loading before the page was usable, so I moved it after first paint. I pruned unused theme features and element libraries, deferred scripts, and generated per-page critical CSS so the main stylesheet stopped blocking render on all 228 pages. Then I timed every URL in the sitemap as an anonymous visitor and found the real bottleneck: a 5-minute page cache on the host meant 89% of requests hit a cold origin at 1,840 ms. Zero pages fell between 200 ms and 1.5 s. That one finding explained the erratic scores. I wrote the three hosting asks for the client to forward as-is; by the end of the day the median was 41 ms.
Structured data and measurement last. Duplicate schema resolved across all five templates and verified in the Rich Results and schema.org validators with zero errors. A booking listener on the Schedule a Chat page now pushes a booked_call event to Tag Manager, so the client can see which article produced a meeting, not just a click.
Results
Crawled-not-indexed pages 112 to 73 in six weeks. Nine competing AMT pages to two guides. Booking page time-to-interactive 8.1 s to 2.4 s, first paint 11.4 s to 3.9 s, layout shift 0.106 to 0.008. Median server response 1,840 ms to 41 ms. Render-blocking CSS deferred on 228 of 228 pages. Nothing was deleted; every change is a setting that reverses in under a minute.
Handoff
The client got a dated closing record of every change and how to verify it, two runbooks (stale sitemap, bringing a retired page back), a 230-page opportunity map with 13 paste-ready title rewrites, 14 merge clusters with named survivors, and a thin-content playbook his admin can run without me. He rehired me directly after the Toptal engagement ended.
Tools
WordPress, Yoast SEO, Avada, Google Search Console, PageSpeed Insights, Google Tag Manager, GA4, Cloudflare, Pressable, schema.org validator, and a Python crawler I wrote to time and inspect every page in the sitemap.
Technical SEO for a NYC financial advisor. Unindexed pages down 35%, 9 duplicate articles became 2, & server response dropped to 41 ms, 4x more booked calls.