Install (JavaScript)

For any site where you can paste HTML/JS in the footer — custom sites, Webflow, etc.

Why this works

Your Signals Hub lives under your domain so search engines and AI systems attribute everything to you.

  • Content is published under your domain (signals.yourdomain.com), so authority stays with your brand.
  • Your robots.txt and sitemap ensure crawlers and AI discovery engines can find and index your signals.
  • A footer link creates an always-fresh entry point from your main site to your latest signal.

Infrastructure Setup (Required)

This step must be completed by your IT or DevOps team. DNS changes cannot be automated.

1

DNS Setup (CNAME)

Create a CNAME record:

signals.your-domain.com  →  CNAME  →  ingest.freshnews.ai

DNS propagation may take a few minutes to several hours.

⚠️ This step must be completed before continuing.

Application Setup (Can Be Automated)

After DNS is configured, you can automatically complete the remaining setup using Cursor, Copilot, or your AI development assistant.

🔧 Developer Shortcut — Complete Integration Automatically

Use this prompt in Cursor or Copilot to:

  • Update robots.txt
  • Add llms.txt
  • Insert Latest Signal footer
  • Verify sitemap inclusion

⚠️ DNS (CNAME) must already be configured before running this prompt.

Manual Alternative

If you prefer to set up manually, follow these steps:

2

robots.txt (Sitemap Discovery)

On your main domain robots.txt, add the line below.

Main domain robots.txt:

Sitemap: https://signals.your-domain.com/sitemap.xml
3

Footer: Hidden Latest Signal (for crawlers)

Add this near the bottom of <body> (or in your global footer). It will inject a link to the latest signal, but keep it hidden from users. Full SEO/crawler value with no footer clutter.

Recommended: Hidden Latest Signal (for crawlers)

<!-- FreshNews.ai: Hidden Latest Signal (SEO/Crawlers) -->
<div id="freshnews-latest" class="freshnews-footer-pulse" aria-hidden="true">
  <noscript>
    <a href="https://signals.your-domain.com/en/latest" target="_blank" rel="noopener noreferrer">
      Latest Signal ↗
    </a>
  </noscript>
</div>

<style>
/* Keep it crawlable but not visible */
.freshnews-footer-pulse{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
</style>

<script
  src="https://signals.your-domain.com/embed/footer-pulse.min.js"
  data-hub="https://signals.your-domain.com"
  data-container="#freshnews-latest"
  data-lang="en"
  data-label="Latest Signal: "
  data-target="_blank"
></script>

The snippet is visually hidden (crawlable but not visible). Optionally, you can add a simple visible link to /latest elsewhere if you want.

Multi-language: For bilingual sites, add the snippet in both footers. For Hebrew use /he/latest in the link and data-label="אות אחרון: ".

4

llms.txt

The llms.txt standard helps AI systems discover your content. Place it at the root of your signals subdomain: https://signals.your-domain.com/llms.txt.

# FreshNews.ai Signals Hub

> Content published under your domain for SEO, AEO, and GEO.

## Sitemap
https://signals.your-domain.com/sitemap.xml

## Latest
https://signals.your-domain.com/en/latest
5

Submit your Signals Hub to Google & Bing

Once your hub is live, add it as a property in search consoles so Google and Bing can discover and index your signals.

  • Google Search Console: Add your hub as a property (domain or URL prefix). Use DNS verification for domain-level. Submit the sitemap: https://signals.your-domain.com/sitemap.xml
  • Bing Webmaster Tools: Add your hub and submit the same sitemap. Bing powers Microsoft Copilot and has a broad indexing footprint — verification helps your content appear in AI-generated answers.

Note: You do not need to submit individual pages (Signals / FAQ / articles) manually — they are included in the sitemap.

Multi-Language Setup

If your site is available in multiple languages, use the snippet for each language. Select a tab to see the code for that locale.

<!-- FreshNews.ai: Hidden Latest Signal (SEO/Crawlers) -->
<div id="freshnews-latest" class="freshnews-footer-pulse" aria-hidden="true">
  <noscript>
    <a href="https://signals.your-domain.com/en/latest" target="_blank" rel="noopener noreferrer">
      Latest Signal ↗
    </a>
  </noscript>
</div>

<style>
/* Keep it crawlable but not visible */
.freshnews-footer-pulse{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
</style>

<script
  src="https://signals.your-domain.com/embed/footer-pulse.min.js"
  data-hub="https://signals.your-domain.com"
  data-container="#freshnews-latest"
  data-lang="en"
  data-label="Latest Signal: "
  data-target="_blank"
></script>

Search & AI Discovery Setup (Recommended)

Improve discoverability in Google, Bing, and AI systems. These steps are optional but recommended for enterprise deployments.

1. Google Search Console

Add signals.your-domain.com as a domain property in Google Search Console. This lets Google discover and index your signals for search and AI Overviews.

  • DNS verification: Use the TXT record method for domain-level verification — it validates ownership of the subdomain.
  • Sitemap submission: After verification, add https://signals.your-domain.com/sitemap.xml under Sitemaps.

2. Bing Webmaster Tools

Add your signals subdomain in Bing Webmaster Tools. Bing powers Microsoft Copilot and several AI search engines, so verification helps your content appear in AI-generated answers.

  • Import from Search Console (if already verified) or add the site manually.
  • Submit https://signals.your-domain.com/sitemap.xml under Sitemaps.

3. robots.txt for JS integration

Place this file at signals.your-domain.com/robots.txt. It allows AI crawlers (OpenAI, etc.) and references your sitemap.

User-agent: OAI-SearchBot
Allow: /

User-agent: GPTBot
Allow: /

User-agent: *
Allow: /

Sitemap: https://signals.your-domain.com/sitemap.xml

4. llms.txt (optional)

The llms.txt standard helps AI systems discover and understand your content. Place it at the root of your signals subdomain: https://signals.your-domain.com/llms.txt.

# FreshNews.ai Signals Hub

> Content published under your domain for SEO, AEO, and GEO.

## Sitemap
https://signals.your-domain.com/sitemap.xml

## Latest
https://signals.your-domain.com/en/latest

Verification

Verifies CNAME (signals subdomain → ingest.freshnews.ai) and footer integration on your website. Enter both URLs and click to run checks. All checks run on our server.

  • CNAME
    Not checked
  • Footer (Latest Signal)
    Not checked

Optional: Embed content on your website

Not required for activation. Use this if you want to display Signals / Insights / FAQ directly on your main site.

View embed options

Fonctionnalités Haute Performance

Stale-While-Revalidate

Chargements instantanés avec fraîcheur. Le widget affiche le contenu mis en cache immédiatement (délai de 0ms), puis récupère des données fraîches en arrière-plan pour des mises à jour douces.

Écrans Squelette

Pas de décalage de mise en page. Le widget affiche des écrans squelette animés pendant le chargement au lieu du texte 'Chargement...' pour une meilleure performance perçue.

Récupération Parallèle

La marque et les articles sont récupérés en parallèle (non bloquant), donc les articles sont rendus immédiatement même si l'API de marque est lente.

Comment les Nouveaux Articles Apparaissent

Rendu Instantané (délai de 0ms)

Le widget utilise la mise en cache LocalStorage pour afficher le contenu immédiatement. Lors de la première visite, les articles se chargent instantanément depuis le cache (délai perçu de 0ms), puis des données fraîches sont récupérées en arrière-plan.

Actualisation Douce

La récupération en arrière-plan assure la fraîcheur sans perturber l'expérience utilisateur. Les nouveaux articles apparaissent de manière transparente au fur et à mesure de leur publication, sans décalage de mise en page ni indicateurs de chargement.

Avantage de Découverte

💡 Pourquoi cela compte pour l'IA : Les moteurs génératifs (GEO) et les moteurs de réponses (AEO) recherchent des structures HTML rapides et autoritaires. L'approche "Stale-While-Revalidate" de notre widget garantit que les robots d'exploration IA trouvent votre contenu immédiatement, tandis que vos utilisateurs bénéficient d'une expérience de chargement instantanée.

Ressources Supplémentaires

Pour la documentation détaillée de l'API, consultez la documentation EMBED-API.md. Pour le dépannage, contactez-nous à contact@freshnews.ai.