From 1590890397e6d72609f840c7b38b5a58ef8b68be Mon Sep 17 00:00:00 2001 From: kodster28 Date: Tue, 8 Jul 2025 09:38:58 -0500 Subject: [PATCH 01/13] structure --- .../api-content-strategy/index.mdx | 13 ++++---- .../documentation-content-strategy/index.mdx | 31 +++++++++---------- .../how-we-docs/image-maintenance.mdx | 6 ++++ .../docs/style-guide/how-we-docs/index.mdx | 19 ++++++++++++ .../docs/style-guide/how-we-docs/links.mdx | 6 ++++ .../docs/style-guide/how-we-docs/metadata.mdx | 6 ++++ .../style-guide/how-we-docs/redirects.mdx | 6 ++++ 7 files changed, 64 insertions(+), 23 deletions(-) create mode 100644 src/content/docs/style-guide/how-we-docs/image-maintenance.mdx create mode 100644 src/content/docs/style-guide/how-we-docs/index.mdx create mode 100644 src/content/docs/style-guide/how-we-docs/links.mdx create mode 100644 src/content/docs/style-guide/how-we-docs/metadata.mdx create mode 100644 src/content/docs/style-guide/how-we-docs/redirects.mdx diff --git a/src/content/docs/style-guide/api-content-strategy/index.mdx b/src/content/docs/style-guide/api-content-strategy/index.mdx index c054d35166d5da3..b02a892197de0fa 100644 --- a/src/content/docs/style-guide/api-content-strategy/index.mdx +++ b/src/content/docs/style-guide/api-content-strategy/index.mdx @@ -1,18 +1,17 @@ --- pcx_content_type: concept -title: API content strategy +title: API docs content strategy sidebar: order: 5 - --- -import { DirectoryListing } from "~/components" +import { DirectoryListing } from "~/components"; -The API content strategy aims to: +The API docs content strategy aims to: -* Reduce internal and external user frustration -* Align with industry standards in terms of naming conventions and descriptions -* Create world-class content that is just as good, or better, than very popular API documentation +- Reduce internal and external user frustration +- Align with industry standards in terms of naming conventions and descriptions +- Create world-class content that is just as good, or better, than very popular API documentation By ensuring Cloudflare's API content is straightforward, easy to navigate, and consistent, we can create world-class API content that eliminates user frustration and serves as an example of good API documentation. diff --git a/src/content/docs/style-guide/documentation-content-strategy/index.mdx b/src/content/docs/style-guide/documentation-content-strategy/index.mdx index a4289119749b16b..9ebd1a8373b3980 100644 --- a/src/content/docs/style-guide/documentation-content-strategy/index.mdx +++ b/src/content/docs/style-guide/documentation-content-strategy/index.mdx @@ -1,27 +1,26 @@ --- pcx_content_type: concept -title: Developer documentation content strategy +title: Product docs content strategy sidebar: order: 3 - --- -import { DirectoryListing } from "~/components" +import { DirectoryListing } from "~/components"; The purpose of Cloudflare's developer documentation content strategy is to: -* Create and document standard templates to streamline content creation -* Document specific content types to help identify customers' specific needs -* Enable life cycle management to maintain and optimize a smaller set of pages -* Suggest easier navigation paths +- Create and document standard templates to streamline content creation +- Document specific content types to help identify customers' specific needs +- Enable life cycle management to maintain and optimize a smaller set of pages +- Suggest easier navigation paths Strategically speaking, the mission and guiding principles translate into the following initiatives: -* Improve the entire ecosystem of customer-facing product content, placing major emphasis on consistency, quality, accuracy, and timeliness -* Create a cohesive and compelling story around our products and their functionality -* Develop content that increases product adoption, deflects support, and makes customers successful -* Partner with various internal departments and stakeholders in creating and sustaining a rich, consistent content experience across all Cloudflare products -* Devise new and better ways to give users the information they need, when and where they need it +- Improve the entire ecosystem of customer-facing product content, placing major emphasis on consistency, quality, accuracy, and timeliness +- Create a cohesive and compelling story around our products and their functionality +- Develop content that increases product adoption, deflects support, and makes customers successful +- Partner with various internal departments and stakeholders in creating and sustaining a rich, consistent content experience across all Cloudflare products +- Devise new and better ways to give users the information they need, when and where they need it Adoption of this content strategy will be impacted by product releases, resourcing, and company goals. @@ -33,13 +32,13 @@ This approach includes: ### Information architecture -* Where content should live on the site -* Linking strategy +- Where content should live on the site +- Linking strategy ### Content -* What content is included and what is optional -* How the content is written +- What content is included and what is optional +- How the content is written ## Content requirements diff --git a/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx b/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx new file mode 100644 index 000000000000000..250eede95d2c342 --- /dev/null +++ b/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx @@ -0,0 +1,6 @@ +--- +pcx_content_type: how-to +title: Image maintenance +meta: + title: Image maintenance | How we docs +--- diff --git a/src/content/docs/style-guide/how-we-docs/index.mdx b/src/content/docs/style-guide/how-we-docs/index.mdx new file mode 100644 index 000000000000000..158c5d060293b60 --- /dev/null +++ b/src/content/docs/style-guide/how-we-docs/index.mdx @@ -0,0 +1,19 @@ +--- +pcx_content_type: navigation +title: How we docs +sidebar: + order: 10 +--- + +import { DirectoryListing } from "~/components"; + +This section shares how Cloudflare approaches docs strategically, covering topics like `how we built our site` and `how we think about redirects`. + +The goal is twofold, because it: + +- Encourages deep thinking about how we approach things (and if they could be better). +- Contributes back to the open-source ecosystem. We get a lot of benefits from being open source and we want to give back. + +We hope you learn from the topics below. As always, [submit an issue](https://github.com/cloudflare/cloudflare-docs/issues/new) if you find something inaccurate or unclear. + + diff --git a/src/content/docs/style-guide/how-we-docs/links.mdx b/src/content/docs/style-guide/how-we-docs/links.mdx new file mode 100644 index 000000000000000..37a6a80aeee7a4b --- /dev/null +++ b/src/content/docs/style-guide/how-we-docs/links.mdx @@ -0,0 +1,6 @@ +--- +pcx_content_type: how-to +title: Links +meta: + title: Links | How we docs +--- diff --git a/src/content/docs/style-guide/how-we-docs/metadata.mdx b/src/content/docs/style-guide/how-we-docs/metadata.mdx new file mode 100644 index 000000000000000..d2678ebc1daeba8 --- /dev/null +++ b/src/content/docs/style-guide/how-we-docs/metadata.mdx @@ -0,0 +1,6 @@ +--- +pcx_content_type: how-to +title: Metadata +meta: + title: Metadata | How we docs +--- diff --git a/src/content/docs/style-guide/how-we-docs/redirects.mdx b/src/content/docs/style-guide/how-we-docs/redirects.mdx new file mode 100644 index 000000000000000..3fc31e6a7e20b73 --- /dev/null +++ b/src/content/docs/style-guide/how-we-docs/redirects.mdx @@ -0,0 +1,6 @@ +--- +pcx_content_type: how-to +title: Redirects +meta: + title: Redirects | How we docs +--- From 225febceb4f217b8c42b8f0a3ef22d7cd3175c06 Mon Sep 17 00:00:00 2001 From: kodster28 Date: Tue, 8 Jul 2025 10:54:52 -0500 Subject: [PATCH 02/13] Image maintenance --- .../how-we-docs/image-maintenance.mdx | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx b/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx index 250eede95d2c342..f30b6f8824872bd 100644 --- a/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx +++ b/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx @@ -4,3 +4,62 @@ title: Image maintenance meta: title: Image maintenance | How we docs --- + +import { GitHubCode } from "~/components"; + +Though valuable for user understanding, images are difficult to maintain. We have a few strategies that we use to help make this easier. + +## Guidelines + +We support a few different types of images in our docs, including: + +- [Diagrams](/style-guide/documentation-content-strategy/component-attributes/diagrams/) +- [Mermaid diagrams](/style-guide/components/mermaid/) +- Screenshots + +Of these, we prefer Mermaid diagrams because they are searchable and changeable. The "cost" of updating a Mermaid diagram is much lower than re-taking a screenshot or working with a designer to update a diagram. + +Additionally, you should only use screenshots intentionally, such as when there's a clear user confusion that needs a visual image. [Find account and zone ID](/fundamentals/account/find-account-and-zone-ids/) is a good illustration of this, because it's a common user pain point and one that's very difficult in the current Cloudflare UI. + +## Maintenance + +The best way to improve image maintenance is to avoid using them. + +The other way to streamline maintenance is to remove images that are no longer referenced in your documentation. This pattern becomes particularly helpful if you need to audit images for UI changes or leaked information, because then you are not wasting time looking at unused images too. + +We do that through a combination of GitHub actions. + +### Flag unused images + +We have a specific GitHub action to [flag unused images](https://github.com/cloudflare/cloudflare-docs/blob/production/.github/workflows/image-audit.yml). + +What it does is: + +1. Finds all `.png` or `.svg` files in our content. +2. Checks to see if those files are referenced in any of our MDX files. +3. If there are unreferenced files, creates a [GitHub issue](https://github.com/cloudflare/cloudflare-docs/issues/23343) listing them out. + +### Evaluate image paths + +In combination with [flagging unused images](#flag-unused-images), we also have logic in our [build process](https://github.com/cloudflare/cloudflare-docs/blob/production/astro.config.ts) to validate image paths. + + + +This line ensures that our custom [Remark plugin](https://github.com/cloudflare/cloudflare-docs/blob/production/src/plugins/remark/validate-images.ts) validates all images paths. If the path does not exist, we throw an error and prevent the site from building. + + + +When paired with [flagging unused images](#flag-unused-images), this path validation ensures that a tech writer can safely delete unused files in a PR. So long as the site builds correctly, you have only deleted image files that are not referenced anywhere. From 6a9eaeb58b49a55b00f8db02dad8dbf8beeb1ccd Mon Sep 17 00:00:00 2001 From: kodster28 Date: Tue, 8 Jul 2025 13:53:42 -0500 Subject: [PATCH 03/13] Add page on screenshots --- .../docs/style-guide/components/mermaid.mdx | 7 ++- .../component-attributes/diagrams.mdx | 7 ++- .../component-attributes/screenshots.mdx | 54 +++++++++++++++++++ .../how-we-docs/image-maintenance.mdx | 6 +-- 4 files changed, 67 insertions(+), 7 deletions(-) create mode 100644 src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx diff --git a/src/content/docs/style-guide/components/mermaid.mdx b/src/content/docs/style-guide/components/mermaid.mdx index d8a2b5f415c5785..3b219ea8b062c4f 100644 --- a/src/content/docs/style-guide/components/mermaid.mdx +++ b/src/content/docs/style-guide/components/mermaid.mdx @@ -40,4 +40,9 @@ E[Anycast IP] --> F[/Tunnel 1 /
priority 1/] --> I{{Customer
data ce E[Anycast IP] --> G[/Tunnel 2 /
priority 1/] --> J{{Customer
data center/
network 2}} E[Anycast IP] --> H[/Tunnel 3 /
priority 2/] --> K{{Customer
data center/
network 3}} ``` -```` \ No newline at end of file +```` + +## Related components + +- [Diagrams](/style-guide/documentation-content-strategy/component-attributes/diagrams/) +- [Screenshots](/style-guide/documentation-content-strategy/component-attributes/screenshots/) diff --git a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/diagrams.mdx b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/diagrams.mdx index 6f4d8e2c7bdfc92..6370564741101a3 100644 --- a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/diagrams.mdx +++ b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/diagrams.mdx @@ -1,7 +1,6 @@ --- pcx_content_type: concept title: Diagrams - --- ## Definition @@ -20,7 +19,6 @@ Diagrams explain complex topics in a compelling way and help users visualize a s ```md ![Alt text](/link/to/image.svg "Caption to go under the image") - ``` ## Example @@ -32,3 +30,8 @@ Diagrams explain complex topics in a compelling way and help users visualize a s Always try to use SVG images for diagrams. Bitmap formats like PNG and JPEG do not scale well, and often users will zoom into diagrams to explore the details. The alt (alternative) text on diagrams is used by screen readers and is read out as part of the surrounding content. Ensure the alt text is straightforward and fits in the context of the content. + +## Related components + +- [Mermaid diagrams](/style-guide/components/mermaid/) +- [Screenshots](/style-guide/documentation-content-strategy/component-attributes/screenshots/) diff --git a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx new file mode 100644 index 000000000000000..3d132a513d7c078 --- /dev/null +++ b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx @@ -0,0 +1,54 @@ +--- +pcx_content_type: concept +title: Screenshots +--- + +A screenshot is a picture of a software tool, in this case usually of the Cloudflare dashboard. + +We only recommend screenshots in [specific scenarios](#when-to-use), as they have a higher [maintenance cost](#maintenance) than other types of content. + +## When to use + +Use screenshots sparingly and intentionally, often accompanying a simple, but commonly confused task in the Cloudflare dashboard. + +A canonical example of this would be [Find account and zone ID](/fundamentals/account/find-account-and-zone-ids/) because: + +- It's a high driver of SEO traffic to our [Community](https://community.cloudflare.com). +- We tried explaining with words alone and that did not solve the confusion. +- It's a task specifically related to new users, where they are less familiar with Cloudflare concepts or navigation patterns. + +## Guidelines + +Screenshots should: + +- Maintain the original aspect-lock ratio. +- Keep resolution at 72dpi. +- Keep width at 500-600 pixels. +- Avoid sharing sensitive information (you may need to edit the underlying HTML in your browser). +- Avoid including visuals that change frequently, such as sidebar navigation. +- Have descriptive alt text. + +## Template + +```mdx +![Alt text](~/assets/images/$PRODUCT_NAME/$IMAGE_NAME.png) +``` + +## Maintenance + +We avoid screenshots without a clear purpose because they are difficult to maintain. This is because: + +- The UI might change and our team might not know. +- Even if you do know what changed, it's difficult to _find_ which screenshots might reference a particular UI flow. +- If something is changed, you need to fully re-take the screenshot to replace it. This could involve adding fake data or hiding sensitive information. + +:::note + +For more details on how we approach this maintenance, refer to [Image maintenance](/style-guide/how-we-docs/image-maintenance/). + +::: + +## Related components + +- [Diagrams](/style-guide/documentation-content-strategy/component-attributes/diagrams/) +- [Mermaid diagrams](/style-guide/components/mermaid/) diff --git a/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx b/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx index f30b6f8824872bd..0ea121835970dac 100644 --- a/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx +++ b/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx @@ -15,11 +15,9 @@ We support a few different types of images in our docs, including: - [Diagrams](/style-guide/documentation-content-strategy/component-attributes/diagrams/) - [Mermaid diagrams](/style-guide/components/mermaid/) -- Screenshots +- [Screenshots](/style-guide/documentation-content-strategy/component-attributes/screenshots/) -Of these, we prefer Mermaid diagrams because they are searchable and changeable. The "cost" of updating a Mermaid diagram is much lower than re-taking a screenshot or working with a designer to update a diagram. - -Additionally, you should only use screenshots intentionally, such as when there's a clear user confusion that needs a visual image. [Find account and zone ID](/fundamentals/account/find-account-and-zone-ids/) is a good illustration of this, because it's a common user pain point and one that's very difficult in the current Cloudflare UI. +Of these, we prefer Mermaid diagrams because they are searchable and easily changeable. The "cost" of updating a Mermaid diagram is much lower than re-taking a screenshot or working with a designer to update a diagram. ## Maintenance From e70f243ada329c4716675de03cce2ae2fcad26f6 Mon Sep 17 00:00:00 2001 From: kodster28 Date: Tue, 8 Jul 2025 14:01:27 -0500 Subject: [PATCH 04/13] Finish screenshot guidelines --- src/content/docs/style-guide/components/mermaid.mdx | 6 ++++++ .../component-attributes/screenshots.mdx | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/content/docs/style-guide/components/mermaid.mdx b/src/content/docs/style-guide/components/mermaid.mdx index 3b219ea8b062c4f..5b631bb09a1bcae 100644 --- a/src/content/docs/style-guide/components/mermaid.mdx +++ b/src/content/docs/style-guide/components/mermaid.mdx @@ -4,6 +4,12 @@ title: Mermaid Mermaid diagrams are added with [`remark-mermaid`](https://github.com/remcohaszing/rehype-mermaid/) and [`mermaid`](https://www.npmjs.com/package/mermaid). +## Guidelines + +Use Mermaid diagrams to illustrate product or process flows. If they work for your use case, Mermaid diagrams are preferable to other [diagrams](/style-guide/documentation-content-strategy/component-attributes/diagrams/) because they are more easily searchable and changeable. + +## Usage + ```mermaid flowchart LR accTitle: Tunnels diagram diff --git a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx index 3d132a513d7c078..20d78271ef41990 100644 --- a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx +++ b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx @@ -17,6 +17,12 @@ A canonical example of this would be [Find account and zone ID](/fundamentals/ac - We tried explaining with words alone and that did not solve the confusion. - It's a task specifically related to new users, where they are less familiar with Cloudflare concepts or navigation patterns. +:::note + +Use screenshots liberally in [Changelog entries](/style-guide/documentation-content-strategy/content-types/changelog/), because this content type is an accepted "point-in-time" reference and it's okay for these screenshots to be outdated. + +::: + ## Guidelines Screenshots should: @@ -28,12 +34,14 @@ Screenshots should: - Avoid including visuals that change frequently, such as sidebar navigation. - Have descriptive alt text. -## Template +## Usage ```mdx ![Alt text](~/assets/images/$PRODUCT_NAME/$IMAGE_NAME.png) ``` +Add screenshots to the corresponsding `$PRODUCT_NAME` folder under [`/src/assets/images/`](https://github.com/cloudflare/cloudflare-docs/tree/production/src/assets/images). You may want to add subfolders for organizational purposes. + ## Maintenance We avoid screenshots without a clear purpose because they are difficult to maintain. This is because: From bd8d6cccf8f222710f41d0722bfa0503b7427786 Mon Sep 17 00:00:00 2001 From: kodster28 Date: Tue, 8 Jul 2025 16:20:05 -0500 Subject: [PATCH 05/13] migrated over info on redirects --- public/__redirects | 6 + .../redirects/best-practices.mdx | 31 ----- .../manage-content/redirects/index.mdx | 17 --- .../manage-content/redirects/process.mdx | 54 -------- .../component-attributes/links.mdx | 33 ++--- .../docs/style-guide/how-we-docs/links.mdx | 56 +++++++++ .../docs/style-guide/how-we-docs/metadata.mdx | 6 - .../style-guide/how-we-docs/redirects.mdx | 115 ++++++++++++++++++ .../partials/style-guide/link-types.mdx | 9 ++ 9 files changed, 204 insertions(+), 123 deletions(-) delete mode 100644 src/content/docs/docs-guide/manage-content/redirects/best-practices.mdx delete mode 100644 src/content/docs/docs-guide/manage-content/redirects/index.mdx delete mode 100644 src/content/docs/docs-guide/manage-content/redirects/process.mdx delete mode 100644 src/content/docs/style-guide/how-we-docs/metadata.mdx create mode 100644 src/content/partials/style-guide/link-types.mdx diff --git a/public/__redirects b/public/__redirects index bfd754f25979be4..4252a8ea067e6f6 100644 --- a/public/__redirects +++ b/public/__redirects @@ -1312,6 +1312,12 @@ /stream/platform/ /stream/changelog/ 301 /stream/reference/ /stream/faq/ 301 +# style guide + +/docs-guide/manage-content/redirects/ /style-guide/how-we-docs/redirects/ 301 +/docs-guide/manage-content/redirects/best-practices/ /style-guide/how-we-docs/redirects/ 301 +/docs-guide/manage-content/redirects/process/ /style-guide/how-we-docs/redirects/ 301 + # support /support/about-cloudflare/getting-started/troubleshooting-faq-for-new-cloudflare-customers/ /fundamentals/reference/troubleshooting/ 301 diff --git a/src/content/docs/docs-guide/manage-content/redirects/best-practices.mdx b/src/content/docs/docs-guide/manage-content/redirects/best-practices.mdx deleted file mode 100644 index 2a66411b840f3a3..000000000000000 --- a/src/content/docs/docs-guide/manage-content/redirects/best-practices.mdx +++ /dev/null @@ -1,31 +0,0 @@ ---- -pcx_content_type: reference -title: Best practices -sidebar: - order: 3 -head: - - tag: title - content: Redirects | Best practices ---- - -Beyond [how Cloudflare uses redirects](/docs-guide/manage-content/redirects/process/), we follow these best practices. - -## Organize your redirects - -As much as you can, try to organize your redirects into logical groups (products, alphabetical order). This process helps prevent duplicate redirects, as well as identifying specific ones you might be looking for. - -In our [Pages `_redirects` file](https://github.com/cloudflare/cloudflare-docs/blob/production/public/_redirects), we use extensive comments, separating different product areas. We also try, as much as we can, to keep the redirects in alphabetical order within a section. - -We used to apply a similar principle to [Bulk Redirect lists](/rules/url-forwarding/bulk-redirects/) (when that was our primary method). We created lists that grouped together similar products and labeled them as such, so it was easier to find which redirect you were looking for. - -## Know what you can redirect - -At the server level, you can trigger a redirect on a URL path (`/page/`), but not a fragment (`/page/#fragment`). - -You can redirect a page to a fragment, however (`/page1/` to `/page2/#fragment`). - -## Use automation - -Particularly in an open-source environment, use automation to identify changes that might require redirects. We built a [GitHub action](https://github.com/cloudflare/cloudflare-docs/blob/production/.github/workflows/comment-changed-filenames.yml) specifically for this use case. - -You should apply a similar process to infinite redirects (where two redirect rules point to each other), if possible, and redirects containing a source URL fragment, which are invalid. We have a [dedicated script](https://github.com/cloudflare/cloudflare-docs/blob/production/bin/validate-redirects.ts) to check for these situations in our Pages project. diff --git a/src/content/docs/docs-guide/manage-content/redirects/index.mdx b/src/content/docs/docs-guide/manage-content/redirects/index.mdx deleted file mode 100644 index edd7c072e52571a..000000000000000 --- a/src/content/docs/docs-guide/manage-content/redirects/index.mdx +++ /dev/null @@ -1,17 +0,0 @@ ---- -pcx_content_type: overview -title: Redirects - ---- - -import { DirectoryListing, GlossaryTooltip } from "~/components" - -As your content changes (and it will change), redirects preserve continuity for your users and (friendly) bots. - -The most obvious part of this is the user experience. If you click a link in the dashboard or use a bookmarked URL, you trust that it's taking you to the right place. Not a `404` page or the wrong page, but the right page. Redirects help direct users to the right place. - -The same applies to the automated experience. If you move a page without redirects, you are losing the historical search authority that Google and other search engines use to rank your page. - -## Resources - - diff --git a/src/content/docs/docs-guide/manage-content/redirects/process.mdx b/src/content/docs/docs-guide/manage-content/redirects/process.mdx deleted file mode 100644 index 73d0be3e5c39a24..000000000000000 --- a/src/content/docs/docs-guide/manage-content/redirects/process.mdx +++ /dev/null @@ -1,54 +0,0 @@ ---- -pcx_content_type: reference -title: How we do it -sidebar: - order: 1 -head: - - tag: title - content: Redirects | How we do it ---- - -There are [multiple ways](https://developers.google.com/search/docs/crawling-indexing/301-redirects) of performing redirects, including at your server, client-side redirects, and using a CDN. - -We use various Cloudflare products for our redirects, due to ease of use and speed[^1]. - -[^1]: Performing redirects through Cloudflare lets you implement redirects on the Cloudflare global network instead of making requests travel all the way to an origin server. - -## How we add redirects - -### Cloudflare Pages (primary) - -Our primary method takes advantage of the [Pages platform](/pages/configuration/redirects/), defining redirects in a [plain text file](https://github.com/cloudflare/cloudflare-docs/blob/production/public/_redirects) in our GitHub repo. - -This setup allows us to use the same workflow for redirects as for any other documentation change. We implement a redirect in the same pull request as the content change and can test these changes in our preview branches. - -We also love the flexibility provided by the [Pages syntax](/pages/configuration/redirects/#advanced-redirects). - -### Bulk redirects (secondary) - -In certain situations, we also use [Bulk redirects](/rules/url-forwarding/bulk-redirects/). - -Normally, bulk redirects only come up when another team is adding a large number of individual redirects to our site, such as when all of our previous `support.cloudflare.com` content was migrated and needed individualized redirects per locale. - -We use this method when the contributors are outside of our team and when the total number of redirects is so large that it would clutter our `_redirects` file and count against our [limit for Pages redirects](/pages/configuration/redirects/#surpass-_redirects-limits). - ---- - -## When we add redirects - -Our team adds redirects in two situations: during the course of normal content and as needed based on data. - -### During content work - -During normal content work, you want to add redirects when you do the following to a page: - -- Change any part of the URL (filename, folder). -- Delete the page. - -We have some automation to help [flag needed redirects](/docs-guide/manage-content/automation/process/#contributor-resources). - -### Based on data - -Another time to add redirects is when you see a lot of `404` response codes on certain paths of your docs site. These `404` responses might be due to a missing redirect or mistyped link. - -We identify these status codes either through our [Cloudflare analytics](/analytics/account-and-zone-analytics/zone-analytics/) (ad hoc) or [Logpush job](/logs/about/) (more thorough, quarterly). diff --git a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/links.mdx b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/links.mdx index 67d4efc3244d377..7564b4b5a9db849 100644 --- a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/links.mdx +++ b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/links.mdx @@ -1,38 +1,37 @@ --- pcx_content_type: concept title: Links - +meta: + title: Links | Component attributes --- -## Definition - -Reference to data that can be accessed by clicking, tapping, or selecting. +import { Render } from "~/components"; -## Used in +A link is a reference to another page, part of a page, or external resource. -All content types +Hyperlinks are incredibly useful but - if overdone - can be distracting. -## Overview +## Types of links -Hyperlinks are incredibly useful in online content but should not be overdone. Excessive hyperlinking inside of paragraphs is often distracting and can deviate the reader's focus from the piece at hand. + ## Guidance for inline paragraph links -Avoid non-descriptive link text like: click here and this page; instead, use the actual title of the target page or an abbreviated version of that title. This is also important so that readers see that when they get there, they actually linked to the page they intended to visit. +Avoid non-descriptive link text like: `click here` and `this page`; instead, use the actual title of the target page or an abbreviated version of that title. This is also important so that readers see that when they get there, they actually linked to the page they intended to visit. Use unique link text. Speech recognition software does not handle duplicated link text well. -Use in-paragraph links only if they are internal (those within Cloudflare's websites) and if the material relates directly to what's being described. In other words, will the content behind the link help the reader make a decision or accomplish something before continuing to read the current document? +Use in-paragraph links only if they are internal (those within Cloudflare's websites) and if the material relates directly to what's being described. In other words, will the content behind the link help the reader make a decision or accomplish something before continuing to read the current document? Avoid directional language. ## Links for the Related resources section -Use a *Related resources* section at the end of your document for: +Use a _Related resources_ section at the end of your document for: -* Internal links that loosely relate to the topic or offer a chance for deeper learning -* All external links (not residing in Cloudflare's websites) -* Internal and external links that represent the next logical steps to follow +- Internal links that loosely relate to the topic or offer a chance for deeper learning +- All external links (not residing in Cloudflare's websites) +- Internal and external links that represent the next logical steps to follow External links placed in-paragraph are strongly discouraged because Cloudflare has no control over them. For example, if a link no longer resolves, our content feels less reliable. By shifting all external links to the end of the document, the impact of a broken link is less dramatic. @@ -42,6 +41,10 @@ Place links for example requests and API calls in code blocks. Use placeholders in links with account- or user-specific information. And explain what to replace the referential text with. -* For example, for the link "`https://api.cloudflare.com/client/v4/accounts/a0b1c2d3/rulesets`" use "`https://api.cloudflare.com/client/v4/accounts//rulesets`" and add text to say "replace `` with your Account ID" or similar. +- For example, for the link "`https://api.cloudflare.com/client/v4/accounts/a0b1c2d3/rulesets`" use "`https://api.cloudflare.com/client/v4/accounts//rulesets`" and add text to say "replace `` with your Account ID" or similar. See [angle brackets](/style-guide/formatting/code-conventions-and-format/) in Code Conventions and Formatting. + +## Maintenance + +For more details on how we handle link maintenance, refer to [Link maintenance](/style-guide/how-we-docs/links/). diff --git a/src/content/docs/style-guide/how-we-docs/links.mdx b/src/content/docs/style-guide/how-we-docs/links.mdx index 37a6a80aeee7a4b..fad83354c6aa5ce 100644 --- a/src/content/docs/style-guide/how-we-docs/links.mdx +++ b/src/content/docs/style-guide/how-we-docs/links.mdx @@ -4,3 +4,59 @@ title: Links meta: title: Links | How we docs --- + +import { Render } from "~/components"; + +Though [links](/style-guide/documentation-content-strategy/component-attributes/links/) are an important part of documentation, they also have their own maintenance cost. + +We have a few strategies we use to make link maintenance easier. + +## Link types + + + +For each type of link, we think through a few different aspects of the experience. + +- **External**: + - _Source of truth_: Another site. + - _Why does it break_: Another site changed its content. + - _Customer experience of a break_: `404` page on another site. +- **Internal**: + - _Source of truth_: Your site. + - _Why does it break_: Your site changed its content. + - _Customer experience of a break_: `404` page on your site. +- **Anchor**: + - _Source of truth_: Your site. + - _Why does it break_: Your site changed its content. + - _Customer experience of a break_: Page load on your site. Content might be further down the page or have been moved to another page. + +## Checks + +### Internal links + +Of these three [link types](#link-types), only **Internal** links: + +- Happen _within_ the context of a change to your site's content. +- Universally lead to a bad customer experience (a `404` page). +- Are easily auditable within the current context. + +For these reasons, we choose to **fail** a build based on broken internal links. For our implementation, we rely on the Starlight link validator plugin. + +{/* Insert reference to astro.config.ts + links to starlight link plugin + CI build step */} + +We also make two intentional decisions about this link auditing: + +- **Absolute links, not relative**: We enforce absolute links (`/style-guide/how-we-docs/metadata/`) and fail on relative links (`../metadata/`) to avoid time-consuming maintenance in the future. This decision also helps with find/replace work and any future platform migrations. +- **No redirects**: We do not consider redirects when evaluating links. We have the current source of truth, so we should utilize that truth to its fullest (as well as helping us avoid redirect chains and future maintenance). + +### External links + +Though external links are not good for the customer experience, they also don't change within the context of a change to your site's content. Additionally, external link checking can be time consuming and error prone, which can slow down contributions. + +We use an external SEO tool to help flag these broken external links for us, addressing them as needed (instead of failing a build on them). + +### Anchor links + +Anchor links do not have as dramatic as consequences of being wrong as internal links. If you have a broken anchor link, a customer will either need to manually scroll to the header or - in some cases - go to another page. + +Because of these characteristics, we run periodic, background checks to flag broken anchor links, using the `htmltest` library. diff --git a/src/content/docs/style-guide/how-we-docs/metadata.mdx b/src/content/docs/style-guide/how-we-docs/metadata.mdx deleted file mode 100644 index d2678ebc1daeba8..000000000000000 --- a/src/content/docs/style-guide/how-we-docs/metadata.mdx +++ /dev/null @@ -1,6 +0,0 @@ ---- -pcx_content_type: how-to -title: Metadata -meta: - title: Metadata | How we docs ---- diff --git a/src/content/docs/style-guide/how-we-docs/redirects.mdx b/src/content/docs/style-guide/how-we-docs/redirects.mdx index 3fc31e6a7e20b73..c813a0a33317779 100644 --- a/src/content/docs/style-guide/how-we-docs/redirects.mdx +++ b/src/content/docs/style-guide/how-we-docs/redirects.mdx @@ -4,3 +4,118 @@ title: Redirects meta: title: Redirects | How we docs --- + +import { GlossaryTooltip } from "~/components"; + +As your content changes (and it will change), redirects preserve continuity for your users and (friendly) bots. + +The most obvious part of this is the user experience. If you click a link in the dashboard or use a bookmarked URL, you trust that it's taking you to the right place. Not a `404` page or the wrong page, but the right page. Redirects help direct users to the right place. + +The same applies to the automated experience. If you move a page without redirects, you are losing the historical search authority that Google and other search engines use to rank your page. + +--- + +## How we add redirects + +### Cloudflare Workers (primary) + +Our primary method takes advantage of [Workers Static Assets](/workers/static-assets/redirects/), defining redirects in a [plain text file](https://github.com/cloudflare/cloudflare-docs/blob/production/public/__redirects) in our GitHub repo. + +This setup allows us to use the same workflow for redirects as for any other documentation change. We implement a redirect in the same pull request as the content change and can test these changes in our preview branches. For maintenance, we try to keep these redirects [organized](#organize-your-redirects) by product and then — within each product — organized alphabetically. + +We also love the flexibility provided by the [Pages syntax](/workers/static-assets/redirects/#advanced-redirects). + +### Bulk redirects (secondary) + +In certain situations, we also use [Bulk redirects](/rules/url-forwarding/bulk-redirects/). We use this strategy sparing because having redirects in multiple places increases the cognitive load and potential confusion of making a change. + +Normally, bulk redirects only come up when another team is adding a large number of individual redirects to our site, such as when all of our previous `support.cloudflare.com` content was migrated and needed individualized redirects per locale. + +We use this method when the contributors are outside of our team and when the total number of redirects is so large that it would clutter our `__redirects` file and count against our [limit for redirects](/workers/static-assets/redirects/#surpass-_redirects-limits). + +--- + +## When we add redirects + +Our team adds redirects in two situations: during the course of normal content and as needed based on data. + +### During content work + +During normal content work, you want to add redirects when you do the following to a page: + +- Change any part of the URL (filename, folder). +- Delete the page. + +We have some automation to help [flag needed redirects](#potential-redirects). + +### Based on data + +Another time to add redirects is when you see a lot of `404` response codes on certain paths of your docs site. These `404` responses might be due to a missing redirect or mistyped link. + +We identify these status codes either through our [Cloudflare analytics](/analytics/account-and-zone-analytics/zone-analytics/) (ad hoc) or [Logpush job](/logs/about/) (more thorough, quarterly). + +--- + +## How we automate redirects + +We have two automations in GitHub to help with redirects. + +### Infinite redirects + +An infinite redirect is when two pages keep redirecting to each other, trapping users in an infitnite loop that will crash their browser. + +Because that’s just a terrible experience, we explicitly check for that as part of our required `CI` GitHub action. + +{/* {{ CI step — use GitHub code }} */} + +We trigger this check _after_ we build our site. What it does it then call this script. + +{/* {{ Infinite redirects — use GitHub code }} */} + +{/* Talk through details of the script. */} + +### Potential redirects + +Contributors often struggle to know when they should add redirects. We try to help them by adding a comment to any pull requests that modify or delete content file paths. + +{/* Insert picture of comment */} + +{/* Talk through script */} + +--- + +## Other guidance + +### Organize your redirects + +As much as you can, try to organize your redirects into logical groups (products, alphabetical order). This process helps prevent duplicate redirects, as well as identifying specific ones you might be looking for. + +In our [`__redirects` file](https://github.com/cloudflare/cloudflare-docs/blob/production/public/__redirects), we use extensive comments, separating different product areas. We also try, as much as we can, to keep the redirects in alphabetical order within a section. + +We used to apply a similar principle to [Bulk Redirect lists](/rules/url-forwarding/bulk-redirects/) (when that was our primary method). We created lists that grouped together similar products and labeled them as such, so it was easier to find which redirect you were looking for. + +### Know what you can redirect + +At the server level, you can trigger a redirect on a URL path (`/page/`), but not a fragment (`/page/#fragment`). + +You can redirect a page to a fragment, however (`/page1/` to `/page2/#fragment`). + +### Avoid redirect chains + +If possible, have all redirects send your users directly to their destination instead of chaining together redirects. + +Otherwise, you can have the following situation: + +```txt +Page 1 --Redirect-> Page 2 --Redirect-> Page 3 --Redirect-> Page 4 +``` + +A way to avoid this outcome is by continually updating the destinations of previous redirects. For example, let's say you changed the name of this page to `/style-guide/how-we-docs/redirect-guidance/`. + +In the pull request to update your redirects file, you would want to update the existing redirect as well as adding a new redirect: + +```diff title="__redirects" +- /style-guide/redirects/ /style-guide/how-we-docs/redirects/ 301 ++ /style-guide/redirects/ /style-guide/how-we-docs/redirect-guidance/ 301 ++ /style-guide/how-we-docs/redirects/ /style-guide/how-we-docs/redirect-guidance/ 301 +``` diff --git a/src/content/partials/style-guide/link-types.mdx b/src/content/partials/style-guide/link-types.mdx new file mode 100644 index 000000000000000..d740b09b624836a --- /dev/null +++ b/src/content/partials/style-guide/link-types.mdx @@ -0,0 +1,9 @@ +--- +{} +--- + +There are 3 types of links: + +- **External**: To other resources, such as www.cloudflare.com. +- **Internal**: To other pages in the docs, such as [Workers](/workers/). +- **Anchor**: To specific parts of other pages in our docs, such as [Proxied records](/dns/proxy-status/#proxied-records). From 6c12034380c72a59bb3263e7d70d92e401d45a63 Mon Sep 17 00:00:00 2001 From: kodster28 Date: Tue, 8 Jul 2025 17:24:34 -0500 Subject: [PATCH 06/13] structure for metadata page --- public/__redirects | 2 + .../manage-content/metadata/index.mdx | 25 ----- .../manage-content/metadata/process.mdx | 52 --------- .../docs/style-guide/how-we-docs/metadata.mdx | 104 ++++++++++++++++++ 4 files changed, 106 insertions(+), 77 deletions(-) delete mode 100644 src/content/docs/docs-guide/manage-content/metadata/index.mdx delete mode 100644 src/content/docs/docs-guide/manage-content/metadata/process.mdx create mode 100644 src/content/docs/style-guide/how-we-docs/metadata.mdx diff --git a/public/__redirects b/public/__redirects index 4252a8ea067e6f6..2bd022a33a891a7 100644 --- a/public/__redirects +++ b/public/__redirects @@ -1317,6 +1317,8 @@ /docs-guide/manage-content/redirects/ /style-guide/how-we-docs/redirects/ 301 /docs-guide/manage-content/redirects/best-practices/ /style-guide/how-we-docs/redirects/ 301 /docs-guide/manage-content/redirects/process/ /style-guide/how-we-docs/redirects/ 301 +/docs-guide/manage-content/metadata/ /style-guide/how-we-docs/metadata/ 301 +/docs-guide/manage-content/metadata/process/ /style-guide/how-we-docs/metadata/ 301 # support diff --git a/src/content/docs/docs-guide/manage-content/metadata/index.mdx b/src/content/docs/docs-guide/manage-content/metadata/index.mdx deleted file mode 100644 index 0d97190cb4ddfa3..000000000000000 --- a/src/content/docs/docs-guide/manage-content/metadata/index.mdx +++ /dev/null @@ -1,25 +0,0 @@ ---- -pcx_content_type: overview -title: Metadata - ---- - -import { DirectoryListing } from "~/components" - -Page-level metadata - content type, associated products, last updated, word count - lets you take a broader, more strategic view of your content. - -It helps you answer questions like the following: - -* As a writer: - * Am I missing something obvious in the content strategy? - * What are some pages I should be updating right now? -* As a manager: - * Are we over or underinvesting in a specific product area? Or a specific content type? - * How does the traffic to this set of products compare to another? - * How can I communicate broader trends to my stakeholders? - -You cannot answer these questions without some level of rollup reporting, which you can only get through metadata. - -## Resources - - diff --git a/src/content/docs/docs-guide/manage-content/metadata/process.mdx b/src/content/docs/docs-guide/manage-content/metadata/process.mdx deleted file mode 100644 index 970ccea4d566bea..000000000000000 --- a/src/content/docs/docs-guide/manage-content/metadata/process.mdx +++ /dev/null @@ -1,52 +0,0 @@ ---- -pcx_content_type: reference -title: How we do it -sidebar: - order: 1 -head: - - tag: title - content: Metadata | How we do it - ---- - -At Cloudflare, we track the following information about each page: - -| Value | Description | Examples | -| ----------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | -| **Product** | The top-level subfolder of the page. | `dns`, `bots` | -| **Product Group** | The primary area that each product falls into. | `Application Performance`, `Developer Platform` | -| **Content type** | The primary purpose of the page, which corresponds to our listed [content types](/style-guide/documentation-content-strategy/content-types/). | `how-to`, `faq` | -| **Last modified** | How many days ago was this page last updated? | `63` | -| **Last reviewed** | How many days ago was this page last reviewed? | `100` | -| **Word count** | How many words does the page contain (rounded to the nearest hundred)? | `100` | - -Of all of these values, there is a bit of nuance to our **Last reviewed** metadata. **Last reviewed** differs from **Last modified** because a review is more thorough than an update. A review implies that all contents of the page have been vetted for accuracy. - -Because of this extra effort, we only track **Last reviewed** for content types that are particularly important to the user journey and require an additional level of maintenance. At the moment, those content types are [tutorials](/style-guide/documentation-content-strategy/content-types/tutorial/) and specific types of [configurations](/style-guide/documentation-content-strategy/content-types/configuration/). - -*** - -## Implementation - -There are two aspects to our metadata implementation: how we set these values and how we make them available. - -### Setting values - -In setting values, we automate what we can and manually set the rest: - -| Value | Method | -| ----------------- | ------------------------------------------------------------------------------------------ | -| **Product** | Set automatically by using the subfolder. | -| **Product Group** | Defined at the product level and then automatically applied to each page in the subfolder. | -| **Content type** | Manually set for each page. | -| **Last modified** | Automatically pulled from the Git history. | -| **Last reviewed** | Manually set for some pages. | -| **Word count** | Automatically generated during build time. | - -### Making values available - -We choose to render all of these values as specific `meta` properties for each page. - -This decision - combined with the multiple web scrapers that crawl our pages - means that our metadata is available for reporting and search improvements (ranking and faceting). - -It also means that our GitHub repo is always the source of truth and we do not have to keep a spreadsheet or mapping updated elsewhere. diff --git a/src/content/docs/style-guide/how-we-docs/metadata.mdx b/src/content/docs/style-guide/how-we-docs/metadata.mdx new file mode 100644 index 000000000000000..f8658732034af6f --- /dev/null +++ b/src/content/docs/style-guide/how-we-docs/metadata.mdx @@ -0,0 +1,104 @@ +--- +pcx_content_type: how-to +title: Metadata +meta: + title: Metadata | How we docs +--- + +Page-level metadata - content type, associated products, last updated, word count - lets you take a broader, more strategic view of your content. + +It helps you answer questions like the following: + +- As a writer: + - Am I missing something obvious in the content strategy? + - What are some pages I should be updating right now? + - How does X tutorial compare with all tutorials? Is it getting more traffic than the baseline? +- As a manager: + - Are we over or underinvesting in a specific product area? Or a specific content type? + - How does the traffic to this set of products compare to another? + - How can I communicate broader trends to my stakeholders? + +You cannot answer these questions without some level of rollup reporting, which you can only get through metadata. + +## What we track + +At Cloudflare, we track the following information about different pages: + +| Value | Description | Examples | +| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------- | +| **Product** | The top-level subfolder of the page. | `dns`, `bots` | +| **Product Group** | The primary area that each product falls into. | `Application Performance`, `Developer Platform` | +| **Tags** | Specific [atttributes](/style-guide/frontmatter/tags/) related to a page's content or purpose. | `AI`, `JavaScript`, `Headers` | +| **Content type** | The primary purpose of the page, which corresponds to our listed [content types](/style-guide/documentation-content-strategy/content-types/). | `how-to`, `faq` | +| **Last modified** | How many days ago was this page last updated? | `63` | +| **Last reviewed** (optional) | How many days ago was this page last reviewed? | `100` | + +Of all of these values, there is a bit of nuance to our **Last reviewed** metadata. **Last reviewed** differs from **Last modified** because a review is more thorough than an update. A review implies that all contents of the page have been vetted for accuracy. + +Because of this extra effort, we only track **Last reviewed** for content types that are particularly important to the user journey and require an additional level of maintenance. At the moment, those content types are [tutorials](/style-guide/documentation-content-strategy/content-types/tutorial/). + +--- + +## How we track + +We set these values at two different levels, the folder level and the page level. + +### Folder-level attributes + +We set two values at a folder level, `Product` and `Product Group`. We take this approach because we can assume that these values apply every page within that folder. + +{/* GitHubCode example of a product.yaml file */} + +### Page-level attributes + +We primarily set page-level attributes through the [page's frontmatter](/style-guide/frontmatter/custom-properties/). + +{/* GitHubCode example of a specific file with a lot of them */} + +However, the `last_modified` value is pulled automatically from the git history of a file. + +--- + +## How we use values + +We choose to render all of these values as specific `meta` properties for each page. + +For example, these are the `meta` properties and values on the [AI Audit - Get Started page](/ai-audit/get-started/). + +{/* prettier-ignore */} +```html title="Get Started | AI Audit" + + + + +``` + +We render these values using a custom override for our [`Head.astro`]() file. + +{/* GitHubCode for Head.astro */} + +### Benefits + +We get two primary benefits from structuring our content this way. + +First, our metadata is easily consumable by anyone who crawls our pages. We started using these values for our Algolia search configuration and internal reporting, but have since expanded to sharing this data with other teams that consume our content for AI systems too. + +Additionally, this decisions means that our GitHub repo is always the source of truth. We do not have to keep a spreadsheet or mapping updated elsewhere, the source of truth is always in our repo and - by extension - a lot more likely to be accurate than if we maintained multiple sources of truth. + +--- + +## How we ensure quality + +It's difficult to avoid errors with this kind of metadata, specifically because we are relying on freeform text entry in the frontmatter of individual files. + +We utilize `zod` schemas heavily in our Astro site, which are defined at [tbd](/tbd/). + +These allow us to provide Intellisense guidance for contributors using IDEs for local development. + +### Optional or required + +At the moment, most of our Zod schemas are purely optional, meaning that they will not cause a build to fail. + +However, we do have one value, `tags`, that we enforce an allowlist as part of our schema validation. We enforce this schema specifically because we render it as a customer-facing facet for our [search page](/search/), meaning that typos are more disruptive than for other types of metadata. + +To try and make this list a bit more flexible, we've included `alternate` values that can lead to the same presented value. From 2acef48bd6598dcd0c8255b0097280e7ec08205f Mon Sep 17 00:00:00 2001 From: kodster28 Date: Wed, 9 Jul 2025 08:59:40 -0500 Subject: [PATCH 07/13] Add in code examples for metadata --- .../docs/style-guide/how-we-docs/metadata.mdx | 44 +++++++++++++------ 1 file changed, 31 insertions(+), 13 deletions(-) diff --git a/src/content/docs/style-guide/how-we-docs/metadata.mdx b/src/content/docs/style-guide/how-we-docs/metadata.mdx index f8658732034af6f..1b9c7ea4a16da2a 100644 --- a/src/content/docs/style-guide/how-we-docs/metadata.mdx +++ b/src/content/docs/style-guide/how-we-docs/metadata.mdx @@ -5,6 +5,8 @@ meta: title: Metadata | How we docs --- +import { GitHubCode } from "~/components"; + Page-level metadata - content type, associated products, last updated, word count - lets you take a broader, more strategic view of your content. It helps you answer questions like the following: @@ -47,13 +49,30 @@ We set these values at two different levels, the folder level and the page level We set two values at a folder level, `Product` and `Product Group`. We take this approach because we can assume that these values apply every page within that folder. -{/* GitHubCode example of a product.yaml file */} +For example, here's the content from our [DNS folder](https://github.com/cloudflare/cloudflare-docs/blob/production/src/content/products/dns.yaml). + + ### Page-level attributes We primarily set page-level attributes through the [page's frontmatter](/style-guide/frontmatter/custom-properties/). -{/* GitHubCode example of a specific file with a lot of them */} +For example, here are the values set for our [Build a Slackbot tutorial](/workers/tutorials/build-a-slackbot/). + + However, the `last_modified` value is pulled automatically from the git history of a file. @@ -73,9 +92,16 @@ For example, these are the `meta` properties and values on the [AI Audit - Get S ``` -We render these values using a custom override for our [`Head.astro`]() file. +We render these values using a custom override for our [`Head.astro`](https://github.com/cloudflare/cloudflare-docs/blob/production/src/components/overrides/Head.astro) file. If specific values are set, we then add them as meta tags onto the page. -{/* GitHubCode for Head.astro */} + ### Benefits @@ -91,14 +117,6 @@ Additionally, this decisions means that our GitHub repo is always the source of It's difficult to avoid errors with this kind of metadata, specifically because we are relying on freeform text entry in the frontmatter of individual files. -We utilize `zod` schemas heavily in our Astro site, which are defined at [tbd](/tbd/). +We utilize [Zod schemas](https://zod.dev/) heavily in our Astro site, which are defined in [`src/schemas/`](https://github.com/cloudflare/cloudflare-docs/tree/production/src/schemas). These allow us to provide Intellisense guidance for contributors using IDEs for local development. - -### Optional or required - -At the moment, most of our Zod schemas are purely optional, meaning that they will not cause a build to fail. - -However, we do have one value, `tags`, that we enforce an allowlist as part of our schema validation. We enforce this schema specifically because we render it as a customer-facing facet for our [search page](/search/), meaning that typos are more disruptive than for other types of metadata. - -To try and make this list a bit more flexible, we've included `alternate` values that can lead to the same presented value. From 3b48e0ea05f90a0ef96bc3bb99f19955d5854829 Mon Sep 17 00:00:00 2001 From: kodster28 Date: Wed, 9 Jul 2025 15:03:04 -0500 Subject: [PATCH 08/13] Added scripts and links to redirects --- .../how-we-docs/redirects-comment.png | Bin 0 -> 88558 bytes .../style-guide/how-we-docs/redirects.mdx | 28 +++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) create mode 100644 src/assets/images/style-guide/how-we-docs/redirects-comment.png diff --git a/src/assets/images/style-guide/how-we-docs/redirects-comment.png b/src/assets/images/style-guide/how-we-docs/redirects-comment.png new file mode 100644 index 0000000000000000000000000000000000000000..85c1581048220985e11d8f1d6494cb90e28cf261 GIT binary patch literal 88558 zcmaI71z4Otvp2^oKk$KY`(!5>@$nrFO5S28E^gcJNh~U93B6&-S7X{m(C4HQ7+)NIzfJBuY{bXYrdH~OQhgIV z!3b2tvp4pkD14Gs#{qKMCPB9yKA6eIJ_JrMbByzuC(XtOsMn3{xIRc;Q!w0R?{fMj zvx>z|Afy_3rDmH)(Wu;!@GJ=uBKu$Sl(4d=)JxnR0B9TCF2|!Z|U>rb@>jpa-BNF)0 z%+xZ#L6MStssPiB1yk_Fses_p<)Z=<)x}?eAL$0v5EH!oKcv|!3`_0cAV@Iwh##VGMTrXHYUm{VT-dLt19K}e;;GnRs zJ_8j!1jfRYfRx!3niQfjv^_|yh(bN&T4yz4OA2;$ARZ7G2)pWQ)$eQoTWi2cAPa30 z?$86h&Drdz32x1C26qN=#%>LFkIoRV*rT!4e(}SV6o9G|UfrKPxG}&#D2Mh3{s{_J zh{R8Ph|KZ}0ZBcYHF_`{h6r>X>2w&5kTgXVWfJ;vm}+QD=((Yxp`+o6QPL2cp}o7F_-r9R!NjL7I)4rE8Kc8urzH;ICk=&aMa^8?G>~O#VFo8T?Fz zkc8le@C_jy(;Tyk28m|-GxBFXOtZ`;*y<<`k+j`OYnCfOn7gtxe|oXn#G6 zqpG6lq-;!;UddYi?8jS$km{w9q{4F5Ou>~JW~F&vtBBLDBkg&bvg)}K^JsI;2B8KF zbJRIKCyZN?+xesCd7imJR#vt)HW54^8@*ZEOo3Ue`B(EK)2u~;={!>|3;6o)_4KCg zIW*I$H-_%GugqRb8d|I38hKiU>!p0T1|=9}3B|KH*J{Znqf=3{bkkO|g!8jAh*P7} z<+C0+a#JP;ln3WCHjBg@jI3}ROQutXjFu&qL(F6B6)c{HBJB1|Kh2b^92apc#u#Op zK?Z9^5a~-P6e&t6Ys^71Rx;2<9@4;lgT2*B?1}2E4HGeDgEXU*`BdbT*|FF0>#_7P z9fm0lv5|cD_OZ0@3!GuYsX_b<`4FX>e>C=MxV~f#wRe?2bdE$*LpRdT3b6s z5;#NXGdRyNcEf7J_f{xiV0(f7a2?5LPDak1?sr>9TdRu@w5HffQdHq6p)a{sdiHvw zJ?1?Fy?i|pz0c%WA{AlHxTSdCLM@|vM1w>LBk?qjS{(Oha*fzW5t44{IW)6cUY-!< zF^6d;L`Ov(^5h0|^?MA=4LWQgxaKoz)l@8vPN)_$ff3K~`y(`4Q5TsH{V)4=vUdG; zy_d3=Jlo=*G(UaE(1u@w-u34Q1B5+)8ccvlK=~r`HH4C*U{g_FVFC^_NU~?NG_5qX zbe&A`hhK?LVed#Ljd;KJc7U1u%2oZIBQ-OXlSCv1zXS|(1`9PapbA05iCK|UF=aW< zD8Av_v0J0+9Ygtac}w}KeZ9lNK2n8VRq0Q}$|$YXMp+lFx7J+E^R?dNu;YY<_au`z z)r@;@;fLTP�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
+ +
### Potential redirects -Contributors often struggle to know when they should add redirects. We try to help them by adding a comment to any pull requests that modify or delete content file paths. - -{/* Insert picture of comment */} +Contributors often struggle to know when they should add redirects. We try to help them by [adding a comment](https://github.com/cloudflare/cloudflare-docs/blob/production/.github/workflows/comment-changed-filenames.yml) to any pull requests that modify or delete content file paths. -{/* Talk through script */} +![GitHub Actions redirect comment](~/assets/images/style-guide/how-we-docs/redirects-comment.png) --- From a16cad751855dc6eea38281b3125111b59a8d173 Mon Sep 17 00:00:00 2001 From: kodster28 Date: Wed, 9 Jul 2025 15:12:53 -0500 Subject: [PATCH 09/13] Finish adding in links --- .../docs/style-guide/how-we-docs/links.mdx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/content/docs/style-guide/how-we-docs/links.mdx b/src/content/docs/style-guide/how-we-docs/links.mdx index fad83354c6aa5ce..f4e4c3af065bd85 100644 --- a/src/content/docs/style-guide/how-we-docs/links.mdx +++ b/src/content/docs/style-guide/how-we-docs/links.mdx @@ -5,7 +5,7 @@ meta: title: Links | How we docs --- -import { Render } from "~/components"; +import { GitHubCode, Render } from "~/components"; Though [links](/style-guide/documentation-content-strategy/component-attributes/links/) are an important part of documentation, they also have their own maintenance cost. @@ -40,9 +40,18 @@ Of these three [link types](#link-types), only **Internal** links: - Universally lead to a bad customer experience (a `404` page). - Are easily auditable within the current context. -For these reasons, we choose to **fail** a build based on broken internal links. For our implementation, we rely on the Starlight link validator plugin. +For these reasons, we choose to **fail** a build based on broken internal links. For our implementation, we rely on the [Starlight link validator plugin](https://github.com/HiDeoo/starlight-links-validator). -{/* Insert reference to astro.config.ts + links to starlight link plugin + CI build step */} + + +Whether or not we run the link validation depends an environmental variable that we set in our [CI build process](https://github.com/cloudflare/cloudflare-docs/blob/production/.github/workflows/ci.yml#L52). We also make two intentional decisions about this link auditing: @@ -59,4 +68,4 @@ We use an external SEO tool to help flag these broken external links for us, add Anchor links do not have as dramatic as consequences of being wrong as internal links. If you have a broken anchor link, a customer will either need to manually scroll to the header or - in some cases - go to another page. -Because of these characteristics, we run periodic, background checks to flag broken anchor links, using the `htmltest` library. +Because of these characteristics, we run [periodic, background checks](https://github.com/cloudflare/cloudflare-docs/blob/production/.github/workflows/anchor-link-audit.yml) to flag broken anchor links, using the `htmltest` library. From 01cf1afea453cad5f73919100cd0a1730b64c3cb Mon Sep 17 00:00:00 2001 From: kodster28 Date: Wed, 9 Jul 2025 15:14:18 -0500 Subject: [PATCH 10/13] Denise feedback --- .../docs/style-guide/how-we-docs/image-maintenance.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx b/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx index 0ea121835970dac..5b7bf70229abdf6 100644 --- a/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx +++ b/src/content/docs/style-guide/how-we-docs/image-maintenance.mdx @@ -31,11 +31,11 @@ We do that through a combination of GitHub actions. We have a specific GitHub action to [flag unused images](https://github.com/cloudflare/cloudflare-docs/blob/production/.github/workflows/image-audit.yml). -What it does is: +What the GitHub action does is: 1. Finds all `.png` or `.svg` files in our content. 2. Checks to see if those files are referenced in any of our MDX files. -3. If there are unreferenced files, creates a [GitHub issue](https://github.com/cloudflare/cloudflare-docs/issues/23343) listing them out. +3. Ceates a [GitHub issue](https://github.com/cloudflare/cloudflare-docs/issues/23343) if there are unreferenced files. ### Evaluate image paths @@ -60,4 +60,4 @@ This line ensures that our custom [Remark plugin](https://github.com/cloudflare/ code={{ title: "validate-images.ts" }} /> -When paired with [flagging unused images](#flag-unused-images), this path validation ensures that a tech writer can safely delete unused files in a PR. So long as the site builds correctly, you have only deleted image files that are not referenced anywhere. +When paired with [flagging unused images](#flag-unused-images), this path validation ensures that a tech writer can safely delete unused files in a pull request. So long as the site builds correctly, you have only deleted image files that are not referenced anywhere. From 9343bd42946b1165b5be17e425fdc2ed5e72814b Mon Sep 17 00:00:00 2001 From: Kody Jackson Date: Tue, 15 Jul 2025 07:58:09 -0500 Subject: [PATCH 11/13] Apply suggestions from code review Co-authored-by: Caley Burton --- .../component-attributes/screenshots.mdx | 2 +- src/content/docs/style-guide/how-we-docs/index.mdx | 2 +- src/content/docs/style-guide/how-we-docs/links.mdx | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx index 20d78271ef41990..e17e9dd2fd94601 100644 --- a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx +++ b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/screenshots.mdx @@ -9,7 +9,7 @@ We only recommend screenshots in [specific scenarios](#when-to-use), as they hav ## When to use -Use screenshots sparingly and intentionally, often accompanying a simple, but commonly confused task in the Cloudflare dashboard. +Use screenshots sparingly and intentionally. For example, it's appropriate to use a screenshot when the task is simple but often confuses users or is hard to describe with words alone. A canonical example of this would be [Find account and zone ID](/fundamentals/account/find-account-and-zone-ids/) because: diff --git a/src/content/docs/style-guide/how-we-docs/index.mdx b/src/content/docs/style-guide/how-we-docs/index.mdx index 158c5d060293b60..413901f587f3446 100644 --- a/src/content/docs/style-guide/how-we-docs/index.mdx +++ b/src/content/docs/style-guide/how-we-docs/index.mdx @@ -9,7 +9,7 @@ import { DirectoryListing } from "~/components"; This section shares how Cloudflare approaches docs strategically, covering topics like `how we built our site` and `how we think about redirects`. -The goal is twofold, because it: +The goal is twofold because it: - Encourages deep thinking about how we approach things (and if they could be better). - Contributes back to the open-source ecosystem. We get a lot of benefits from being open source and we want to give back. diff --git a/src/content/docs/style-guide/how-we-docs/links.mdx b/src/content/docs/style-guide/how-we-docs/links.mdx index f4e4c3af065bd85..f6c4b16d4ec6f55 100644 --- a/src/content/docs/style-guide/how-we-docs/links.mdx +++ b/src/content/docs/style-guide/how-we-docs/links.mdx @@ -40,7 +40,7 @@ Of these three [link types](#link-types), only **Internal** links: - Universally lead to a bad customer experience (a `404` page). - Are easily auditable within the current context. -For these reasons, we choose to **fail** a build based on broken internal links. For our implementation, we rely on the [Starlight link validator plugin](https://github.com/HiDeoo/starlight-links-validator). +For these reasons, we choose to make a build **fail** based on broken internal links. For our implementation, we rely on the [Starlight link validator plugin](https://github.com/HiDeoo/starlight-links-validator). Date: Tue, 15 Jul 2025 08:38:18 -0500 Subject: [PATCH 12/13] Tweaks from Caley --- .../style-guide/how-we-docs/intellisense.png | Bin 0 -> 33335 bytes .../how-we-docs/redirects-comment.png | Bin 88558 -> 0 bytes .../how-we-docs/redirects-github.png | Bin 0 -> 68227 bytes .../docs/style-guide/how-we-docs/metadata.mdx | 4 +++- .../docs/style-guide/how-we-docs/redirects.mdx | 9 +++++++-- 5 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 src/assets/images/style-guide/how-we-docs/intellisense.png delete mode 100644 src/assets/images/style-guide/how-we-docs/redirects-comment.png create mode 100644 src/assets/images/style-guide/how-we-docs/redirects-github.png diff --git a/src/assets/images/style-guide/how-we-docs/intellisense.png b/src/assets/images/style-guide/how-we-docs/intellisense.png new file mode 100644 index 0000000000000000000000000000000000000000..d9a23994027d518136b83c1a4546b3435eda7ec8 GIT binary patch literal 33335 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�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 Ba~c2u literal 0 HcmV?d00001 diff --git a/src/content/docs/style-guide/how-we-docs/metadata.mdx b/src/content/docs/style-guide/how-we-docs/metadata.mdx index 1b9c7ea4a16da2a..275bdcfaf7865ac 100644 --- a/src/content/docs/style-guide/how-we-docs/metadata.mdx +++ b/src/content/docs/style-guide/how-we-docs/metadata.mdx @@ -119,4 +119,6 @@ It's difficult to avoid errors with this kind of metadata, specifically because We utilize [Zod schemas](https://zod.dev/) heavily in our Astro site, which are defined in [`src/schemas/`](https://github.com/cloudflare/cloudflare-docs/tree/production/src/schemas). -These allow us to provide Intellisense guidance for contributors using IDEs for local development. +These allow us to provide [Intellisense guidance](https://docs.astro.build/en/reference/experimental-flags/content-intellisense/) for contributors using IDEs for local development. + +![Intellisense in action](~/assets/images/style-guide/how-we-docs/intellisense.png) diff --git a/src/content/docs/style-guide/how-we-docs/redirects.mdx b/src/content/docs/style-guide/how-we-docs/redirects.mdx index 3675d431640d532..dd80bf8fc0137db 100644 --- a/src/content/docs/style-guide/how-we-docs/redirects.mdx +++ b/src/content/docs/style-guide/how-we-docs/redirects.mdx @@ -84,9 +84,9 @@ We trigger this check _after_ we build our site. What it does it then call [`val ### Potential redirects -Contributors often struggle to know when they should add redirects. We try to help them by [adding a comment](https://github.com/cloudflare/cloudflare-docs/blob/production/.github/workflows/comment-changed-filenames.yml) to any pull requests that modify or delete content file paths. +Contributors often struggle to know when they should add redirects. We try to help them by [adding a comment](https://github.com/cloudflare/cloudflare-docs/blob/production/.github/workflows/potential-redirects-or-partials.yml) to any pull requests that modify or delete content file paths. -![GitHub Actions redirect comment](~/assets/images/style-guide/how-we-docs/redirects-comment.png) +![GitHub Actions redirect comment](~/assets/images/style-guide/how-we-docs/redirects-github.png) --- @@ -116,6 +116,11 @@ Otherwise, you can have the following situation: Page 1 --Redirect-> Page 2 --Redirect-> Page 3 --Redirect-> Page 4 ``` +Redirect chains are bad because they: + +- Slow down the user experience. +- Increase the likelihood of unintentional outcomes (infinite redirects, missing redirects, incorrect redirects). + A way to avoid this outcome is by continually updating the destinations of previous redirects. For example, let's say you changed the name of this page to `/style-guide/how-we-docs/redirect-guidance/`. In the pull request to update your redirects file, you would want to update the existing redirect as well as adding a new redirect: From 915bff734c6fcb89b12811cb82a473d02565ab59 Mon Sep 17 00:00:00 2001 From: kodster28 Date: Tue, 15 Jul 2025 08:46:15 -0500 Subject: [PATCH 13/13] Small update --- .../component-attributes/diagrams.mdx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/diagrams.mdx b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/diagrams.mdx index 6370564741101a3..fe4e2bd05369a70 100644 --- a/src/content/docs/style-guide/documentation-content-strategy/component-attributes/diagrams.mdx +++ b/src/content/docs/style-guide/documentation-content-strategy/component-attributes/diagrams.mdx @@ -5,7 +5,7 @@ title: Diagrams ## Definition -Images that depict a process, architecture, or some other form of technology. +Images that depict a process, architecture, or some other form of technology. These should ideally be in an `SVG` format because of scalability issues. ## Used in @@ -31,6 +31,10 @@ Always try to use SVG images for diagrams. Bitmap formats like PNG and JPEG do n The alt (alternative) text on diagrams is used by screen readers and is read out as part of the surrounding content. Ensure the alt text is straightforward and fits in the context of the content. +## Optimizations + +When we use SVGs for diagrams, we can also optimize them via a [recurring script](https://github.com/cloudflare/cloudflare-docs/blob/production/scripts/optimize-svgs.ts) in our repo. + ## Related components - [Mermaid diagrams](/style-guide/components/mermaid/)

Lr-NXFZol0@`0G&FG45!n7EaoF_ui2oos>3f!~ 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

Lr-NXFZol0@`0G&FG45!n7EaoF_ui2oos>3f!~ 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 preserve continuity for your users and (friendly) bots. @@ -64,23 +64,29 @@ We have two automations in GitHub to help with redirects. An infinite redirect is when two pages keep redirecting to each other, trapping users in an infitnite loop that will crash their browser. -Because that’s just a terrible experience, we explicitly check for that as part of our required `CI` GitHub action. +Because that's just a terrible experience, we explicitly check for that as part of our [required `CI` GitHub action](https://github.com/cloudflare/cloudflare-docs/blob/production/.github/workflows/ci.yml#L62-L63). -{/* {{ CI step — use GitHub code }} */} +We trigger this check _after_ we build our site. What it does it then call [`validate-redirects.ts`](https://github.com/cloudflare/cloudflare-docs/blob/production/bin/validate-redirects.ts), which fails on: -We trigger this check _after_ we build our site. What it does it then call this script. +- Infinite redirects +- Duplicate redirects +- Redirect targets with anchor links in them -{/* {{ Infinite redirects — use GitHub code }} */} - -{/* Talk through details of the script. */} +