Ce guide s'adresse à l'équipe technique qui intègre Nonli sur le site d'un éditeur. Nonli vous fournit aussi une page de configuration personnalisée avec les valeurs propres à votre domaine.
1. Whitelister nos adresses IP#
Pour éviter que nos crawlers soient bloqués, autorisez les adresses IP suivantes sur vos serveurs, votre pare-feu ou votre WAF.
| OVH | Hetzner | |
|---|---|---|
| 51.77.188.71 | 130.211.76.244 | 167.235.24.250 |
| 51.83.116.244 | 104.155.62.41 | 167.235.65.20 |
| 51.255.141.214 | 34.77.85.234 | 116.203.102.173 |
| 51.68.75.27 | 77.42.68.147 | |
| 51.38.196.174 | 89.167.4.248 | |
| 54.36.13.238 | 89.167.13.146 | |
| 54.36.18.68 | 46.224.230.139 |
Vous pouvez aussi récupérer la liste à jour automatiquement : www.nonli.com/crawler-ips.json (structuré) ou www.nonli.com/crawler-ips.txt (texte brut).
2. Choisir le domaine du SDK#
Pour des raisons de sécurité et de RGPD, le SDK doit tourner sur un sous-domaine de votre domaine principal. Créez un enregistrement CNAME :
l.votredomaine.com → CNAME → tls.non.li
Important : n'activez pas le proxy Cloudflare (nuage orange) sur cet enregistrement. Il entrerait en conflit avec notre propre proxy Cloudflare, laissez-le donc en DNS only (nuage gris).
Nonli figure sur la liste CNIL des solutions exemptées de consentement. Depuis le 22 janvier 2025, notre SDK et notre raccourcisseur de liens ne déposent plus aucun cookie, donc aucune donnée personnelle de vos utilisateurs n'est collectée.
3. Installer le SDK#
Ajoutez ce script à la fin de vos pages d'articles, et de toute page susceptible d'être partagée sur les réseaux sociaux. Renseignez votre sous-domaine SDK ci-dessous et copiez le snippet généré.
Vous pouvez aussi le pré-remplir via l'URL avec ?domain=l.votredomaine.com.
1<script type="text/javascript">2window._nli=window._nli||[],function(){var n,e,i=window._nli||(window._nli=[]);i.loaded||((n=document.createElement("script")).defer=!0,n.src="https://l.votredomaine.com/sdk.js",(e=document.getElementsByTagName("script")[0]).parentNode.insertBefore(n,e),i.loaded=!0)}();3</script>4. Ajouter les métas Open Graph#
Les balises Open Graph nous permettent de lire correctement vos articles. Ce sont les dates qui comptent le plus.
1<meta property="og:title" content="Titre de l'article">2<meta property="og:url" content="https://www.monsite.com/url-canonique-de-l-article.html">3
4<!-- Utilisez de grandes images non recadrées > 1000px -->5<meta property="og:image" content="https://www.monsite.com/monimage.jpg">6<meta property="og:description" content="Description de l'article">7
8<!-- Ces 3 balises sont particulièrement importantes : -->9<meta property="og:type" content="article">10<meta property="article:published_time" content="2022-06-06T11:54:30Z">11<meta property="article:modified_time" content="2022-06-06T12:21:12Z">12
13<!-- article:section classe le contenu par rubrique (catégorie) -->14<meta property="article:section" content="Sport" />15
16<!-- article:tag classe le contenu par mots-clés, répartis sur plusieurs balises -->17<meta property="article:tag" content="mot-clé 1" />18<meta property="article:tag" content="mot-clé 2" />19<meta property="article:tag" content="mot-clé 3" />5. Ajouter les microdata schema.org#
articleSection nous donne les rubriques de l'article et keywords nous donne les tags. Les auteurs sont en général déjà bien renseignés.
1{2 "@context": "https://schema.org",3 "@type": "NewsArticle",4 "mainEntityOfPage": {5 "@type": "WebPage",6 "@id": "https://www.example.com/rubrique/mon-article.php"7 },8 // Un identifiant unique pour éviter rapidement le duplicate content9 "identifier": "123456",10 "headline": "Titre principal de l'article",11 "alternativeHeadline": "Titre alternatif ou chapô de l'article",12 "description": "Description complète de l'article pour le SEO",13 "keywords": ["mot-clé1", "mot-clé2", "mot-clé3"],14 // Il peut être intéressant d'ajouter articleSection pour apparaître dans les rubriques :15 "articleSection": ["Rubrique principale", "Rubrique secondaire"],16 "author": [17 {18 "url": "https://www.example.com/auteur",19 "@type": "Person",20 "name": "Prénom Nom",21 "jobTitle": "Journaliste",22 "address": "Ville"23 }24 ],25 "datePublished": "2025-09-29T10:00:00Z",26 "dateModified": "2025-09-29T15:30:00Z",27 "isAccessibleForFree": "False"28}Besoin d'un coup de main pour l'intégration ? Contactez-nous.