Signals Integration Guide

This guide covers the required setup to connect your site to the FreshNews Signals Hub. Follow the steps below (about 10 minutes).

Required Infrastructure

About 10 minutes

1) Subdomain setup (CNAME)

Create a CNAME record so that signals.yourdomain.com points to our ingest endpoint. In your DNS provider, add:

signals.yourdomain.com  CNAME  ingest.freshnews.ai

DNS may take a few minutes to several hours to propagate.

2) robots.txt connection

Add the Signals sitemap to your main site’s robots.txt so search engines and crawlers can discover your signals.

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

This helps discovery and crawling of your signals feed by search engines and AI systems.

3) Freshness link (footer)

Add a “Latest Signal” link in your footer that points to the moving /{lang}/latest redirect. You can use either a simple static link or the dynamic Footer Pulse script (recommended).

Option A: Simple static link — add a normal link to https://signals.yourdomain.com/{lang}/latest with text “Latest Signal” (or your locale).

Option B: Dynamic Footer Pulse script (preferred) — paste the snippet below. It shows the latest signal title and stays in sync automatically.

<!-- FreshNews Footer Pulse: Latest Signal -->
<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>
/* The embed injects an <a>. Clamp it to show only the label; keep full title in HTML for crawlers. */
.freshnews-footer-pulse a{
  display:inline-block;
  max-width: 11ch;              /* adjust if needed */
  white-space:nowrap;
  overflow:hidden;
  text-overflow:clip;           /* no "..." */
  vertical-align:bottom;
  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.freshnews.ai/embed/footer-pulse.min.js"
  data-hub="https://signals.freshnews.ai"
  data-container="#freshnews-latest"
  data-lang="auto"
  data-label="Latest Signal: "
  data-target="_blank"
></script>

The link is visually clamped to the label length, but the full title remains in the DOM for crawlers.

Optional enhancements

  • A) Live Signals embed — you can show a list of signals inside your main site using our widget. See the main Installation Guide for widget and embed options.
  • B) WordPress — the script embed works on WordPress today. A dedicated WordPress plugin is coming soon.

Back to Installation Guide