Simple Machines Community Forum

SMF Development => Bug Reports => Fixed or Bogus Bugs => Topic started by: Sverre on January 16, 2011, 09:22:58 AM

Title: [4843] Previous/next links usability issue?
Post by: Sverre on January 16, 2011, 09:22:58 AM
This might be more of a personal annoyance than a bug, due to the fact that I make heavy use of Opera's smart Fast Forward (http://www.opera.com/support/kb/view/608/)/Rewind (http://www.opera.com/support/kb/view/670/) shortcuts (something which is also available as an extension in other popular browsers) to speed up my browsing, but I'd greatly prefer that the previous and next (<link rel="prev"> and <link rel="next">) links in Dispaly.template.php were linked to the previous and next page in multi page topics instead of (the last page in) the next topic. The way it currently works is pretty much useless in my opinion, and this will become even more apparent if/when background preloading becomes a household feature in browsers - it's already available with the Fasterfox extension in Firefox, and Chrome is apparently in the process of implementing it as a standard feature.
Title: Re: Previous/next links usability issue?
Post by: Aleksi "Lex" Kilpinen on January 16, 2011, 10:07:12 AM
A similar subject has actually been raised and discussed before within team and beta testers, and I believe it was agreed that having links separately for next and previous page is a good idea. Though thee idea has not been implemented in practise yet to my knowledge, it has been taken into concideration at least.
Title: Re: Previous/next links usability issue?
Post by: Spoogs on January 16, 2011, 10:30:00 AM
Meh... there's a mod for that (http://custom.simplemachines.org/mods/index.php?mod=2042). I actually like the previous/next topic and use it quite often
Title: Re: Previous/next links usability issue?
Post by: Sverre on January 16, 2011, 01:26:06 PM
Quote from: Spoogs on January 16, 2011, 10:30:00 AM
Meh... there's a mod for that (http://custom.simplemachines.org/mods/index.php?mod=2042).

Maybe I didn't make myself clear in my original post, but it's not really the rendered/dispalyed previous/next links I care about. It's the <link rel="prev"> and <link rel="next"> links found in the document's head element. Ref., http://www.w3.org/TR/html401/struct/links.html#h-12.1.2 (http://www.w3.org/TR/html401/struct/links.html#h-12.1.2).
Title: Re: Previous/next links usability issue?
Post by: Spoogs on January 16, 2011, 01:40:02 PM
Seems you actually did... I just missed the point ;) but I get ya now
Title: Re: Previous/next links usability issue?
Post by: Antechinus on February 10, 2011, 12:53:28 AM
Ah. I actually changed this on a 1.1.x site but it's equally easy to do for 2.0.

http://www.simplemachines.org/community/index.php?topic=210212.msg2548628#msg2548628

It's defo worth thinking about for 2.1. I wanted to do it in 2.0 but somebody started grumbling about "scope creep". ;D
Title: Re: Previous/next links usability issue?
Post by: SlammedDime on February 10, 2011, 12:57:47 AM
Quote from: Sverre on January 16, 2011, 09:22:58 AMthis will become even more apparent if/when background preloading becomes a household feature in browsers - it's already available with the Fasterfox extension in Firefox, and Chrome is apparently in the process of implementing it as a standard feature.
Just wanted to comment on this bit... SMF actually detects prefetching in a number of places and throws errors at the browser for doing it...

matt@matt-netbook:/var/www/smf-trunk/public/Sources$ grep -in "PREFETCH" *
Display.php:90: // Not only does a prefetch make things slower for the server, but it makes it impossible to know if they read it.
Display.php:91: if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
Display.php:94: header('HTTP/1.1 403 Prefetch Forbidden');
Load.php:796: // If it's a prefetching agent or we're requesting an attachment.
Load.php:797: if ((isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch') || (!empty($_REQUEST['action']) && $_REQUEST['action'] === 'dlattach'))
MessageIndex.php:139: // We can't know they read it if we allow prefetches.
MessageIndex.php:140: if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
MessageIndex.php:143: header('HTTP/1.1 403 Prefetch Forbidden');
Recent.php:442: // Prefetching + lots of MySQL work = bad mojo.
Recent.php:443: if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
Search.php:272: // No, no, no... this is a bit hard on the server, so don't you go prefetching it!
Search.php:273: if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
Security.php:568: if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
Security.php:683: // Make sure a page with session check requirement is not being prefetched.
Security.php:684: if (isset($_SERVER['HTTP_X_MOZ']) && $_SERVER['HTTP_X_MOZ'] == 'prefetch')
Title: Re: Previous/next links usability issue?
Post by: Joshua Dickerson on February 10, 2011, 02:26:27 AM
This has been requested many times before and I agree with it.
Title: Re: Previous/next links usability issue?
Post by: aw06 on February 19, 2011, 08:36:05 AM
Yezzir  .. This problem annoys me as well .. don't know why those links are pointed to the last/newest post made in the next topic  >:(

Put 4 links i guess, becasue some topics i see where people already follow and would want to land on the newest reply, but for new users it's major annoying, people complain to me about it all the time..

prev | next <<-->> prev new | next new
Title: Re: Previous/next links usability issue?
Post by: Stüldt Håjt on September 28, 2011, 04:18:31 AM
Any news about this one? This is what Google says: http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
Title: Re: Previous/next links usability issue?
Post by: Antechinus on September 28, 2011, 05:08:02 PM
Yes it makes sense to me (which is why I did it as custom code at the site I run) but if you don't want to wait for it in 2.1 you'll have to convince Norv to put it in a patch. ;)
Title: Re: [4843] Previous/next links usability issue?
Post by: MrPhil on July 21, 2013, 11:40:04 AM
This appears to be an increasing problem, as some browsers are apparently using the <link rel='prev|next'> tags to prefetch pages, and barfing with a 403 error. Whether or not you want to argue about browser bugs, SMF is definitely using the tag(s) incorrectly anyway, as they are supposed to link to the previous and next pages of this topic, not to the previous and next topics! If a topic fits on a single page, there must be NO <link rel> tag. Only if you're on page 2 or higher should there be a <link rel='prev'>, and only if there is a higher page should there be a <link rel='next'>. This is a bug that is causing failures for users, and the <head> section <link rel> tags should be removed for now (in 2.0.5 and 2.1) if they cannot be easily fixed (i.e., point to pages when needed).

The prev_next Query String value, and the tiny "previous" and "next" links, appear to be correct, although their labels should be changed to "previous topic" and "next topic". They should probably be moved to near the "Pages" link(s) to put all the up/down prev/next navigation together in one place. I don't know if the theme authors want to burn the space, but some forums have a nice and intuitive:

                             back to board
                             previous topic
<< 1   < 2 previous page       Page [  3]       next page 4 >   last page >>
                               next topic
Title: Re: [4843] Previous/next links usability issue?
Post by: Stüldt Håjt on February 06, 2014, 08:52:21 AM
I'm going to bump this thread. Is this fixed for the new version?
Title: Re: [4843] Previous/next links usability issue?
Post by: Arantor on February 09, 2014, 12:16:07 AM
It looks as though it has not because it's been tracked on Github under https://github.com/SimpleMachines/SMF2.1/issues/851 and AFAIK is still a problem. There is a concerted effort to move all reporting to Github and any further discussion really should take place there.