We will not delete the files in Cloud Object Storage for some time. We'll only set up redirects. That allows us to have a fallback like turning off redirects if necessary.
Strategy: all server-side
We have two options:
CloudFlare rules to implement server-side redirects
The final issue with client-side redirects is it blocks us from implementing certain wildcard patterns in server-side rules. Server-side rules take precedence over client-side, so if we had an overly general wildcard in CloudFlare like qiskit.org/documentation/*, it would override all of our more granular redirects for specific pages. Whereas if we keep all the config in CloudFlare, we can order our rules to establish precedence, such that wildcards like * are only fall backs.
Therefore, we'll only use CloudFlare server-side redirects.
Qiskit
API docs
There's a 1:1 mapping. We have two types of API pages:
API docs will go to appropriate place in API docs. Other pages will use the rest of the mapping.
The URL scheme looks like this: qiskit.org/documentation/stable/<version>/rest-of-url.
Versions are 0.19, then 0.25-0.45. Even though 0.45 is the current release, it has its stable URL too.
Translations ✅
Should redirect to English for now. Make sure we account for them with every URL.
The URL scheme looks like this: qiskit.org/documentation/locale/<code>/rest-of-url. Codes: bn_BN, fr_FR, de_DE, ja_JP, ko_KR, pt_UN, es_UN, ta_IN
No fallback redirect ✅
It's too risky that we break pages like objects.inv, used for Sphinx. Instead, we'll rely on the redesigned 404 page to redirect people where to go if the page no longer exists.
/learn URLs, which are from the qiskit.org repo for course overview pages and summer school. These should all go to GitHub (textbook or Platypus) for the relevant course.
learn.qiskit.org folders, which come from Platypus:
original
redirect
status
qiskit.org/textbook. Should immediately redirect to their textbook folder.
original
redirect
status
/algorithms
How do we want to have translations?
These should probably handle translations by going to the GitHub link? But do we need to check that every tutorial exists? Maybe simply take you to the language folder? It looks like Japanese is our only course where translations are on the site?
Per https://medium.com/qiskit/important-changes-to-qiskit-documentation-and-learning-resources-7f4e346b19ab, qiskit.org/documentation is moving to https://docs.quantum-computing.ibm.com. This issue is to track setting up redirects.
We will not delete the files in Cloud Object Storage for some time. We'll only set up redirects. That allows us to have a fallback like turning off redirects if necessary.
Strategy: all server-side
We have two options:
The web standards recommend server side redirects:
https://audisto.com/guides/redirects/#meta-content-refresh warns that client side redirects via meta refresh can also hurt our SEO.
The final issue with client-side redirects is it blocks us from implementing certain wildcard patterns in server-side rules. Server-side rules take precedence over client-side, so if we had an overly general wildcard in CloudFlare like
qiskit.org/documentation/*
, it would override all of our more granular redirects for specific pages. Whereas if we keep all the config in CloudFlare, we can order our rules to establish precedence, such that wildcards like*
are only fall backs.Therefore, we'll only use CloudFlare server-side redirects.
Qiskit
API docs
There's a 1:1 mapping. We have two types of API pages:
index.html
)We need to also deal with existing redirects for functions -> module pages. These should move to server-side configuration.
How tos ✅
Explanation ✅
Tutorials ✅
index.html: /build ✅
Quantum circuits:
Advanced circuits:
Operators:
Migration guides ✅
Contributor docs ✅
Other ✅
Stable docs versions ✅
API docs will go to appropriate place in API docs. Other pages will use the rest of the mapping.
The URL scheme looks like this:
qiskit.org/documentation/stable/<version>/rest-of-url
.Versions are 0.19, then 0.25-0.45. Even though 0.45 is the current release, it has its stable URL too.
Translations ✅
Should redirect to English for now. Make sure we account for them with every URL.
The URL scheme looks like this:
qiskit.org/documentation/locale/<code>/rest-of-url
. Codes: bn_BN, fr_FR, de_DE, ja_JP, ko_KR, pt_UN, es_UN, ta_INNo fallback redirect ✅
It's too risky that we break pages like
objects.inv
, used for Sphinx. Instead, we'll rely on the redesigned 404 page to redirect people where to go if the page no longer exists.Provider 🚢
Tutorials 🚢
Other 🚢
API docs 🚢
This is like Qiskit that there's a 1:1 mapping. Note that the index page is called
ibm_provider.html
in qiskit.org, but should go to/index
.No fallback redirect
Same reason as Qiskit
Runtime ✅
Get started ✅
Tutorials ✅
How to ✅
Migrate ✅
Work with Qiskit Runtime in IBM Cloud ✅
Reference ✅
API docs themselves. Special case
ibm-runtime.html
andibm_runtime.html
. ✅Translations ✅
Should redirect to English for now. Make sure we account for them with every URL. Japanese and Spanish.
No fallback redirect ✅
Same reason as Qiskit
Qiskit.org 🚢
No fallback redirect.
Learn
/learn (index): https://learning.quantum-computing.ibm.com
/learn
URLs, which are from the qiskit.org repo for course overview pages and summer school. These should all go to GitHub (textbook or Platypus) for the relevant course.learn.qiskit.org
folders, which come from Platypus:qiskit.org/textbook
. Should immediately redirect to their textbook folder.How do we want to have translations? These should probably handle translations by going to the GitHub link? But do we need to check that every tutorial exists? Maybe simply take you to the language folder? It looks like Japanese is our only course where translations are on the site?