<?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>DEV Community: J-Christophe C.</title>
    <description>The latest articles on DEV Community by J-Christophe C. (@jchristophe_c_a97ec1e82).</description>
    <link>https://dev.to/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>DEV Community: J-Christophe C.</title>
      <link>https://dev.to/jchristophe_c_a97ec1e82</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jchristophe_c_a97ec1e82"/>
    <language>en</language>
    <item>
      <title>The 15-minute technical SEO audit that catches 80% of the problems</title>
      <dc:creator>J-Christophe C.</dc:creator>
      <pubDate>Fri, 12 Jun 2026 10:50:54 +0000</pubDate>
      <link>https://dev.to/jchristophe_c_a97ec1e82/the-15-minute-technical-seo-audit-that-catches-80-of-the-problems-3meb</link>
      <guid>https://dev.to/jchristophe_c_a97ec1e82/the-15-minute-technical-seo-audit-that-catches-80-of-the-problems-3meb</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%2F8xcpboxuj0wcgs3h2kah.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%2F8xcpboxuj0wcgs3h2kah.jpg" alt="The 15-minute technical SEO audit that catches 80% of the problems" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A full technical SEO audit takes hours. A strategic audit takes days. But there is a middle tier that most people skip: the 15-minute diagnostic that surfaces roughly 80% of the problems dragging an SMB site down. Free tools, logical order, no subjective judgment required.&lt;/p&gt;

&lt;p&gt;Here is the exact checklist.&lt;/p&gt;

&lt;h3&gt;
  
  
  Five infrastructure checks
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;robots.txt&lt;/strong&gt;. Open &lt;code&gt;/robots.txt&lt;/code&gt;. If you see &lt;code&gt;Disallow: /&lt;/code&gt; in production, the site is actively blocking Google. This happens more often than people think on recently launched sites that forgot to flip the staging config.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;sitemap.xml&lt;/strong&gt;. Usually at &lt;code&gt;/sitemap.xml&lt;/code&gt;. A valid sitemap lists indexable pages with canonical URLs and zero 404s. A missing or dead-link-filled sitemap sends contradictory signals.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Google Search Console Index Coverage report&lt;/strong&gt;. Look at submitted vs indexed vs excluded. A wide gap between submitted and indexed is a direct symptom of an underlying technical problem.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Mobile-friendly test&lt;/strong&gt;. A site that fails Google's mobile test loses default ranking on mobile queries, which are now the majority of traffic.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;PageSpeed Insights on mobile&lt;/strong&gt;. Core Web Vitals (LCP, CLS, INP) are direct ranking signals. Mobile LCP above 4 seconds mechanically loses position.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Ten on-page checks
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Unique title tag under 60 chars per page&lt;/li&gt;
&lt;li&gt;Unique meta description under 150 chars per page&lt;/li&gt;
&lt;li&gt;One H1 per page, logical H2/H3 hierarchy&lt;/li&gt;
&lt;li&gt;Descriptive &lt;code&gt;alt&lt;/code&gt; attributes on images (not &lt;code&gt;image1.jpg&lt;/code&gt;, not empty)&lt;/li&gt;
&lt;li&gt;Clean URLs without parameter noise&lt;/li&gt;
&lt;li&gt;Canonical tags pointing to the right version&lt;/li&gt;
&lt;li&gt;Valid structured data — test 3 random pages with Google's Rich Results Test&lt;/li&gt;
&lt;li&gt;Internal linking depth: every important page reachable in 3 clicks or less from the homepage&lt;/li&gt;
&lt;li&gt;No orphan pages (pages with zero inbound internal links — basically invisible to Google)&lt;/li&gt;
&lt;li&gt;No duplicated content blocks across pages&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Five local SEO checks
&lt;/h3&gt;

&lt;p&gt;If the business is local:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Google Business Profile claimed, complete, current&lt;/li&gt;
&lt;li&gt;NAP consistency between site and listing&lt;/li&gt;
&lt;li&gt;Recent reviews with owner responses&lt;/li&gt;
&lt;li&gt;LocalBusiness schema present on the site&lt;/li&gt;
&lt;li&gt;Presence in relevant local and sector directories&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What this checklist actually reveals
&lt;/h3&gt;

&lt;p&gt;In 15 minutes, this grid classifies a site into one of three buckets:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;No major issue&lt;/strong&gt;: safe to defer deeper audit, focus on content&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One or two targeted problems&lt;/strong&gt;: fixable in a few hours, measurable gains within 4-8 weeks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multiple structural problems&lt;/strong&gt;: needs a full audit and meaningful intervention&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This classification avoids two common mistakes: spending audit budget on a healthy site, or deferring urgent intervention on a site bleeding traffic each month.&lt;/p&gt;

&lt;h3&gt;
  
  
  The recurring hygiene
&lt;/h3&gt;

&lt;p&gt;The ROI play is not doing this once. It is doing it every three months. Sites evolve, plugins auto-update, teams publish new content without always respecting SEO standards. A quarterly 15-minute check catches drift before it calcifies.&lt;/p&gt;

&lt;p&gt;Fifteen minutes every quarter is the best ROI hour in technical SEO I know of.&lt;/p&gt;

&lt;h3&gt;
  
  
  The real insight
&lt;/h3&gt;

&lt;p&gt;Most SMBs discover issues when traffic has already dropped for months. The causal chain is almost always something a 15-minute audit would have caught: a broken sitemap after a plugin update, canonical tags pointing to staging, a robots.txt left in Disallow mode after a deploy. None of these require expertise to detect. They just require the habit of looking.&lt;/p&gt;







&lt;p&gt;📖 This article is a summary of our full study. &lt;a href="https://clickzou.fr/checklist-audit-seo-technique-15-minutes/" rel="noopener noreferrer"&gt;Read the detailed analysis on Clickzou — The 15-minute technical SEO audit that catches 80% of the problems&lt;/a&gt;`&lt;/p&gt;

</description>
      <category>seo</category>
      <category>webdev</category>
      <category>performance</category>
    </item>
    <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://dev.to/jchristophe_c_a97ec1e82/auditing-1000-french-smb-sites-the-top-technical-tier-captures-42x-the-sector-median-in-organic-1hae</link>
      <guid>https://dev.to/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://dev.to/jchristophe_c_a97ec1e82/how-we-built-a-1250-page-seo-architecture-with-nextjs-pdb</link>
      <guid>https://dev.to/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>
