Documentation Tooling Workgroup Meeting - 23 February 2026

Documentation Tooling Workgroup Meeting - 23 February 2026

Attending

  • Joe Heck
  • Vera Mitchell
  • Sven Schmidt
  • Dave Verwer
  • David Ronnqvist

Topics

  • 6.3 beta now available - SEO eval

Discussion

Sven: onboard the new version, couple of weeks we should be able to wrangle

Joe: SEO test targets: swift-openapi-runtime, swift-configuration. A holistic watch of more of the site would be better, but as a stop-gap evaluating keywords and adjusting these sites to see how/if anything changes is our plan at the moment.

Sven: I wonder if there's anything we can do to test the mechanism.

Dave: One of the things we need to do is make sure those URLs are in the search index. Verify that when they change, ensure they're in the index.

Joe: So we need to tune the requests not just for URL base setsup, but specific pages, to make sure they're in the index.

Sven: Is there an alternate path to testing this - shifting it worse instead of better and letting it recover. Any path here to see into this black box?

Dave: What we want ideally - I think - is a set of stable URLs, to see how those rank for relevant key words, deploy a change that exposes the keywords more readably, and then check to see how they sit after google re-indices. We need to be on a page by page basis for this.

Joe keywords I'm tracking: gist:b3cc0e8e687d90b2773f31c0f76e9a14 ยท GitHub

Sven: thing I want to prepare for - nothing happening. And what we do from there.

Dave: And what this really needs is a significant commitment from Apple for evaluating this on a longer term sort of layout.

Dave: deployment of this tool will require us to roll out a 6.3 beta across the whole site.

Vera: Xcode 26.4 beta 1 has the 6.3 in it.

Action Items

  • Joe to mark and document steps as this rolls out for changes, including current results, stability, and updated results as they flow - albeit point checks and not a holistic eval.

A brief follow up on the SEO evaluation work that we talked about during the meeting:

/cc @daveverwer

The two projects I've created sets of keywords to explore are swift-configuration and swift-openapi-runtime. The keyword sets align to at least one ideal page:

Keyword Ideal Page Verified URL
swift configuration docs Documentation root โ€” landing page for the package's DocC docs https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration
vapor configuration package docs Documentation root https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration
swift server configuration docs Documentation root https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration
hummingbird configuration docs Documentation root https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration
swift package configuration docs Documentation root https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration
Swift Configuration ConfigReader provider hierarchy ConfigReader symbol reference โ€” covers init(providers:), provider stack, scoping https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/configreader
EnvironmentVariablesProvider Swift automatic key conversion EnvironmentVariablesProvider symbol reference โ€” documents key-component-to-env-var uppercasing https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/environmentvariablesprovider
ReloadingFileProvider ServiceGroup hot reloading ReloadingFileProvider symbol reference โ€” covers Service conformance, file change monitoring https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/reloadingfileprovider
ConfigSnapshot consistent values mTLS certificate ConfigSnapshot symbol reference โ€” documents point-in-time immutable reads https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/configsnapshot
AccessLogger FileAccessLogger secret redaction "Handling secrets correctly" guide โ€” covers secret redaction, FileAccessLogger, and AccessLogger https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/handling-secrets-correctly
swift configuration get fetch watch patterns "Choosing the access pattern" guide โ€” explains get, fetch, and watch access patterns https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/choosing-access-patterns
DirectoryFilesProvider run secrets docker DirectoryFilesProvider symbol reference โ€” documents reading Docker/Kubernetes /run/secrets https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/directoryfilesprovider
ConfigReader scoped to namespace http timeout ConfigReader symbol reference โ€” covers scoped(to:) for namespacing (e.g. http.timeout) https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/configreader
YAMLSnapshot JSONSnapshot FileProvider Swift FileProvider symbol reference โ€” generic provider used with JSONSnapshot and YAMLSnapshot https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/fileprovider
CONFIG_ACCESS_LOG_FILE environment variable debugging FileAccessLogger symbol reference โ€” documents CONFIG_ACCESS_LOG_FILE auto-detection; also see Troubleshooting guide https://swiftpackageindex.com/apple/swift-configuration/1.1.0/documentation/configuration/fileaccesslogger

and for swift-openapi-runtime:

Keyword Ideal Page Verified URL
swift openapi server middleware ServerMiddleware protocol reference โ€” the central type for server-side middleware https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/servermiddleware
Swift OpenAPI Runtime Documentation root or package index page https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime
ClientTransport protocol Swift ClientTransport protocol reference โ€” the abstraction over HTTP client libraries https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/clienttransport
ServerTransport protocol Swift ServerTransport protocol reference โ€” the abstraction for registering HTTP handlers https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/servertransport
ClientMiddleware Swift OpenAPI ClientMiddleware protocol reference โ€” intercepts outgoing client requests https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/clientmiddleware
ServerMiddleware Swift OpenAPI ServerMiddleware protocol reference โ€” intercepts incoming server requests https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/servermiddleware
MultipartBoundaryGenerator Swift MultipartBoundaryGenerator protocol reference โ€” customizes multipart boundary strings https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/multipartboundarygenerator
ISO8601DateTranscoder ISO8601DateTranscoder symbol reference โ€” the default DateTranscoder implementation; also see DateTranscoder https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/iso8601datetranscoder
OpenAPIValueContainer OpenAPIValueContainer symbol reference โ€” untyped JSON value container for dynamic schemas https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/openapivaluecontainer
HTTPBody Swift OpenAPI HTTPBody symbol reference โ€” streaming body type for requests and responses https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/httpbody
UndocumentedPayload error Swift UndocumentedPayload symbol reference โ€” represents responses to undocumented HTTP status codes https://swiftpackageindex.com/apple/swift-openapi-runtime/1.10.1/documentation/openapiruntime/undocumentedpayload

I've been collecting data roughly weekly over the past month, with a few earlier snapshots from before the holidays as well, and the current search ranking positions are reasonably stable. I've snagged the stand-along HTML report into a file at baseline.html ยท GitHub, which you can download and view locally if you're so inclined. The script I cobbled is tracking Google and DuckDuckGo rankings.

The table from it showing the stability (as an image):

2 Likes