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.aiDNS 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.xmlThis 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.