Project archive

Website discovery references

These archived notes cover search features, structured data and content updates considered alongside our earlier file proposal. For current priorities, start with the practical guide.

Google Search

The preferred sources button

Google Search lets readers mark a site as a preferred source. Once they do, Google says your content is more likely to surface in Top Stories and can carry a “preferred” badge in AI Mode and AI Overviews for that reader. The button prompts a reader to select a source; it is separate from the archived file proposal.

Check eligibility first

Only domain and subdomain level sites appear in the source preferences tool — example.com and code.example.com qualify, example.com/blog does not. Open google.com/preferences/source?q=yourdomain.com and look for yourself. If you are not listed, neither implementation below will do anything.

Live example

This is the real button, rendered by Google's script on this page:

Nothing appears here if you block third-party scripts, or if Google does not serve a button for this domain — which is exactly the failure mode to weigh below.

Two ways to implement it

Google's script

Recommended by Google
html
<script async
  src="https://news.google.com/swg/js/v1/publisher.js"></script>

<div google-add-preferred-source-btn></div>

<!-- optional -->
<div google-add-preferred-source-btn
     data-theme="dark"
     data-lang="en"></div>
  • Google-styled button rendered by Google's script
  • data-theme and data-lang handle dark themes and locale
  • Button rendering is maintained by Google
  • Loads a third-party script — disclose it in your privacy notice
  • Renders nothing if the script is blocked or fails

Plain deeplink

No JavaScript
html
  • No third-party script is needed to display the link
  • Link text displays even when JavaScript is off
  • Style it to match your own design
  • No Google branding, so it reads as an ordinary link
  • You maintain the label and styling yourself

Load it where it belongs, not everywhere

If you use the script, put it on the one page carrying the button rather than in a global layout. That is what this site does — the SwG script loads on this page only, which is why the privacy notice can still say fonts are the only third-party request everywhere else.

Source: Google Search Central — preferred sources

Structured data

Organization markup

Google says Organization structured data can help it understand an organisation's details and distinguish similarly named organisations. Some properties can influence the logo or knowledge panel details shown in Google Search.

Google recommends placing it on your home page or a single page describing the organisation — an about page — rather than on every page. No property is strictly required; add the ones that are true.

JSON-LD
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "[Your Brand Name]",
  "legalName": "[Your Registered Business Name]",
  "alternateName": "[Accepted short form]",
  "url": "https://[www.example.com]",
  "logo": "https://[www.example.com]/logo.png",
  "description": "[Factual summary consistent with the visible page]",
  "foundingDate": "[YYYY-MM-DD]",
  "vatID": "[VAT number]",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "[Street]",
    "addressLocality": "[City]",
    "postalCode": "[Postcode]",
    "addressCountry": "[GB]"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "email": "[hello@example.com]",
    "contactType": "customer support"
  },
  "sameAs": [
    "https://www.linkedin.com/company/[handle]",
    "https://github.com/[handle]"
  ]
}

How the earlier proposal used identity.json

The original proposal repeated business facts in identity.json for possible AI consumers. We did not establish general provider support for that file and no longer recommend publishing the suite. Put current facts on the relevant public pages and keep any supported structured data consistent with them. See what information to publish.

Source: Google Search Central — Organization structured data · Validate with the Rich Results Test

Indexing

IndexNow

IndexNow notifies participating search engines when URLs are added, changed or removed. Participating engines share submitted URLs, but each decides whether and when to crawl and index them. A notification does not ensure that an AI answer will use the updated information.

Setup

  1. Generate a key: 8 to 128 characters, letters, numbers and dashes only.
  2. Host it as a UTF-8 text file at your root — example.com/{key}.txt — containing the key and nothing else. This proves ownership.
  3. Ping on publish or update.
submit
# one URL
curl "https://api.indexnow.org/indexnow?url=https://example.com/page&key=YOUR_KEY"

# many URLs — up to 10,000 per request
curl -X POST https://api.indexnow.org/indexnow \
  -H "Content-Type: application/json" \
  -d '{
    "host": "example.com",
    "key": "YOUR_KEY",
    "urlList": [
      "https://example.com/llms.txt",
      "https://example.com/about"
    ]
  }'

A 200 confirms a successful submission, not indexing. Submit meaningful changes and check the search engine's indexing status separately.

Source: IndexNow documentation · Submission and indexing FAQ

Fundamentals

Identity hygiene

These editorial checks concern the accuracy of public information. They do not depend on the archived file suite.

Pick one canonical domain

Choose a preferred HTTPS domain and redirect equivalent URLs to their matching pages there. Use the preferred URLs consistently in navigation and profiles.

Explain your business names

Identify your public name and explain its relationship to your legal name, trading names and common abbreviations. Keep those facts consistent across your website and profiles.

Link your profiles both ways

Link to your official profiles from your website, and add your website to profiles you control where supported. Check that each link points to the correct organisation.

Explain relevant service limits

State important exclusions beside the service they concern, such as delivery areas or whether installation is included. Use real customer questions to identify details that need clarification.

These mechanisms were collected alongside the experimental specification in the project repository . Consult the linked provider documentation for each mechanism and the current guide for practical priorities.