CacheExpires: 13300h # ~ 18 months
DirectoryPath: public
IgnoreDirectoryMissingTrailingSlash: true
IgnoreAltMissing: true
IgnoreCanonicalBrokenLinks: false
IgnoreInternalEmptyHash: true # TODO: remove after resolution of https://github.com/google/docsy/issues/1995
CheckMailto: false
# StripQueryString: false # TODO: enable once htmltest is fixed
TestFilesConcurrently: true
IgnoreDirs:
  # DO NOT EDIT! IgnoreDirs list is auto-generated from markdown file front matter.
  # Ignore blog index pages for all locales and in all blog sections (top-level and years)
  - ^(../)?blog/(\d+/)?page/\d+
  # Ignore old blog posts
  - ^(../)?blog/20(19|21|22|23)/
  # TODO drop next lines after https://github.com/open-telemetry/opentelemetry.io/issues/5555 is fixed for these pages:
  - ^zh/docs/concepts/signals/baggage/
  - ^zh/docs/zero-code/php/
  # TODO drop the following config once this page is updated to reflect the corresponding `en`
  # page and the link 404 (detailed below) are resolved:
  #   zh/docs/contributing/index.html
  #     Non-OK status: 404 --> https://github.com/open-telemetry/community/blob/main/CONTRIBUTING.md
  - ^zh/docs/contributing/
  # DO NOT EDIT! IgnoreDirs list is auto-generated from markdown file front matter.
IgnoreInternalURLs: # list of paths
IgnoreURLs: # list of regexs of paths or URLs to be ignored
  - /index.xml$ # Ignore rel="alternative" links to RSS feeds
  - \?no-link-check
  - ^/api/?$
  - ^((/..)?/docs/languages/\w+|\.\.)/(api|examples|registry)/$
  - ^(/..)?/docs/collector/registry/$
  - ^(/..)?/docs/languages/dotnet/(metrics-api|traces-api)/
  - ^((/..)?/docs/migration/)?opencensus/$
  - ^(/community/end-user/)?feedback-survey/$
  - ^/../docs/specs/?$ # non-default locale spec redirect

  - ^https://deploy-preview-\d+--opentelemetry.netlify.app/
  - ^https://www\.googletagmanager\.com
  - ^(https:)?//translate.google.com

  # Don't ignore `:1313` since it is often a docs link copy-paste error, e.g.:
  # https://github.com/open-telemetry/opentelemetry.io/pull/6123
  - ^https?://localhost(:([^1]|16*)|(/.*)?$)
  - ^https?://127\.0\.0\.1\b
  - ^https?://(otel-demo|traefik)\.localhost

  # OpAMP spec:
  - ^https://pdf.sciencedirectassets.com/280203/1-s2.0-S1877050919X0006X/1-s2.0-S1877050919303576/main.pdf\?

  # Sites that deny access, always yielding 401, 403 Forbidden, 406, or other:
  - ^https://platform.openai.com # Really hard to trick into giving a 200 when using a script; manually verify links
  - ^https://star-history.com # link contain ampersands in URL anchor part, which htmltest escapes, so it's not found
  - ^https://twitter.com
  - ^https://www.youtube.com/playlist\?list= # htmltest doesn't process query parameters
  - ^https://x.com

  # Ignore Docsy-generated GitHub links for now, until
  # https://github.com/google/docsy/issues/1432 is fixed
  - ^https?://github\.com/.*?/.*?/(new/|edit/|issues/new\?) # view-page, edit-source etc
  # Ignore "View page source" links, except for spec pages, i.e., links starting with
  # https://github.com/open-telemetry/opentelemetry.io/tree/main/content/en/docs/specs
  - ^https://github\.com/open-telemetry/opentelemetry.io/tree/main/content/[^e]
  - ^https://github\.com/open-telemetry/opentelemetry.io/tree/main/content/es
  - ^https://github\.com/open-telemetry/opentelemetry.io/tree/main/content/en/.*?/_index.md$
  - ^https://github\.com/open-telemetry/opentelemetry.io/tree/main/content/en/[^d]
  - ^https://github\.com/open-telemetry/opentelemetry.io/tree/main/content/en/docs/[^s]
  - ^https://github\.com/open-telemetry/opentelemetry.io/tree/main/content/en/docs/security
  # FIXME: same issue as for the OTel spec mentioned above:
  - ^https://github.com/open-telemetry/semantic-conventions/tree/main

  # Too many redirects as the server tries to figure out the country and language,
  # e.g.: https://www.microsoft.com/en-ca/sql-server.
  - ^https://www.microsoft.com/sql-server$

  # TODO move into content/en/blog/2023/humans-of-otel.md once https://github.com/open-telemetry/opentelemetry.io/issues/3889 is implemented
  - ^https://shorturl.at/osHRX$
  # TODO move into content/en/blog/2023/contributing-to-otel/index.md once https://github.com/open-telemetry/opentelemetry.io/issues/3889 is implemented
  - ^https://shorturl.at/vLYZ0$

  # Temporary until semconv is updated to 1.30.0+
  - ^https://cloud.google.com/apis/design/resource_names#full_resource_name
  - ^https://cloud.google.com/functions/docs/concepts/exec#function_scope_versus_global_scope
  - ^https://developer.apple.com/documentation/uikit/uiapplicationdelegate#1656902
  - ^https://docs.docker.com/registry/spec/manifest-v2-2/#example-image-manifest
  - ^https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html#RETURN-VALUES
  - ^https://www.erlang.org/doc/man/erl_error.html#format_exception-3
  # Fixed via https://github.com/open-telemetry/semantic-conventions/pull/1814
  - ^https://github.com/open-telemetry/opentelemetry-specification/tree/v1.41.0/specification/logs/api.md#emit-an-event

  # Temporary until
  # https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth@v0.120.0+
  # is published to include
  # https://github.com/open-telemetry/opentelemetry-collector/pull/12309
  - ^https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#client-authenticators
  - ^https://pkg.go.dev/go.opentelemetry.io/collector/config/configauth#server-authenticators

  # Temporary until
  # https://github.com/open-telemetry/opentelemetry.io/issues/6237 is resolved
  - ^https://github.com/open-telemetry/opentelemetry-operator/blob/main/docs/api.md#
