Since I joined City A.M., we’ve been gradually migrating away from Drupal 7 to a fully bespoke CMS built on Laravel. We had planned to do this anyway, but we accelerated parts of the migration as we hit issues that we were unable to solve. Here’s a summary of the main ones.
One of my long-standing navigation requirements for any website is pagination. It should be possible to see how many pages of content a site has, and it should be possible to jump to any page.
However, I’ve found this doesn’t really work on large news sites. When was the last time you saw a news site with pagination going back thousands of pages?
How news sites work
When readers go to a news site, they will usually be looking for the latest news. This can be found on the homepage, or you can drill down by going to a section page (Sport, Tech, Entertainment etc).
For a small site, or a section with only a few pages of content, it can be useful to click through each page to browse the history of the site. But once a site has published vast quantities of content, pagination becomes a lot less useful.
Who reads old news?
How useful is it to browse through old news, through thousands of pages? If you wanted to find an old story, there are a couple of ways to find it much more quickly:
- Search – no need to think about where the content is – just find it with a quick search;
- Archives – know when the story was published? Date-based archives can be a lot faster than scrolling through page after page;
- Related links – not really the best way to find a specific story, but if you’re on a story and you want to read other stories on similar topics, related links can be quite handy.
Crawlers and performance
There’s also the issue of crawlers. If search bots can crawl thousands of pages in your News category, they will try to. Wouldn’t it be better to limit your pagination to a small number of pages (10-20 at most) – or lose it altogether – so crawlers can index your stories first, and stop crawling your section pages?
We also noticed some crawl issues occurring due to crawlers simultaneously hitting multiple page numbers in the section archives. It didn’t make sense to keep thousands of old section pages active.
As long as your stories are in sitemaps, you don’t need to maintain an endless list of paginated section pages.