Este guia destina-se à equipa técnica que integra a Nonli no site de um editor. A Nonli também disponibiliza uma página de configuração personalizada com os valores exatos para o seu domínio.
1. Autorizar os nossos endereços IP#
Para evitar que os nossos crawlers sejam bloqueados, autorize os seguintes endereços IP nos seus servidores, firewall ou 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 |
Também pode obter a lista atualizada de forma programática: www.nonli.com/crawler-ips.json (estruturada) ou www.nonli.com/crawler-ips.txt (texto simples).
2. Escolher o domínio do SDK#
Por razões de segurança e de RGPD, o SDK tem de funcionar num subdomínio do seu domínio principal. Crie um registo CNAME:
l.yourdomain.com → CNAME → tls.non.li
Importante: não ative o proxy da Cloudflare (nuvem laranja) neste registo. Entraria em conflito com o nosso próprio proxy Cloudflare, por isso mantenha-o apenas como DNS (nuvem cinzenta).
A Nonli documenta uma configuração do SDK que pode enquadrar-se na isenção de consentimento descrita pela CNIL. Desde 22 de janeiro de 2025, o nosso SDK deixou de colocar qualquer cookie e o nosso encurtador de links não coloca nenhum cookie da aplicação Nonli; nenhum dos dois cria identificadores de visitantes. Os contadores do SDK e dos links curtos são agregados por conteúdo, link ou domínio; o tratamento da infraestrutura técnica, como TLS, segurança ou registos de exceções, mantém-se separado da medição de audiência.
3. Instalar o SDK#
Adicione este script imediatamente antes da tag de fecho </body> em todas as páginas de artigo e em qualquer página suscetível de ser partilhada nas redes sociais. Indique abaixo o subdomínio do seu SDK e copie o snippet gerado.
Também o pode pré-preencher através do URL com ?domain=l.yourdomain.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.yourdomain.com/sdk.js",(e=document.getElementsByTagName("script")[0]).parentNode.insertBefore(n,e),i.loaded=!0)}();3</script>Se uma página utilizada por um bot não puder incluir o SDK, por exemplo a página de quiosque que mostra a primeira página do jornal, adicione o respetivo URL a URLs to monitor (URL a monitorizar): consulte publicar a primeira página do jornal com um bot.
4. Adicionar as meta tags Open Graph#
As tags Open Graph permitem-nos ler corretamente os seus artigos. As datas são o mais importante.
Quando um editor precisar de substituir estes valores padrão ou fornecer campos personalizados de imagem e vídeo, utilize a referência completa das meta tags HTML da Nonli.
4.1. Tags principais do artigo#
1<meta property="og:title" content="Article title">2<meta property="og:url" content="https://www.mysite.com/canonical-url-of-article.html">3<meta property="og:description" content="Article description">4
5<!-- These 3 meta tags are particularly important: -->6<meta property="og:type" content="article">7<meta property="article:published_time" content="2022-06-06T11:54:30Z">8<meta property="article:modified_time" content="2022-06-06T12:21:12Z">4.2. Tags de imagem#
1<!-- Use large uncropped images > 1000px -->2<meta property="og:image" content="https://www.mysite.com/myimage.jpg">3<meta property="og:image:alt" content="Image description">Para as imagens, utilize visuais grandes e não recortados com mais de 1000 px. JPG e PNG são os formatos mais seguros para os analisadores de metadados, e a imagem deve ter menos de 8 MB.
4.3. Tags de secção e de palavras-chave#
1<!-- article:section classifies content by section (category) -->2<meta property="article:section" content="Sport" />3
4<!-- article:tag classifies content with keywords, spread across several tags -->5<meta property="article:tag" content="keyword 1" />6<meta property="article:tag" content="keyword 2" />7<meta property="article:tag" content="keyword 3" />Utilize um único article:section para a categoria principal e repita article:tag uma vez por palavra-chave.
5. Adicionar dados estruturados schema.org#
Adicione JSON-LD no <head> da página.
5.1. NewsArticle#
NewsArticle é o objeto principal de dados estruturados. articleSection indica-nos as secções do artigo e keywords indica-nos as tags. Os autores costumam já estar bem descritos, mas o objeto tem de incluir pelo menos um autor.
1{2 "@context": "https://schema.org",3 "@type": "NewsArticle",4 "mainEntityOfPage": {5 "@type": "WebPage",6 "@id": "https://www.example.com/category/my-article.php"7 },8 // A unique identifier to avoid duplicate content very quickly9 "identifier": "123456",10 "headline": "Main article title",11 "alternativeHeadline": "Alternative title or article lead",12 "description": "Complete article description for SEO",13 "keywords": ["keyword1", "keyword2", "keyword3"],14 // It might be interesting to add articleSection to make it appear in the categories:15 "articleSection": ["Main category", "Secondary category"],16 "author": [17 {18 "url": "https://www.example.com/author",19 "@type": "Person",20 "name": "First Last",21 "jobTitle": "Journalist",22 "address": "City"23 }24 ],25 "datePublished": "2025-09-29T10:00:00Z",26 "dateModified": "2025-09-29T15:30:00Z",27 "isAccessibleForFree": true28}Utilize isAccessibleForFree: false se o artigo estiver atrás de um paywall.
5.2. ImageObject#
Se o artigo tiver uma imagem principal, inclua-a através do campo image em NewsArticle.
1{2 "@type": "ImageObject",3 "url": "https://www.example.com/images/hero.jpg",4 "width": 1200,5 "height": 630,6 "caption": "Image description"7}5.3. VideoObject#
Se um artigo contiver um vídeo, adicione um bloco JSON-LD VideoObject separado.
1{2 "@context": "https://schema.org",3 "@type": "VideoObject",4 "name": "Video title",5 "description": "Video description",6 "thumbnailUrl": [7 "https://www.example.com/video-thumbnail.jpg"8 ],9 "uploadDate": "2025-09-29T08:00:00+00:00",10 "duration": "PT1M54S",11 "contentUrl": "https://www.example.com/video/123/file.mp4",12 "embedUrl": "https://www.example.com/embed/123",13 "interactionStatistic": {14 "@type": "InteractionCounter",15 "interactionType": { "@type": "WatchAction" },16 "userInteractionCount": 564701817 },18 "regionsAllowed": "FR"19}6. Lista de verificação final#
NewsArticle: incluaidentifier,datePublished,dateModifiede pelo menos umauthor.- Datas: utilize ISO 8601, em UTC (
Z) ou com um desvio de fuso horário. - Open Graph: adicione
og:type=article, as datas de publicação e de modificação, umarticle:sectione umarticle:tagpor palavra-chave. - JSON-LD: exponha as categorias com
articleSectione as tags com a matrizkeywords. - Imagens: utilize um
og:imagegrande e não recortado, adicioneog:image:alte inclua as dimensões da imagem no JSON-LD sempre que possível. - Vídeos: adicione
VideoObjectapenas quando o artigo incorporar um vídeo.
Para um acompanhamento guiado da integração, peça uma demo.
Se um artigo específico continuar a faltar após a configuração, siga o diagnóstico da recolha de conteúdos web.