<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: J-Christophe C.</title>
    <description>The latest articles on Forem by J-Christophe C. (@jchristophe_c_a97ec1e82).</description>
    <link>https://forem.com/jchristophe_c_a97ec1e82</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3820489%2Ffe298cb4-3a2f-4ec8-927f-eeb8bf134f7c.jpg</url>
      <title>Forem: J-Christophe C.</title>
      <link>https://forem.com/jchristophe_c_a97ec1e82</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/jchristophe_c_a97ec1e82"/>
    <language>en</language>
    <item>
      <title>Auditing 1,000 French SMB sites: the top technical tier captures 4.2x the sector median in organic traffic</title>
      <dc:creator>J-Christophe C.</dc:creator>
      <pubDate>Tue, 12 May 2026 12:21:50 +0000</pubDate>
      <link>https://forem.com/jchristophe_c_a97ec1e82/auditing-1000-french-smb-sites-the-top-technical-tier-captures-42x-the-sector-median-in-organic-1hae</link>
      <guid>https://forem.com/jchristophe_c_a97ec1e82/auditing-1000-french-smb-sites-the-top-technical-tier-captures-42x-the-sector-median-in-organic-1hae</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsbwgbfr5a2fh4grvrdxd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsbwgbfr5a2fh4grvrdxd.jpg" alt="Auditing 1,000 French SMB sites: the top technical tier captures 4.2x the sector median in organic traffic" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Over several months, we audited 1,000 French SMB sites using a unified protocol — same criteria, same tools, same thresholds. The goal: identify what actually separates sites capturing organic traffic from sites that stagnate. The results are sharper than we expected.&lt;/p&gt;

&lt;h3&gt;
  
  
  The headline number
&lt;/h3&gt;

&lt;p&gt;Technically top-tier sites — those that pass Core Web Vitals, carry valid structured data, and use a coherent semantic architecture — capture on average 4.2x the sector-median organic traffic. Not 20% more. Not double. Over four times.&lt;/p&gt;

&lt;p&gt;This gap does not close with isolated content pushes or ad campaigns. It widens month over month because technical signals compound. Sites starting late watch competitors consolidate.&lt;/p&gt;

&lt;h3&gt;
  
  
  Three major findings
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Average SEO score for French SMBs sits at 43/100.&lt;/strong&gt; That is low. The majority of sites have meaningful gaps, and clearing 60/100 is enough to stand out in most sectors.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Average mobile Lighthouse score: 42/100.&lt;/strong&gt; Only 18% clear Google's "Good" threshold. Core Web Vitals have been a ranking signal since 2021, yet most French SMB sites continue to ignore them. For a competitor willing to invest, this is a structural opportunity.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Over 65% of agency-built sites shipped with structural SEO errors.&lt;/strong&gt; Duplicate title tags, missing structured data, flat architecture, uncompressed images. Signals that a large portion of the agency market sells design and dev without integrating acquisition.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Laggard sectors are the biggest opportunities
&lt;/h3&gt;

&lt;p&gt;Sector disparities are pronounced. Legal sits in the bottom three with law firm averages near 28/100. Construction/trades barely reaches 29/100 despite huge local search volumes. Healthcare professions also trail.&lt;/p&gt;

&lt;p&gt;These lags are not anomalies — they are opportunities. Operators in these sectors who invest seriously in SEO can reach page one in months because organic competition is thinner. ROI is mechanically faster than in saturated sectors.&lt;/p&gt;

&lt;h3&gt;
  
  
  What the top 18% actually do differently
&lt;/h3&gt;

&lt;p&gt;Analyzing sites scoring above 65/100, five patterns appear consistently:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Semantic silo architecture — not an administrative site map, but a mesh of pages organized by search intent&lt;/li&gt;
&lt;li&gt;Core Web Vitals validated in real-user conditions, not just Lighthouse-in-dev-tools&lt;/li&gt;
&lt;li&gt;Regular editorial publishing — minimum 2 articles per month&lt;/li&gt;
&lt;li&gt;Contextual internal linking — at least 3 internal links per content page, pointing to other pages in the same silo&lt;/li&gt;
&lt;li&gt;Structured data matched to content type, tested and valid&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;None of these is expensive. All are systematically neglected by sites that plateau.&lt;/p&gt;

&lt;h3&gt;
  
  
  The compounding power of regular content
&lt;/h3&gt;

&lt;p&gt;One number worth isolating: companies publishing at least 2 articles per month saw organic traffic grow by 67% over 12 months on average. This is not the explosive outliers — it is the average for disciplined publishers. Modest but consistent editorial output produces steady compound growth.&lt;/p&gt;

&lt;p&gt;Sites publishing episodically, without a structured content plan, stagnate or decline. SEO rewards continuity, not sprints.&lt;/p&gt;

&lt;h3&gt;
  
  
  Launch quality determines the trajectory
&lt;/h3&gt;

&lt;p&gt;Among sites reaching strong SEO levels, the vast majority applied a complete checklist at launch. Sites launched without verification reach their first meaningful organic traffic roughly 6 weeks later on average. That starting gap hardens into a structural gap that is hard to recover.&lt;/p&gt;




&lt;p&gt;📖 This article is a summary of our full study. &lt;a href="https://clickzou.fr/analyse-seo-1000-sites-entreprises-francaises/" rel="noopener noreferrer"&gt;Read the detailed analysis on Clickzou — Auditing 1,000 French SMB sites: the top technical tier captures 4.2x the sector median in organic traffic&lt;/a&gt;&lt;/p&gt;

</description>
      <category>seo</category>
      <category>research</category>
      <category>webperf</category>
      <category>webdev</category>
    </item>
    <item>
      <title>How we built a 1,250-page SEO architecture with Next.js</title>
      <dc:creator>J-Christophe C.</dc:creator>
      <pubDate>Thu, 12 Mar 2026 13:49:13 +0000</pubDate>
      <link>https://forem.com/jchristophe_c_a97ec1e82/how-we-built-a-1250-page-seo-architecture-with-nextjs-pdb</link>
      <guid>https://forem.com/jchristophe_c_a97ec1e82/how-we-built-a-1250-page-seo-architecture-with-nextjs-pdb</guid>
      <description>&lt;p&gt;Late 2025, we decided to rebuild our agency website from scratch. Not a theme swap. A full structural rebuild designed for SEO at scale.&lt;/p&gt;

&lt;p&gt;The result: 1,250 pages, 7 semantic silos, 676 programmatic pages, and a performance-first stack. Here's the technical breakdown.&lt;/p&gt;

&lt;p&gt;Why we left WordPress&lt;br&gt;
Our WordPress site worked, but it couldn't scale. Load times exceeded 3 seconds. Lighthouse scores were poor. Adding hundreds of long-tail pages required plugins on top of plugins. And the SEO architecture was nonexistent — no silos, random internal linking, unoptimized URLs.&lt;/p&gt;

&lt;p&gt;We needed a stack that could generate 1,000+ static pages at build time with zero runtime overhead.&lt;/p&gt;

&lt;p&gt;Our SEO silo architecture&lt;br&gt;
We structured the site into 7 semantic silos, each with a pillar page and satellite articles. The silos cover our core business verticals: web creation, redesign, SEO, Google Ads, local SEO, agency pages, and SEO tools.&lt;/p&gt;

&lt;p&gt;Each silo follows a strict hierarchy: pillar page → satellite articles → programmatic pages. Internal links flow upward (satellites → pillar) and laterally (satellite → satellite), creating topical authority clusters.&lt;/p&gt;

&lt;p&gt;Programmatic pages&lt;br&gt;
The biggest scale lever: programmatic content generation. We built 7 TypeScript template files that generate pages by combining professions, cities, and project types.&lt;/p&gt;

&lt;p&gt;silo-creation-metier.ts: 128 pages for "website creation for [profession]"&lt;br&gt;
silo-pages-locales.ts: 200 pages crossing cities × professions&lt;br&gt;
silo-seo-metier.ts: 109 pages for "SEO for [profession]"&lt;br&gt;
Total: 676 programmatic pages, each with unique structured data, internal links to its silo pillar, and adapted CTAs. All generated at build time via SSG.&lt;/p&gt;

&lt;p&gt;Internal linking strategy&lt;br&gt;
Every article contains a minimum of 3 contextual internal links. We enforce a 70/30 ratio: 70% intra-silo links, 30% cross-silo links.&lt;/p&gt;

&lt;p&gt;To manage this at scale, each article has a relatedSlugs field — an array of exactly 3 slugs that generate related article cards at the bottom of the page. Automated, consistent, maintainable.&lt;/p&gt;

&lt;p&gt;Next.js and performance&lt;br&gt;
The stack: Next.js 14+ (App Router), TypeScript, Tailwind CSS, Framer Motion.&lt;/p&gt;

&lt;p&gt;Key technical decisions:&lt;/p&gt;

&lt;p&gt;SSG everywhere: Every page is pre-rendered at build time. The dynamic route [slug]/page.tsx serves all 1,200+ articles from a single component.&lt;br&gt;
TypeScript-first: All articles are strictly typed. A malformed article fails at compile time, not in production.&lt;br&gt;
WebP images: All 1,914 blog images converted to WebP. Target: &amp;lt; 150KB per image.&lt;br&gt;
Font preloading: Plus Jakarta Sans + Space Grotesk loaded via next/font with display: swap.&lt;br&gt;
Lazy animations: Framer Motion components loaded only when visible to avoid TBT impact.&lt;br&gt;
Lighthouse targets: 80+ performance, 90+ SEO, 90+ accessibility across all pages.&lt;/p&gt;

&lt;p&gt;Publication pipeline&lt;br&gt;
We implemented a 3-status publication system: draft → scheduled → published. Articles are filtered at build time — drafts and future-scheduled content never reaches the production bundle.&lt;/p&gt;

&lt;p&gt;function isPublished(article: BlogArticle): boolean {&lt;br&gt;
  if (!article.status || article.status === "published") return true;&lt;br&gt;
  if (article.status === "scheduled" &amp;amp;&amp;amp; article.publishDate) {&lt;br&gt;
    return new Date(article.publishDate) &amp;lt;= new Date();&lt;br&gt;
  }&lt;br&gt;
  return false;&lt;br&gt;
}&lt;br&gt;
What we learned&lt;br&gt;
Building a 1,250-page SEO ecosystem taught us that information architecture matters more than any single technical optimization. Programmatic content is an underused lever. And internal linking at scale requires automation — manual linking doesn't survive past 100 pages.&lt;/p&gt;

&lt;p&gt;Full case study: &lt;a href="https://clickzou.fr/refonte-site-clickzou-architecture-seo-1250-pages-nextjs" rel="noopener noreferrer"&gt;https://clickzou.fr/refonte-site-clickzou-architecture-seo-1250-pages-nextjs&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>seo</category>
      <category>webdev</category>
      <category>typescript</category>
    </item>
  </channel>
</rss>
