Signals Hub Installation

Set up your Signals Hub under your domain for SEO, AEO, and AI discovery — in minutes.

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.
1

DNS Setup (CNAME)

Point your Signals subdomain to our ingest endpoint with a CNAME record.

signals.yourdomain.com  →  CNAME  →  ingest.freshnews.ai

DNS propagation can take a short time.

2

robots.txt (Sitemap Discovery)

Add this line to your main site's robots.txt so crawlers can discover your signals sitemap.

Sitemap: https://signals.yourdomain.com/sitemap.xml
3

Footer Integration (Preferred) — Always Up-to-Date "Latest Signal"

We inject a link that always points to the most recent published signal.

Preferred: Dynamic Script (recommended)

<div id="freshnews-latest" class="freshnews-footer-pulse">
  <noscript>
    <a href="https://signals.yourdomain.com/en/latest" target="_blank" rel="noopener noreferrer">
      Latest Signal ↗
    </a>
  </noscript>
</div>

<style>
.freshnews-footer-pulse a{
  display:inline-block;
  max-width:11ch;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  position:relative;
  padding-right:1.1em;
}
.freshnews-footer-pulse a::after{
  content:"↗";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  opacity:.8;
  font-size:.9em;
}
</style>

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

The max-width is intentional to keep footers clean; the full title remains in the DOM for crawlers.

Fallback: Static Link (optional)

<a href="https://signals.yourdomain.com/en/latest" target="_blank" rel="noopener noreferrer">Latest Signal ↗</a>

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.

<div id="freshnews-latest" class="freshnews-footer-pulse">
  <noscript>
    <a href="https://signals.yourdomain.com/en/latest" target="_blank" rel="noopener noreferrer">
      Latest Signal ↗
    </a>
  </noscript>
</div>

<style>
.freshnews-footer-pulse a{
  display:inline-block;
  max-width:11ch;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;
  position:relative;
  padding-right:1.1em;
}
.freshnews-footer-pulse a::after{
  content:"↗";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  opacity:.8;
  font-size:.9em;
}
</style>

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

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.