Hello,
I’m working on a large website, it’s a daily web magazine with more or less 3000 articles/entries. On the home page my clients wants to display 3 “cover stories” + 6 featured articles.
When I first designed the website we decided that assigning a “status” for each cover and featured article would be the easiest way for my client to manage daily content. So now I have a template that calls for entries in cover_1, cover_2, cover_3, feat_1, feat_2,... feat_6 status, and then displays them on the home page. The problem is that all these entries must be ordered by status (e.g. feat_1 must be the first one, feat_2 the second and so on), therefore I had to use 9 different “exp:channel:entries tag” which was ok when we had 1000 entries, but is obviously slowing down the db now that we have 3000 and the page takes almost 30 seconds to load the first time.
I cached SQL queries and “exp:channel:entries” tag, and now my page is a bit faster (25”) but still incredibly slow, and the situation is going to get worse. Entry pages load fast, even if they have a lot of big images, but the problem is the home page.
Is there any way (with or without an add-on) to reduce queries in my home page? It would be nice to order my entries by status so that I could use the “exp:channel:entries tag” just twice…
I’m open to suggestions, and if there’s an easiest way to accomplish this task I’ll be more than happy to rewrite my code.