This is Juan, lead Views developer. First of all, lots of thanks for your suggestions 🙂 I see that we basically have two main requests here:
== Enhanced links-based pagination controls ==
We already have a working version that provides:
- A step attribute, so only pages which are multiples of that step value are shown.
- A reach attribute, so only pages within the reach of the current page are shown.
- An ellipsis attribute, so you can control what gets displayed in the gaps between links.
Of course, all those options can be combined and we will provide a GUI to set them. It will surely be included in Views 1.11 and I am quite happy we finally introduce this.
== Infinite scrolling ==
This one is a little more complex to implement, for a series of reasons.
- We do not entirely control the output structure.
Imagine you are using a View, and you return 7 items per page in a table layout, with two items per row: there is one orphan row with just one cell. Now, when we try to "glue" the second page results into this, it becomes extremely difficult to put the new content along with the old one. We might need some time to get this right, if this becomes a feature.
- As someone pointed above, AJAXed content is not that search-engine friendly.
No, the AJAX pagination as we have it now is not totally ready for SEO, basically because by the time the page header is displayed, we do not know whether a View will be displayed or not, so we can not display any pre/next meta-tags at all. Remember that Views are items inserted inside existing content, but not first-class WordPress conteint itself. We can (and we will) provide links so spiders can at least follow them, with query parameters that identify the View and the relevant page.
Now, infinite scrolling seems to be based on an entirely link-free workflow, so the above half-solution is lost. We might even want to explore infinite scrolling that gets triggered by a link or button in addition to by just scrolling. Anyway, I will be updating this ticket with further info as it becomes available.
In addition to those enhancements, we will be adding some new pagination shortcodes, because some of the existing ones have misleading handles.
Let's keep this ticket open for reference until the next release, so even more ideas can be tracked here 🙂