СередньоЧастково
Discovery Link headers
Add `Link` headers at the web server or application response layer; use absolute URLs and correct `rel`/`type` parameters.
Деталі аудиту
Discovery Link headers
Метадані
- Категорія
- Видимість
- Remediation key
- link_headers_incomplete
- URL
- https://aitextwatermarkremover.com/
Очікуваний результат
The main response includes machine-readable `Link` headers with rel values for canonical, sitemap, `api-catalog`, `linkset`, `service-desc`, or other registered discovery resources.
Як виправити
Add `Link` headers at the web server or application response layer; use absolute URLs and correct `rel`/`type` parameters.
Промпт для AI-агента
You are a senior web developer. Improve aitextwatermarkremover.com for AI agents. Task: add or repair support for Discovery Link headers (link_headers). Current check result:
JSON
{"evidence":{"discovered_links":[],"discovery_counts":{"machine_readable":0,"navigational":0},"final_url":"https://aitextwatermarkremover.com/","headers":{"content-type":"text/html; charset=utf-8","link":"</_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\", </_next/static/media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\"","vary":"rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch"},"malformed_entries":[],"redirects":[],"rel_missing_entries":[],"requested_url":"https://aitextwatermarkremover.com/","status_code":200,"well_known_api_catalog":{"content_type":"text/html; charset=utf-8","final_url":"https://aitextwatermarkremover.com/.well-known/api-catalog","found":false,"requested_url":"https://aitextwatermarkremover.com/.well-known/api-catalog","status":"fetched","status_code":404}},"outputs":{"discovery_link_count":0,"link_count":2,"machine_readable_link_count":0},"remediation_key":"link_headers_incomplete","scanner_message":"Link headers exist but do not expose recognized machine-readable discovery links.","status"...Expected result: The main response includes machine-readable `Link` headers with rel values for canonical, sitemap, `api-catalog`, `linkset`, `service-desc`, or other registered discovery resources. Fix guidance: Add `Link` headers at the web server or application response layer; use absolute URLs and correct `rel`/`type` parameters. Stack templates: - Generic web server: serve HTTP `Link` headers from the public web root or a route, with the correct status, `Content-Type`, and cache policy. - Nginx: add a `location`/`add_header` for HTTP `Link` headers; verify `try_files`, redirects, and that private upstreams are not exposed. - Apache: configure `Alias`, `Header set`, or a rewrite rule for HTTP `Link` headers; check `.htaccess` and virtual host precedence. - Next.js: use `public/`, route handlers, Metadata API, or middleware for HTTP `Link` headers; do not disable SSR/SSG for public content. - Nuxt: use `public/`, server routes, `useHead`/Nitro middleware for HTTP `Link` headers; verify prerender/SSR output. - Laravel: add a route/controller, Blade metadata, or middleware headers for HTTP `Link` headers; do not bypass auth/authorization for private routes. - Django: add a `urls.py` route/view, template metadata, or middleware headers for HTTP `Link` headers; verify `ALLOWED_HOSTS` and cache behavior. - WordPress: implement HTTP `Link` headers via theme/plugin hooks, SEO plugin settings, or a static file; do not edit core files. - Bitrix: add HTTP `Link` headers via the site template, component, or web server config; verify composite cache and multi-site rules. - Static hosting: add HTTP `Link` headers as a static asset or platform headers file (`_headers`, `vercel.json`, `netlify.toml`). - Headless CMS: generate HTTP `Link` headers in the delivery layer/edge app from published content; do not expose draft or admin APIs. Constraints: do not break SEO; do not expose private endpoints; preserve SSRF/redirect safety; do not add remote JS execution to the scanner; add tests. Return a patch/diff and a short explanation.
Evidence JSON
{ "headers": { "link": "</_next/static/media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\", </_next/static/media/fba5a26ea33df6a3-s.p.18rizl4rsrl42.woff2>; rel=preload; as=\"font\"; crossorigin=\"\"; type=\"font/woff2\"", "vary": "rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch", "content-type": "text/html; charset=utf-8" }, "final_url": "https://aitextwatermarkremover.com/", "redirects": [], "status_code": 200, "requested_url": "https://aitextwatermarkremover.com/", "discovered_links": [], "discovery_counts": { "navigational": 0, "machine_readable": 0 }, "malformed_entries": [], "rel_missing_entries": [], "well_known_api_catalog": { "found": false, "status": "fetched", "final_url": "https://aitextwatermarkremover.com/.well-known/api-catalog", "status_code": 404, "content_type": "text/html; charset=utf-8", "requested_url": "https://aitextwatermarkremover.com/.well-known/api-catalog" } }{ "link_count": 2, "discovery_link_count": 0, "machine_readable_link_count": 0 }"link_headers_incomplete""Link headers exist but do not expose recognized machine-readable discovery links.""partial"