This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: Discourage external links to old docs.
Type: enhancement Stage: resolved
Components: Documentation Versions:
process
Status: closed Resolution: duplicate
Dependencies: Superseder:
Assigned To: mdk Nosy List: Mariatta, docs@python, matrixise, mdk, ned.deily, steven.daprano, terry.reedy
Priority: normal Keywords:

Created on 2018-12-07 06:30 by matrixise, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (10)
msg331271 - (view) Author: Stéphane Wirtel (matrixise) * (Python committer) Date: 2018-12-07 06:30
Today, I was looking for the doc of unittest.mock and the result from DuckDuckGo was this link: https://docs.python.org/3.3/library/unittest.mock-examples.html

In the devguide, we stopped the support and everything about this version, in the bug tracker, 3.3 is not available.

Maybe we could remove the doc from the server.
msg331273 - (view) Author: Mariatta (Mariatta) * (Python committer) Date: 2018-12-07 06:43
It seems like all other versions (3.2, 3.1, 3.0) are still available too, just not updated anymore.

I'm thinking it's ok to leave these documentation.
While we don't support these versions anymore,  they still exists, and they're even still available for download from python.org/downloads. It doesn't hurt to keep these docs.
msg331275 - (view) Author: Steven D'Aprano (steven.daprano) * (Python committer) Date: 2018-12-07 06:53
Documentation is available for all versions going back to Python 1.4.

https://docs.python.org/release/1.4/

As it should be: I'm surely not the only person who has need to check old versions of the documentation from time to time. Not everyone is using the latest version of Python, and some times we need to write code that supports old versions. Leaving the old docs available is not merely "doesn't hurt", but is positively a GOOD thing to do.

We shouldn't remove the docs from the server, and we shouldn't break existing URLs.

I don't think there's much we can do about search engines: they have their secret algorithms for ranking pages, and whatever comes up is what comes up, and I doubt we can control that.

I expect that the only thing we could do is put a prominent note at the top of each page "This is an unsupported version of the docs, for the latest version see blah blah blah" and link to the most recent version.
msg331279 - (view) Author: Julien Palard (mdk) * (Python committer) Date: 2018-12-07 08:23
> I expect that the only thing we could do is put a prominent note at the top of each page "This is an unsupported version of the docs, for the latest version see blah blah blah" and link to the most recent version.

I'm +1 on this, and it can even help search engine algorithms to rank the right pages (as receiving more links than the old page).
msg331348 - (view) Author: Mariatta (Mariatta) * (Python committer) Date: 2018-12-07 20:07
> put a prominent note at the top of each page "This is an unsupported version of the docs, for the latest version see blah blah blah" and link to the most recent version.


Not sure how straightforward it will be to do this, and whether it will worth the trouble. Julien, perhaps you know more about this and can provide assessment. Perhaps it needs to be done from within python-docs-theme?

FWIW, the landing page of each version (example https://docs.python.org/3.3/) states when it was last built. It can be an indication that it is outdated.

There's also a related issue in python.org to better inform people of which Python versions are still maintained or not: https://github.com/python/pythondotorg/issues/1302

I think as it stands, this ticket is "not a bug".
msg331354 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2018-12-07 21:11
> I think as it stands, this ticket is "not a bug".

Indeed, this is not only not a bug, it's a feature that the docs for every Python release family are available on-line.  That said, we do have two sets of URLs that point to these docs:

1. https://docs.python.org/release/x.y.z/ which is the canonical link to the docs for a particular release and linked to from https://www.python.org/doc/versions/

2. https://docs.python.org/x.y/ (along with /x) which points to the most recent top of branch doc build for that branch.  For the next feature release branch (master) and branches still in bug-fix mode, the docs are automatically updated several times a day.  For 2.x and 3.x branches in security-fix mode or at end-of-life (retired), there are symlinks here that point to the doc set for the most recent release of that branch, i.e. the same doc set available in https://docs.python.org/release/x.y.z/.

There is already in place a restriction in the robots.txt file for the docs.python.org server to not webcrawl anything under /release but there is nothing (AFAICT) telling webcrawlers to ignore the "symlinked" aliases at /x.y, and that would seem to be the case here.

Without spending too much time on it, it seems to me there are s number of issues here:
1. What URL schemes do we have and want to continue to support?
2. What things do we want to show up in search engine results?
3. How do we make that happen?
4. How do we maintain this going forward?

One possibility that comes to mind:
1. unchanged from today
2. just the most current 3.x maintenance release (e.g. today 3.7)?  People needing accessing to other current or security-fix branches (dev, 3.6, 2.7, 3.5) can access those docsets through the version switcher pulldown on the doc webpages.
3. What isn't so obvious today is how to get to docsets for other, older releases.  For that, perhaps we could add an "Other ..." or some such item to the version switcher list that would link to the complete list at https://www.python.org/doc/versions/ ?
4. If we think it is important to indefinitely provide the links at https://docs.python.org/x.y/ even after the release is retired, we could add a step to the release process to add an entry to robots.txt when a release enters security-fix-mode ?  Or earlier?  That gets back to question 2.

I think this all is something for our release docs expert, Julien, to look into.
msg331362 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2018-12-07 23:10
I changed the title to better state the actual issue and goal of action.

The termination solution is rejected, but further revisions to docs and site need not be.  Adding the auto updated https://docs.python.org/3/ was a good move (and a reason to not casually go to a 4.0 release) but not the end of what we could do.

I agree with Ned that easier internal access, such as through 'other...', would be nice.
msg331376 - (view) Author: Julien Palard (mdk) * (Python committer) Date: 2018-12-08 10:24
> Without spending too much time on it, it seems to me there are s number of issues here:
> 1. What URL schemes do we have and want to continue to support?
> 2. What things do we want to show up in search engine results?
> 3. How do we make that happen?
> 4. How do we maintain this going forward?

1. unchanged from today is good: let's not break things.
2. agree too: just the most current 3.x maintenance release
3. By adding links from old releases to new releases, go new releases get weight (from a search engine point of view) and should rank better. Also by checking if the canonical header is configured properly on all releases.
4. I don't think hiding old pages from search engine is a good idea, it's lying to them. I'd prefer the way of linking from old to new, which is both user friendly (a) and search engine friendly (b).

a) A nice text like "This is the documentation of an unmaintained version of Python, [switch to the latest version]" will not only help people landing from this old page from a search engine but also from favorites, links from articles, ...
b) Search engine compute the "weight" of a page by adding weights of pages linking to it. Our old pages are linked from a lot of articles and various sources, they have a huge weight. Linking from those pages to our new pages will forward a part of this weight to our new pages, ranking them a bit better. Which is I think better than hiding the old pages from them and loosing the weight they accumulated (risk: get old blogs articles rank better than new official documentation).

About the canonical, I'm having an issue opened indirectly about it (https://github.com/python/docsbuild-scripts/issues/51), by rebuilding old releases we could upgrade their headers and properly set a canonical link, typically from /3.4/ to /3/, like we're currently having from /3.5/ to /3/.

I have an opened issue about handling the /release/ directory from docsbuild-scripts instead of it being a manual step in the release process (https://github.com/python/docsbuild-scripts/issues/48).

I opened an issue in python-docs-theme about displaying a message pointing from old releases to new releases https://github.com/python/python-docs-theme/issues/24 mainly not to forgot about it.
msg337448 - (view) Author: Terry J. Reedy (terry.reedy) * (Python committer) Date: 2019-03-07 23:06
James Lu today posted to python-ideas
'Make Python 2.7’s online docs optionally redirect to  Python 3 online docs'

Andra Roberge: There exists browser extensions that do this:
https://addons.mozilla.org/en-US/firefox/addon/py3direct/
https://chrome.google.com/webstore/detail/py3redirect/codfjigcljdnlklcaopdciclmmdandig?hl=en

Steven D'Aprano pointed to this issue and gave some 3 first and 2 first examples.  I discovered that the only first page 3.x link for me for
https://www.startpage.com/do/search?q=python+docs+netrc
only points
to https://docs.python.org/3.1/library/netrc.html
with no clicky way to get to the current .../3/..., so we still need links added.

Julien, do we still need this issue open, or is this superceded by
https://github.com/python/python-docs-theme/issues/24 ?
msg337484 - (view) Author: Julien Palard (mdk) * (Python committer) Date: 2019-03-08 14:30
Let's not have duplicate issues, so I'm closing this in favor of https://github.com/python/python-docs-theme/issues/24.

Thanks Terry for noticing.
History
Date User Action Args
2022-04-11 14:59:09adminsetgithub: 79616
2019-03-08 14:30:55mdksetstatus: open -> closed
resolution: duplicate
messages: + msg337484

stage: needs patch -> resolved
2019-03-07 23:06:43terry.reedysetmessages: + msg337448
2018-12-08 10:24:08mdksetmessages: + msg331376
2018-12-07 23:10:25terry.reedysetnosy: + terry.reedy
title: Documentation of 3.3 is available -> Discourage external links to old docs.
messages: + msg331362

type: enhancement
stage: needs patch
2018-12-07 21:11:44ned.deilysetassignee: docs@python -> mdk

messages: + msg331354
nosy: + ned.deily
2018-12-07 20:07:39Mariattasetmessages: + msg331348
2018-12-07 08:23:20mdksetmessages: + msg331279
2018-12-07 06:53:21steven.dapranosetnosy: + steven.daprano
messages: + msg331275
2018-12-07 06:43:45Mariattasetnosy: + Mariatta
messages: + msg331273
2018-12-07 06:30:58matrixisecreate