bingo: redirect /en/ to /en, follow the view links
/en/ answered 200 with the same page as /en. The canonical tag covered it, but a 301 keeps crawlers and shared links on a single URL. The All / Operational toggle links were rel="nofollow". The filtered page is already noindex with a canonical back to the locale URL, so nofollow on our own links only threw away internal link signals. Assisted-by: Claude:opus-5
This commit is contained in:
parent
dc799d6d47
commit
d2d6ac1d99
3 changed files with 15 additions and 2 deletions
|
|
@ -136,6 +136,7 @@ class BingoTest < Minitest::Test
|
|||
assert last_response.ok?
|
||||
assert_includes last_response.body, 'noindex, follow'
|
||||
assert_includes last_response.body, 'href="/en?view=operational"' # language links keep the view
|
||||
assert_includes last_response.body, '<a href="/ru?view=operational" aria-current="page">' # followed internal link
|
||||
assert_includes last_response.body, 'rel="canonical" href="https://example.org/ru"'
|
||||
get '/ru?view=bogus'
|
||||
assert_includes last_response.body, 'index, follow, max-image-preview'
|
||||
|
|
@ -183,6 +184,12 @@ class BingoTest < Minitest::Test
|
|||
assert_equal 404, last_response.status
|
||||
end
|
||||
|
||||
def test_trailing_slash_redirects
|
||||
get '/en/', view: 'operational'
|
||||
assert_equal 301, last_response.status
|
||||
assert_equal 'http://example.org/en?view=operational', last_response.location
|
||||
end
|
||||
|
||||
def test_root_varies_on_language
|
||||
get '/'
|
||||
assert_equal 'Accept-Language', last_response.headers['Vary']
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue