How do I connect translated PDFs with hreflang headers?

The Citead team, updated

In short. Each translated PDF returns an identical HTTP Link header listing all language versions, including itself, with rel="alternate" and hreflang values.

Definition: A hreflang annotation identifies a language or regional version of the same content. As of 17 October 2026, Google documents connecting translated PDFs through an HTTP Link response header that lists every version, including the requested PDF itself.

Key facts

What header belongs on each PDF response?

Google's HTTP headers instructions require a comma-separated set of URLs with rel="alternate" and hreflang values. Each URL must be fully qualified, including https:// or http://, and enclosed in < and >.

The following is Google's example, shown on a single line for copying. It connects an English PDF, a German PDF for Switzerland, and a general German PDF:

Link: <https://example.com/file.pdf>; rel="alternate"; hreflang="en", <https://de-ch.example.com/file.pdf>; rel="alternate"; hreflang="de-CH", <https://de.example.com/file.pdf>; rel="alternate"; hreflang="de"

Every PDF in this example returns the identical header. The English response includes its own English URL; the Swiss German response also includes that English URL and both German URLs. The annotations belong in the HTTP response serving the PDF.

Google's guidelines for all methods require self-references and links to the other language versions. A return link is the reciprocal annotation from an alternate version back to the originating version. Google ignores annotations between versions that fail to point to each other.

In Google's PDF example, en identifies English, de-CH identifies German for Switzerland, and de covers other German speakers. A language code can stand alone; a country code alone is invalid. Alternate URLs can use different domains, as the example's subdomains illustrate.

Google treats HTML annotations, HTTP headers, and sitemap annotations as equivalent methods. Its documentation says that implementing all of them brings no additional Search benefit.

How can the served headers be inspected?

The curl manual documents GET as the default HTTP request method. This command combines its header-output and body-output options, using the English URL from Google's example:

curl --dump-header - --output /dev/null https://example.com/file.pdf

The command prints response headers and discards the response body. The example URL must be replaced with the actual PDF URL for a live check. Repeating the request for each translation allows comparison of the returned Link values.

Google's PDF header example supplies the comparison target: the same complete annotation set on every version, including each requested version's own URL. Each entry pairs a URL with its corresponding language or language-region value.

FAQ

Must each PDF list its own URL?

Yes. Google's header instructions require every version, including the requested version, in the returned Link header.

Can I use a sitemap instead of HTTP headers?

Yes. Google's method comparison treats sitemap annotations and HTTP headers as equivalent. Its sitemap method lists every language version, including the URL itself, for each annotated URL.

Does hreflang tell Google which language the PDF contains?

Google's documentation says it uses algorithms to determine content language. The hreflang annotation tells Google how localized versions of the same content relate to one another.

Sources

  1. Google Search Central, "Tell Google about localized versions of your page", 21 September 2026
  2. IETF, "Web Linking", October 2017
  3. curl, "curl - How To Use", undated

Check how a page reads to answer engines. Open the GEO score analyzer

Test a page and see what to fix first

The analysis usually takes less than 10 seconds and needs no account.

400,000+ pages scored in the public benchmark