Ahrefs — SEO Architecture &
Conversion Optimization
Client’s Challenge
Ahrefs is the world’s leading SEO toolset used by millions of marketers. Despite being the industry gold standard, their digital presence needed a strategic overhaul. The homepage conversion funnel was underperforming — weak CTAs, suboptimal layout, and content architecture that didn’t match search intent.
Their semantic core consisted of thousands of unclustered keywords — no clear hierarchy, no topic clusters, no proper internal linking strategy. The blog and learning center existed as separate islands with zero connection to primary landing pages and product offerings.
Our mission: complete audit, rebuild the architecture, optimize the conversion funnel, and deliver measurable organic traffic growth within 90 days.
- Landing page conversion rate: 2.3% (industry benchmark: 4.1%)
- 12,847 raw keywords with zero clustering or silo structure
- Blog posts not linked to product pages — missed conversions
- Site architecture 4+ clicks deep for critical pages
- Zero structured data implementation across the platform
- Internal PageRank distributed unevenly across sections
How We Solved It
Technical Audit
Screaming Frog crawl of 50K+ URLs, GSC data export, Core Web Vitals baseline measurement, competitor gap analysis across 8 direct competitors.
Keyword Clustering
12,847 keywords processed through ML clustering pipeline using sentence embeddings → 47 topic silos with clear parent-child hierarchy identified.
Architecture Redesign
New hub-and-spoke structure: Hub pages → Cluster pages → Support content. Reduced critical page depth from 4+ clicks to maximum 2.
CRO Implementation
A/B tested 6 hero section variants, redesigned pricing page flow, mapped every CTA to specific conversion goals with tracking pixels.
Internal Linking
Programmatic linking strategy deployed across 312 support pages, PageRank flow optimized, anchor text matrix built for natural distribution.
Our Implementation
wcl_semantic_cluster.py
# WebCoreLab — Ahrefs Semantic Clustering Pipeline
import pandas as pd
from sklearn.cluster import AgglomerativeClustering
from se
te
ce_tra
sformers import Se
te
ceTra
sformer
class SemanticKeywordClustering:
def __i
it__(self, n_clusters=47):
self.model = Se
te
ceTra
sformer('all-Mi
iLM-L6-v2')
self.n_clusters = n_clusters
def cluster(self, keywords_df):
embeddi
gs = self.model.e
code(
keywords_df['keyword'].tolist(),
batch_size=256, show_progress_bar=True
)
clusteri
g = AgglomerativeClustering(
n_clusters=self.n_clusters,
metric='cosi
e', li
kage='average'
)
keywords_df['cluster_id'] = clusteri
g.fit_predict(embeddi
gs)
keywords_df['is_pillar'] = keywords_df.groupby('cluster_id')['volume'].tra
sform(
lambda x: x == x.max()
)
return keywords_df
# Result: 12,847 keywords → 47 silos
# Top cluster: "backli
k checker" (2.2M mo
thly searches)
# Pillar pages: 47 | Support pages: 312
clusterer = SemanticKeywordClustering(n_clusters=47)
result = clusterer.cluster(pd.read_csv('ahrefs_gsc_export.csv'))
print(f"✓ Clustered i
to {result['cluster_id'].
u
ique()} silos")
Measurable Impact
Measured 90 days after architecture deployment
“The keyword clustering approach WebCoreLab used was unlike anything we’d seen. They didn’t just reorganize our content — they fundamentally changed how Google understands our site. Rankings for ‘backlink checker’ jumped from page 3 to positions 1-3 within 8 weeks.”
— T.O., Head of Marketing, B2B SaaS Platform (NDA)