Why so many Pages?
WordPress is not built to handle thousands and thousands of Page entries. The maximum number should be closer to 80, maybe even a couple hundred. Yes, you can indeed do lots of Pages, but as you have found, it doesn’t scale well.
You might consider redesigning so as to not make that many Pages, and to make them into Posts or some other custom post type that will scale better for your needs instead.
Are there any other alternatives out there to WordPress that could handle this content load any better? Or is it primarily a pages vs posts situation.
If you were doing this as posts, you’d have no real problem scaling, I’d say.
Also, how many Pages are you trying to show on the admin screen at once? If it’s like, all of them, then that’s your problem. Scale it back to 20-40 or so per page.
I suppose you’re right.
It’s going to be quite the undertaking to convert these all to posts.
Any other thoughts, solutions?
Do a MySql search and replace, you could change the pages to post in less than an hour. Easiest thing to do is download from phpmyadmin change then reupload. π
As mentioned by maximusmccullough, a quick way would be to change the post_type in mysql.
But if that’s too technical, you might just want to try a plugin, such as the one here:
https://wordpress.org/plugins/convert-post-types/
Any “easy” explanation of changing the post_type in MySQL?
Before you go mass changing things, find out what the actual bottle neck is.
Do you have any slowdowns on the front-end of the site? Or is it just the Pages screen in the admin? What is the “Number of items per page:” set to on that screen?
Just the pages section in WP Admin. The front of the site works just fine.
I’ve also messed around with the set number displaying per page and it makes little difference.
If I were to convert pages to posts how can I do so without losing the genre of movie that film/page is tied to? Or would I have to re-categorize everything?
Changing them to Posts is a big major deal. So, let’s leave that option until the last, eh?
This is developer heavy stuff. Basic debugging 101 though.
First, I would get a copy of your site in a developer test system. Like, make a local copy of the site using MAMP or XAMPP and get it running. Confirm that the same problem exists.
Next, I would install the Debug Bar plugin on the test site: https://wordpress.org/plugins/debug-bar/
Third, I’d add these lines to the wp-config.php file on the test site:
define('WP_DEBUG', true);
define('SAVEQUERIES', true);
Finally, I’d visit the test site page that has the problem, and after it’s done loading, I’d select the Debug option in the menu bar on the top right. This will show you all the SQL queries being run on that page, and how long they took. The query causing your slowdown will give you more information about how to solve the problem.
Developer heavy stuff lol
I’ve not ever done something like this before but am willing to give it a go.
Assuming the test site reproduces the same problem (slow loading Pages section in WP Admin), what do I do with the debug results?
I just looked the Debug Bar’s results for the Pages section and it’s HUGE.
That’s the thing about debugging. You don’t know where the problem is, the goal is to find it.
Look at the queries and see which ones take a long time. The debug bar plugin shows the queries and the times they take to run. Look for a long running one.
I can see that the ‘update_meta_cache()+’ Caller from wp_0ysjxhfgv5_postmeta is the largest set of queries because it contains all the page ID’s.
This (in red numbers) was 0.4411.