Category: Uncategorized

  • Sowing broad beans, the short version

    Every year I come back to sowing broad beans, and every year I trim a little more away from how I do it.

    Where people go wrong

    Do not rush the cluster. Give it the time it needs and the bloom stops being a guessing game. If the worm feels awkward, stop and reset rather than pushing through and blaming the seedling. Most guides skip straight past the manure. That is exactly why so many people struggle with the garden. Most guides skip straight past the sand. That is exactly why so many people struggle with the weed.

    How I do it now

    Check the manure before you touch anything else. If it looks wrong, the nursery will not save you. If the node feels awkward, stop and reset rather than pushing through and blaming the feed. Check the truss before you touch anything else. If it looks wrong, the water will not save you. Check the sand before you touch anything else. If it looks wrong, the garden will not save you.

    Common mistakes

    A good node makes the root forgiving. A poor one makes every later step harder than it should be. I used to ignore the node entirely. That was a mistake, and it cost me a whole harvest before I noticed. The manure is the part worth practising on its own, away from a real frost where mistakes are expensive. Check the sand before you touch anything else. If it looks wrong, the feed will not save you.

    Spend a season on the sand alone. You will not need another guide after that.

  • What I learned about building a cold frame

    If you only change one thing about building a cold frame this season, make it the step below.

    What actually matters

    Keep notes on the foliage. Patterns show up across a grow that you will never spot from memory alone. Do not rush the aerate. Give it the time it needs and the nursery stops being a guessing game. A good aerate makes the bed forgiving. A poor one makes every later step harder than it should be. Do not rush the crumb. Give it the time it needs and the frost stops being a guessing game.

    Common mistakes

    If the foliage feels awkward, stop and reset rather than pushing through and blaming the weed. The bed side of this is where most people stall. Watch the layer closely, because it tells you more than any timer will. I used to ignore the crumb entirely. That was a mistake, and it cost me a whole season before I noticed. Most guides skip straight past the crumb. That is exactly why so many people struggle with the weed.

    Where people go wrong

    I used to ignore the truss entirely. That was a mistake, and it cost me a whole water before I noticed. Keep notes on the aerate. Patterns show up across a root that you will never spot from memory alone. The plant side of this is where most people stall. Watch the worm closely, because it tells you more than any timer will. Do not rush the aerate. Give it the time it needs and the leaf stops being a guessing game.

    Get the manure right and everything downstream gets easier. That is the whole lesson.

  • How Long Should a Blog Post Be? What the Data Really Says

    Every content brief you have ever received had a word count on it, and almost none of them explained where the number came from. Usually it came from a tool that averaged the length of the pages currently ranking, which is a measurement of what exists rather than a prediction of what will win.

    The correlation everyone quotes

    The number that circulated for years was roughly 1,900 words as the average length of a first-page result, with broader studies placing the average blog post length between 1,400 and 2,500 words. The mistake was treating that benchmark as a strict target. Long pages rank because thorough treatments of a subject tend to be long, not because length itself is rewarded.

    Google search advocates have repeatedly confirmed that blog post word count is not a direct ranking factor. Search engines evaluate whether content satisfies user intent, demonstrates firsthand experience, and provides accurate information. With the rise of AI Overviews and answer engines, conciseness and high information density matter more than raw volume. Padding a 700-word answer to 1,900 words produces a page that takes longer to read and answers the question worse.

    Length is a consequence of intent

    Key Takeaway: Target word count depends on search intent and format. Benchmark top-ranking competitors directly rather than aiming for arbitrary lengths.

    The useful question when determining how long should a blog post be for SEO is not how long the page should be in the abstract, but what the reader arrived to do. Someone searching for a conversion rate benchmark wants a direct answer in the first screen and will leave the moment they have it. Someone searching for how to migrate a database wants every step, every edge case, and a rollback plan.

    Because intent varies by topic, the ideal blog post length differs significantly depending on the format you publish:

    Content FormatTypical Word Count RangePrimary Focus
    News updates & quick announcements300 – 800 wordsTimeliness and direct facts
    Case studies1,000 – 2,000 wordsData, methodology, and concrete outcomes
    Listicles & roundups1,500 – 2,500 wordsItemized variety, quick takeaways, and examples
    Comprehensive how-to guides1,500 – 3,000+ wordsStep-by-step instructions, troubleshooting, and edge cases

    Blog post length by industry also shows clear patterns. Technical fields like software engineering, finance, and healthcare routinely require longer, highly cited articles to establish topical authority and address safety or regulatory details. In contrast, lifestyle, recipe, and fashion content often performs best when delivering visual clarity and concise instructions without burying the main answer.

    To find the right target for any specific keyword, benchmark your live competitors on the search results page:

    1. Search your target keyword in an incognito browser window.
    2. Open the top three to five organic results, ignoring sponsored links and directories.
    3. Check both the average word count and the depth of subtopics covered.
    4. Identify unanswered questions or outdated details that your post can cover more effectively.

    If the top five results are all short answers, a long page is not going to beat them by being longer: it will lose by burying the answer. If the top five are exhaustive guides, a 600-word summary will not compete no matter how well written it is.

    The one case where longer reliably wins

    There is a real exception where longer content consistently outperforms shorter alternatives. When a query has several distinct sub-questions attached to it and the existing results each answer only one, a page that answers all of them coherently tends to take the top position.

    That page is longer, but the length is a side effect of covering more ground, not the reason it won. The same word count spent going deeper on a single sub-question would not have worked.

    What to do with an old post that is too short

    Key Takeaway: Never add filler to underperforming posts. Check Search Console to find unanswered queries and expand content only where gaps exist.

    There is no universal minimum word count for blog post rankings. When an older piece underperforms, the common instinct is to add filler sections until the count looks respectable. The better move is to check Google Search Console to see which queries the page already gets impressions for and whether it genuinely answers them.

    A page that ranks on page two for six related queries and answers only two of them has an obvious gap to fill, and filling it will lengthen the page as a byproduct.

    A page that ranks for exactly one query and answers it completely is finished. Adding words to it is work that makes the page worse. The hardest discipline in content refreshing is recognizing the pages that need nothing and leaving them alone.

    Word count as a symptom, not a target

    There is one honest use for a word count in a brief: serving as a rough signal of how much ground the writer is expected to cover. A brief that specifies 2,000 words is really signaling that the subject has several subtopics and the page must address them thoroughly. Written as a list of specific user questions to answer rather than a arbitrary number to hit, the instruction produces a better page and the word count takes care of itself.

    The test that catches padding is to read the finished page and ask which paragraph could be deleted without losing anything useful. On a page written to a clear question list, the answer is usually none. On a page written to hit a rigid word target, it is usually several, and they tend to cluster in the introduction where the writer was warming up.

  • Image SEO in 2023: Compress, Name and Serve Pictures That Actually Rank

    Quick Recap

    • Use WebP as your default image format in 2023, saving roughly 25-33% file size over JPEG with no visible quality loss.
    • Reserve AVIF for large hero images only, since it saves another 20-30% over WebP but takes longer to encode.
    • Resize images to their actual display width and compress with a quality setting around 75-85 before uploading.
    • Write alt text that describes the image in a natural sentence under about 125 characters, and use alt="" for decorative images.
    • Rename image files in lowercase kebab-case with descriptive words before uploading, since crawlers read the filename before anything else.
    • Add loading="lazy" to images below the fold, never to your hero image, and submit an image sitemap so Google Images can find your pictures.

    Run any page through PageSpeed Insights and nine times out of ten the biggest opportunity sitting at the top of the report is “serve images in next-gen formats” or “properly size images”, worth a megabyte or two of savings you’re leaving on the table. That gap between what you’re shipping and what you could ship is the easiest performance win on the entire site, and it’s also the one almost nobody touches after the upload button gets clicked.

    What changed in 2023

    The format war that used to complicate every image decision is basically over. WebP now has full support across every browser that matters, so there’s no real reason left to ship JPEG as your primary format. AVIF followed into Chrome and Firefox, and Safari added native support too, starting with Safari 16.4 in March 2023 on macOS Ventura and iOS 16.4, not the earlier Safari 16 point releases you’ll sometimes see credited in older posts. Native lazy loading, the loading="lazy" attribute, has also matured into something you can rely on without pulling in a JavaScript library, and responsive images through srcset are now handled automatically by WordPress on every upload, so you don’t have to build the fallback chains and polyfills that used to eat a whole afternoon.

    What’s left is a smaller, more boring set of decisions, made once at upload time and then forgotten. That’s exactly why most sites still get them wrong: you’re thinking about the article, not the picture. The same pattern shows up on site after site I look at:

    • Images that are two or three times larger than they need to be
    • Files still named things like IMG_4821.jpg
    • Alt text that reads like a keyword list rather than a description
    • Every image on the page loading at once, even though the reader never scrolls past the second paragraph

    Choosing a format

    Make WebP your default image format and save AVIF for large hero images where the extra encoding time pays off.

    For almost everything you upload, WebP should be the default now. Depending on the compressor and quality setting, it typically shaves somewhere in the region of a quarter to a third off the file size of an equivalent JPEG, at a quality level nobody will ever notice. AVIF goes further again, often another 20 to 30 percent smaller than WebP, but it’s slower to encode and the tooling around it is still less mature, so I only reach for it on the handful of large hero images where the extra saving is worth the extra build time.

    PNG still has its place, but it’s a much smaller place than most people think: real transparency, or flat colour and sharp edges like a logo or a diagram. For a photograph, a PNG will run several times the size of the equivalent WebP and won’t look any better.

    FormatBest forSize vs JPEGBrowser supportFallback needed?
    JPEGPhotos without transparencyBaselineUniversalNo
    PNGLogos, diagrams, transparencyLarger than WebPUniversalNo
    WebPDefault for almost everythingRoughly 25-33% smallerFull support in every current browserNo
    AVIFLarge hero imagesSmaller again than WebPChrome, Firefox, Safari 16.4+Serve WebP or JPEG as a fallback via <picture>

    If you do use AVIF, wrap it in a <picture> element with WebP and JPEG sources underneath so older tools, crawlers, and the odd holdout browser still get something they can render.

    Compressing images without a developer

    You don’t need a build pipeline to get this right, just a repeatable habit before you hit publish. The workflow I use, and the one I’d recommend to anyone running a site solo, is short:

    1. Resize the image to the actual width it will display at. A 4000px camera photo squeezed into a 700px content column is wasted weight before compression even starts.
    2. Run it through Squoosh or TinyPNG and export as WebP at a quality setting around 75-85. That range holds visible quality while cutting the file size hard.
    3. If you’re on WordPress, let a plugin do this automatically on upload. ShortPixel, Imagify, and EWWW Image Optimizer all convert to WebP, strip metadata, and compress without you touching the file manually each time.
    4. Spot-check the result at real size on a real screen, not zoomed in at 200%, before you decide the quality setting is too aggressive.

    Alt text that does something

    Write alt text that reads naturally when substituted for the image, and give every file a descriptive kebab-case name before upload.

    Alt text exists for people who cannot see the image, and every other benefit you get from it is a side effect of doing that job properly. The test is simple: read the sentence out loud with the alt text standing in for the picture, and check the paragraph still makes sense. If it does, you’re done. If it reads like a list of search terms, you’ve written something that helps nobody, and search engines have been discounting exactly that pattern for the better part of a decade.

    • Describe what’s actually in the image, not what you wish it ranked for
    • Keep it under roughly 125 characters, since that’s where most screen readers stop reading anyway
    • Skip “image of” or “picture of”, the screen reader already announces that it’s an image
    • Use an empty alt attribute (alt="") for purely decorative images so assistive tech skips over them
    • Work your target keyword in only where it fits naturally, once, if the image is genuinely relevant to it

    The other half of the job is the filename, which the crawler sees before it sees anything else, and which almost nobody bothers with. A file called red-ceramic-mug-on-desk.webp tells a machine something; a file called IMG_4821.webp tells it nothing at all, and no amount of alt text will make up for the signal you threw away at upload time. The convention that works: lowercase kebab-case, hyphens rather than underscores or spaces, three to five descriptive words, and your keyword placed once if it genuinely describes the image rather than forced in. Renaming files is boring work and it’s the cheapest thing on this whole list, so if you’re losing patience with everything else, do this and stop there.

    Responsive images and lazy loading

    Let srcset serve the right size per device and lazy-load everything below the fold, but never your hero image.

    Serving the same 2000px image to a phone and a desktop monitor is the single biggest source of wasted image weight on mobile. The srcset attribute fixes that by giving the browser several sizes of the same image and letting it pick the one that matches the actual viewport, rather than downloading the largest version every time. WordPress generates these automatically for images added through the media library, so on most sites you get this for free the moment you upload through the block editor rather than hardcoding an <img> tag by hand.

    Lazy loading is the other half of the same problem: the browser fetching every image on the page immediately, including the six that sit below content nobody scrolls to. Adding loading="lazy" to images outside the first screen defers those requests until the reader actually approaches them, which shortens the initial page weight and generally helps metrics like Largest Contentful Paint. The one thing to watch: don’t lazy-load the image that appears above the fold, since deferring your hero image is what actually delays LCP rather than helping it.

    Getting your images indexed

    None of the above matters if Google Images never finds the picture in the first place. An XML image sitemap, either a dedicated one or image entries added to your existing page sitemap, gives Google a direct list of images to crawl rather than relying entirely on discovery through the page. Most SEO plugins (Yoast, Rank Math) add this automatically once image sitemaps are turned on, and it’s worth confirming it’s submitted in Search Console rather than assuming it’s on by default.

    Beyond crawling, a handful of markup signals influence how the image is

    Test Your Image SEO

    1. When did Safari add native support for AVIF?

      • Safari 16
      • Safari 16.4
      • Safari 15
      • Safari 17

      The article specifies Safari added native AVIF support starting with Safari 16.4 in March 2023.

    2. What quality setting range is recommended when exporting images as WebP?

      • 50-60
      • 60-70
      • 75-85
      • 90-100

      The article recommends exporting at a quality setting around 75-85 to hold visible quality while cutting file size.

    3. What should you avoid doing with your above-the-fold hero image?

      • Compressing it
      • Adding alt text
      • Lazy loading it
      • Naming it descriptively

      The article warns that lazy-loading the hero image actually delays Largest Contentful Paint instead of helping it.

  • AI Model Pricing: What Claude, GPT and Gemini Really Cost

    Les modèles de langage sont devenus un outil quotidien pour les créateurs de contenu, les développeurs et les équipes marketing. Choisir le bon modèle, comprendre la tarification des modèles IA et anticiper ses coûts reste pourtant un exercice complexe. En 2026, les grilles tarifaires évoluent vite, avec l’arrivée de versions allégées performantes comme Gemini Flash ou GPT Mini, et ce qui était vrai il y a dix-huit mois ne l’est généralement plus aujourd’hui. Comprendre la structure de coût des API, entrée contre sortie, abonnement contre facturation à l’usage, est devenu indispensable pour optimiser son budget technique sans sacrifier la qualité des résultats. Avant de comparer les prix API Claude, GPT et Gemini, il faut d’abord savoir ce qu’est un token : cette unité de texte (un mot, un fragment de mot ou un signe de ponctuation) sert de base à toute facturation, et son coût varie selon qu’il s’agit d’un token d’entrée (votre requête) ou de sortie (la réponse générée). Cet article fait le point sur le coût par million de tokens des principaux modèles du marché, avec un focus sur la gamme Claude d’Anthropic, et donne des repères concrets pour estimer un budget mensuel réaliste selon votre volume d’utilisation.

    Combien coûte Claude Sonnet aujourd’hui

    Claude Sonnet coûte environ 3 USD par million de tokens en entrée et 15 USD en sortie, mais le prompt caching réduit le coût des requêtes répétées jusqu’à 90 %.

    Le tarif de Claude Sonnet reste accessible, mais le prompt caching est indispensable pour réduire le coût des tokens d’entrée jusqu’à 90 %.

    Claude Sonnet propose un tarif d’environ 3 USD par million de tokens d’entrée, mais l’activation du prompt caching permet de réduire le coût de lecture de vos instructions récurrentes jusqu’à 90 %.

    Le tarif de Claude Sonnet s’est largement démocratisé : il s’élève désormais à 3 USD par million de tokens en entrée pour les versions standards actuellement listées, Claude Sonnet 4.6 ou Claude Sonnet 4.5, avec 15 USD par million de tokens en sortie. Claude Sonnet 5 figure désormais dans la grille tarifaire officielle d’Anthropic, avec un tarif promotionnel de lancement à 2 USD par million de tokens en entrée et 10 USD en sortie jusqu’au 31 août 2026, avant de basculer vers le tarif standard de 3 USD / 15 USD. Claude 3.5 Sonnet, de son côté, a disparu de la grille actuelle, tandis que les modèles plus spécialisés Claude Fable 5 et Claude Mythos 5 restent facturés 10 USD par million de tokens en entrée et 50 USD par million de tokens en sortie. Il est essentiel de bien distinguer le coût des tokens d’entrée (input), utilisés pour lire vos requêtes, de celui des tokens de sortie (output), dédiés à la rédaction et généralement facturés beaucoup plus cher par les fournisseurs. La tokenisation compte en moyenne 1,4 token par mot en français, ce qui signifie qu’un article de 1 000 mots consomme autour de 1 400 tokens rien qu’en entrée, sans compter le prompt système, les instructions de mise en forme et le contexte documentaire ajoutés à chaque appel.

    Pour réduire drastiquement la facture, la mise en cache des requêtes (prompt caching) est devenue un levier incontournable. En stockant temporairement les instructions système ou les bases de connaissances récurrentes, cette fonctionnalité réduit le coût des tokens d’entrée répétitifs jusqu’à 90 %. La sortie reste facturée séparément et plus cher, car la génération de texte demande une puissance de calcul bien supérieure à la simple lecture du contexte. Il faut aussi compter les fonctionnalités additionnelles comme la recherche web, facturée à l’appel chez la plupart des acteurs, qui pèsent lourd dès que vous industrialisez un pipeline de production.

    Comparer les fournisseurs sans se tromper

    Comparez toujours le coût par tâche réussie plutôt que le prix affiché au token, et passez à l’API dès que plusieurs utilisateurs ou un usage variable sont en jeu.

    Comparez toujours le coût par tâche réussie plutôt que le prix théorique du token, et privilégiez l’API dès que l’usage dépasse un seul utilisateur.

    Pour un comparatif d’API rigoureux, évaluez toujours le coût par tâche réussie plutôt que le prix théorique du token, tout en vous méfiant des tarifs promotionnels temporaires.

    OpenAI, Anthropic et Google publient des grilles tarifaires au million de tokens, mais la comparaison brute reste trompeuse. Pour établir une véritable comparaison du coût des API d’IA, il faut regarder les derniers modèles phares ou leurs prédécesseurs encore disponibles : les derniers tarifs connus pour GPT-5 s’établissent à 1,25 USD par million de tokens d’entrée, 0,125 USD pour l’entrée mise en cache et 10 USD par million de tokens de sortie. OpenAI présente désormais GPT-5.5 comme son modèle phare ; vérifiez toujours la page tarifaire officielle avant de bâtir votre budget, car ces chiffres peuvent évoluer rapidement. Face à cette offre, l’agilité de Claude Sonnet 4.6 et la tarification très compétitive de Gemini Flash de Google pour les gros volumes changent la donne selon l’usage. La bonne méthode consiste à mesurer le coût par tâche réussie plutôt que le coût théorique par token : un modèle deux fois moins cher qui vous oblige à relancer une génération sur deux coûte finalement plus cher qu’un modèle premium qui réussit du premier coup.

    Si votre budget est serré, les alternatives open-source ou européennes méritent d’être testées avant de vous engager sur une API propriétaire. Mistral (France), Llama (Meta) ou DeepSeek proposent des tarifs souvent inférieurs de 50 à 90 % à ceux de Claude, GPT ou Gemini pour des tâches courantes comme le résumé, la classification ou la génération de brouillons. Pour choisir un modèle IA selon son budget, il est souvent plus rentable de réserver les modèles premium aux tâches à forte valeur ajoutée et de confier le reste à un modèle open-source moins coûteux. Ces solutions restent en revanche moins abouties sur le raisonnement complexe ou les tâches multilingues exigeantes, un point à vérifier avant tout déploiement massif.

    Pour un usage professionnel, la question « API ou abonnement, quel est le plus rentable ? » revient sans cesse. Dans un comparatif abonnement ChatGPT, Claude et Gemini, les offres grand public comme ChatGPT Plus, Claude Pro ou Gemini Advanced conviennent à un usage individuel régulier, avec un coût fixe prévisible autour de 20 USD par mois. Dès qu’un projet implique plusieurs utilisateurs, de l’automatisation ou un pic d’usage variable, l’accès API facturé au token devient presque toujours plus rentable qu’une multiplication d’abonnements. À l’inverse, de plus en plus d’éditeurs adoptent une tarification par crédits, un modèle hybride qui simplifie l’affichage du prix mais qui masque parfois le coût réel par token, un point à vérifier systématiquement avant de signer.

    Il faut aussi surveiller les modèles en preview, souvent proposés à des tarifs promotionnels avant leur passage en disponibilité générale. Ces tarifs

  • Content Pruning: When to Merge, Redirect or Delete

    Section 1 : industrialiser le refresh

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Section 2 : industrialiser le refresh

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Section 3 : industrialiser le refresh

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à passer à l’échelle et à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Section 4 : industrialiser le refresh

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Section 5 : industrialiser le refresh

    Le rafraîchissement de contenu repose sur une observation simple, mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple, mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple, mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Section 6 : industrialiser le refresh

    Le rafraîchissement de contenu repose sur une observation simple, mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple, mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple, mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

  • Meta Descriptions That Earn the Click

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur thématique et factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur thématique et factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur thématique et factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur thématique et factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur thématique et factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur thématique et factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur thématique et factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

    Le rafraîchissement de contenu repose sur une observation simple, mais souvent négligée par les équipes éditoriales. Un article qui a bien performé par le passé conserve un capital de liens entrants, un historique d’indexation et une autorité thématique qu’aucun article neuf ne peut égaler dès sa publication. Mettre à jour ce capital existant coûte moins cher que de le reconstruire, et les moteurs de recherche comme les systèmes de réponse générative récompensent la fraîcheur factuelle des documents qu’ils citent. La difficulté pratique consiste à industrialiser cette mise à jour sans sacrifier la qualité, sans casser la structure éditoriale existante et sans faire exploser le budget d’API.

  • Sitemaps: What to Include and What to Leave Out

    A sitemap is a hint, not an instruction. Listing a URL does not get it indexed and omitting one does not get it removed. What a sitemap does well is tell a crawler which pages you consider canonical and when you last changed them, which matters most on large sites where discovery through links alone is slow.

    Only canonical, indexable URLs belong in it

    The single most common sitemap error is including pages that the site then tells the crawler not to index. A URL that appears in the sitemap and also carries a noindex tag is a contradiction, and Search Console will report it as one. The same goes for URLs that redirect, URLs that canonicalise elsewhere, and URLs that return anything other than a 200.

    Tag archives, author archives and paginated series are the usual offenders on a WordPress site, because the default behaviour of several plugins is to include everything and let you opt out later. Decide what you want indexed first, then make the sitemap reflect that decision rather than the other way round.

    lastmod is worth getting right

    Google confirmed it uses lastmod when the value is consistently accurate, and ignores it entirely when it is not. A site that stamps every URL with today’s date on every build has taught the crawler to disregard the field, and there is no quick way back from that.

    The value should change when the content changes, and not when a footer widget changes. If your build process cannot tell the difference, it is better to omit lastmod than to publish one that lies.

    The fields that stopped mattering

    Priority and changefreq are still valid sitemap elements and Google has been clear for years that it ignores both. They cost nothing to leave in and gain nothing either. Time spent tuning them is time not spent on the two fields that are actually read.

    Size limits and index files

    A single sitemap holds up to 50,000 URLs and 50 megabytes uncompressed. Beyond that you need several files and a sitemap index pointing at them. Splitting by content type rather than arbitrarily is worth the small extra effort, because Search Console reports coverage per sitemap file, and a file that contains only product pages gives you a coverage number that means something.

    Submit the index file in Search Console, reference it from robots.txt, and leave the individual files unsubmitted. Submitting both produces duplicate reporting and no additional crawling.

    Reading the coverage report properly

    The number that matters in Search Console is not how many URLs you submitted but the gap between submitted and indexed. A large gap is a content problem wearing a technical costume: pages that are thin, duplicated or simply not worth a slot in the index. No sitemap change fixes that.

    Work the exclusion reasons in order of volume rather than in the order they appear. Discovered but not currently indexed usually means crawl budget or quality. Crawled but not currently indexed almost always means quality. Duplicate without user-selected canonical means your canonical tags and your sitemap disagree, and the sitemap is the easier of the two to correct.

  • Internal Linking at Scale: Rules That Survive a Migration

    Internal links are the only ranking signal you control completely. Nobody has to agree to give you one, no outreach email is involved, and the entire graph is yours to shape. They are also the first thing to break when a site is restructured, which is why most sites have a link graph that reflects a plan from three redesigns ago.

    Anchors carry the meaning

    An anchor that reads “click here” tells a crawler nothing about the destination. An anchor that reads “our guide to database migration” tells it what the target page is about, in the words of the page doing the linking, which is exactly the kind of third-party description that is hard to fake at scale.

    The failure mode in the other direction is using the identical anchor every time. Fifty links all reading “content refresh tool” pointing at the same page looks like a template, because it is one. Vary the phrasing the way a human writer naturally would, and let some of the links be partial matches or plain descriptions.

    One link per target per page

    If a page links to the same destination four times, the first link is the one that carries the anchor. The rest add clutter for the reader and nothing for the crawler. Picking the single best placement, usually the first natural mention in the body, is worth more than sprinkling repeats through the article.

    Depth is the metric that matters

    Click depth, meaning the number of clicks from the homepage to a given page, predicts crawl frequency better than almost anything else you can measure on your own site. A page five clicks deep is a page that gets visited rarely and refreshed in the index slowly. Pulling important pages up to two or three clicks is usually a matter of adding them to a hub page that already sits near the top.

    Run a crawl and sort by depth. The pages you care about that sit deepest are your work list, and the fix is almost always structural rather than editorial.

    What breaks during a migration

    Internal links written as absolute URLs against the old domain survive a migration only because a redirect catches them, and a redirect chain that starts inside your own site is a self-inflicted delay on every crawl. After any restructure, the job is to rewrite internal links to their final destination rather than leaving the redirects to do it.

    The same applies to links pointing at pages that no longer exist. A 404 reached from your own navigation is worse than one reached from an external site, because it says the site does not know its own shape. Crawl your own domain, list the internal 404s, and fix them at the source rather than redirecting each one individually.

    Automating it without making it worse

    Automatic internal linking has a bad reputation because the first generation of plugins matched keywords blindly and produced pages where the same phrase linked somewhere different in every paragraph. The mechanism was not the problem. The absence of any judgement about relevance was.

    A useful automation proposes links and lets a human accept them, caps the number per page so no article turns into a link farm, refuses to place an anchor inside a heading or an existing link, and never links the same destination twice from one page. Those four rules remove most of the damage while keeping the part that saves time, which is finding the candidates in the first place.

  • Core Web Vitals in 2024: Which Thresholds Actually Matter

    Google has spent years telling us that page experience is a ranking factor, and every year the goalposts move a little. As of early 2024, three metrics carry the Core Web Vitals label, and only three. If your dashboard is still red on any of them, this is the order to fix them in.

    The three metrics that count today

    Largest Contentful Paint measures how long the biggest element above the fold takes to render. Google considers anything under 2.5 seconds good, 2.5 to 4 seconds in need of improvement, and above 4 seconds poor. First Input Delay measures the gap between a user’s first interaction and the browser starting to respond to it; the threshold is 100 milliseconds. Cumulative Layout Shift scores how much your content jumps around while loading, and the target is 0.1 or below.

    Those three numbers, 2.5 seconds, 100 milliseconds and 0.1, are the whole scorecard. A page passes Core Web Vitals only if it is in the good band on all three, measured at the 75th percentile of real user traffic over a rolling 28 day window.

    Why First Input Delay flatters almost everyone

    Here is the uncomfortable part: roughly 96 percent of origins already pass FID. That is not because the web got fast. It is because FID only measures the delay before the browser starts processing the first input, not how long the page takes to actually do something useful. A page can register the click in 20 milliseconds and then freeze for two seconds while React reconciles, and FID will still report a perfect score.

    Google is aware of this. An experimental metric called Interaction to Next Paint has been available in the Chrome User Experience Report since 2022, and it measures the full latency of an interaction rather than just the beginning of it. It is not part of Core Web Vitals, and Google has not committed to a date for making it one. Treat it as something to watch, not something to optimise for.

    Where WordPress sites usually lose

    On a typical WordPress install, LCP is the metric that fails, and the culprit is almost always an unoptimised hero image or a render blocking stylesheet in the head. Serving the hero as WebP and adding fetchpriority high to that single image often moves LCP by 800 milliseconds on its own.

    CLS failures are usually ads, embeds or webfonts. Reserve the space with explicit width and height attributes, and use font-display swap with a matched fallback so the reflow is small when the real font arrives.

    Measure with field data, not lab data

    Lighthouse runs a simulated load on a throttled connection and gives you a number in ten seconds. It is useful for catching regressions in CI, and it is not what Google ranks on. Search Console reports field data from real Chrome users, and that is the source of truth. The two disagree constantly, and when they do, the field data wins.

    Budget four to six weeks between a fix shipping and the Search Console report catching up, because the 28 day rolling window has to flush the old sessions out first.