Hawkwood Partners
WordPress SEO implementation and mobile speed rescue for a People & Talent search firm. Same methodology, different platform.

The Challenge
Hawkwood Partners is a specialized recruitment firm placing People and Talent professionals with growth companies across Europe and North America, with offices in London, New York, San Francisco, and Miami. The site runs on WordPress with Yoast SEO.
My own initial crawl in July 2026 found 20 of 32 URLs missing meta descriptions (including every commercial page but the homepage), a homepage title reading "Home - Hawkwood", four articles carrying placeholder slugs, no Organization schema (Yoast was still set to represent a Person), and mobile lab LCP of 8.2 to 12.7 seconds on every commercial page, driven by a CSS background-image hero.
In parallel, the client's agency delivered a full SEO and AEO audit with a deployment-ready implementation pack, which independently confirmed the same issues and added the decisive one: a 2025 migration had removed content with no redirects, leaving 15 plus URLs returning 404 while still holding search positions 3 to 8. My role was to implement that pack end to end, then cover the performance and analytics ground it did not.
What I Shipped
Implementing The Agency Pack
Deployed 25 of the pack's 27 checklist items (the remaining two are copywriting tasks): the homepage title rewrite, 13 letter-perfect meta descriptions, 13 shortened article titles, H1 demotions across four templates, five article slug renames with automatic 301s, noindex on four thin archives, bold-run to H2/H3 heading conversion across 12 articles, and CollectionPage plus Service schema. Each item was verified live after deploy, not assumed from a 200 response.
Redirect Recovery And 404-Log Operations
Shipped the 16-row redirect table (8 301s, 8 410 Gone responses via a template_redirect snippet, since the free plugin has no 410 type) and verified every row: single-hop, correct target, nothing landing on the homepage. That recovered roughly 1,316 impressions of dead URLs. Within hours the 404 log surfaced URLs the pack never listed: an entire retired job-advert section under /portfolio/, an old /blog hub with live visitors, and stray job pages. All were actioned same day, with the 410 logic switched to prefix matching so future stragglers resolve themselves.
Structured Data Without The Premium Upsell
Flipped Yoast's site representation from Person to Organization, then added the fields Yoast gates behind Premium (legalName, foundingDate 2016, description, all four offices as Place nodes, areaServed) through the free wpseo_schema_organization filter in functions.php. Built the Fractional page's FAQ the ACF way: one repeater field renders both the visible panel and the FAQPage JSON-LD, so copy and schema are structurally incapable of drifting. Verified character-exact on the live page.
Mobile LCP And The Image Overhaul
This was outside the pack. Recompressed the four hero images 90 to 94 percent (the homepage hero alone went from 1,067 KB to 67 KB), added a preload snippet that emits fetchpriority=high for each page's ACF-resolved hero (removing the roughly 2-second discovery delay inherent to CSS background heroes), and removed dead third-party requests (an unused Typekit sheet, an unused Google Font, an orphaned animation library). Then a full crawl found 130 images totaling 18.3 MB, with 34 files over 100 KB carrying 15 MB of it; all were recompressed and swapped, taking sitewide image weight to roughly 3.4 MB.
Analytics Cleanup
Found two Google tag containers feeding two separate GA4 properties, one of them an orphan splitting the traffic data. Traced the injection to a consent-plugin wizard setting, removed it, and verified across all 28 sitemap URLs that exactly one tag loads per page. Also diagnosed a duplicate form-submission event down to the plugin source code, establishing that the duplicate originated in the GA4 property configuration rather than on the page.
The Results
- Sitewide image weight: 18.3 MB to roughly 3.4 MB.
- Homepage PageSpeed Insights mobile Performance: 63 to 84; the Permanent page went 64 to 82.
- Homepage simulated mobile LCP: 12.7 s to 3.9 s (lab); homepage mobile payload 5,980 KiB to 1,243 KiB.
- Observed mobile LCP now measures 1.3 to 2.4 s across all four commercial pages, against a July lab baseline of 8.2 to 12.7 s. Stated plainly: the baseline is simulated slow-4G lab data and the after is PSI observed-metric data; no CrUX field data exists for this site, so these are engineering yardsticks, not field medians.
- Roughly 1,316 impressions of previously dead URLs now resolve through 16 verified redirects.
- Every page carries exactly one H1, Organization and FAQPage schema validate live, and the llms.txt file regenerates with the corrected metadata.
Have a Build Like This One?
Thirty minutes, your project on screen. You leave with a scoped plan and a number, whether or not we work together.