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.
DNS Setup (CNAME)
Create a CNAME record:
signals.your-domain.com → CNAME → ingest.freshnews.aiDNS 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:
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.xmlFooter: 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="אות אחרון: ".
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/latestSubmit 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.xmlunder 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.xmlunder 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.xml4. 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/latestVerification
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.
- CNAMENot 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.
Embed Signals Page
Display your signals list on any page.
Embed Insights Page
Display your insights list on any page.
Embed FAQ (New)
Display your product FAQ on your site.
Recursos de Alto Desempenho
Stale-While-Revalidate
Carregamentos instantâneos com frescor. O widget exibe conteúdo em cache imediatamente (atraso de 0ms), depois busca dados frescos em segundo plano para atualizações suaves.
Telas de Esqueleto
Sem mudança de layout. O widget exibe telas de esqueleto animadas durante o carregamento em vez do texto 'Carregando...' para melhor desempenho percebido.
Busca Paralela
Marca e artigos são buscados em paralelo (não bloqueante), então os artigos são renderizados imediatamente mesmo se a API de marca for lenta.
Como Novos Artigos Aparecem
Renderização Instantânea (atraso de 0ms)
O widget usa cache de LocalStorage para mostrar conteúdo imediatamente. Na primeira visita, os artigos carregam instantaneamente do cache (atraso percebido de 0ms), depois dados frescos são buscados em segundo plano.
Atualização Suave
A busca em segundo plano garante frescor sem perturbar a experiência do usuário. Novos artigos aparecem perfeitamente conforme são publicados, sem mudanças de layout ou indicadores de carregamento.
Vantagem de Descoberta
💡 Por que isso importa para IA: Mecanismos generativos (GEO) e mecanismos de resposta (AEO) procuram estruturas HTML rápidas e autoritárias. A abordagem "Stale-While-Revalidate" do nosso widget garante que rastreadores de IA encontrem seu conteúdo imediatamente, enquanto seus usuários obtêm uma experiência de carregamento instantânea.
Recursos Adicionais
Para documentação detalhada da API, consulte a documentação EMBED-API.md. Para solução de problemas, entre em contato conosco em contact@freshnews.ai.