Make WordPress Core

Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#6561 closed defect (bug) (fixed)

handle thousands of pages

Reported by: hailin's profile hailin Owned by: hailin's profile hailin
Milestone: 2.6 Priority: normal
Severity: normal Version:
Component: General Keywords:
Focuses: Cc:



This isn't one issue, it's several, but they're related.

TRAC Ticket #5303 fixes hundreds of pages issue;
when there are thousands of pages, it is still very slow.

It might be -better-, but the scaling issues are present even in 2.5, and they're severe enough that it's grinding my WP install to a halt as I continue to import pages.

Now, to be clear, I have a -lot- of pages. My current test environment has just under 4000, so it takes quite some time to render all those out on one page.

It seems to me that the simplest solution is to rewrite edit-pages so that it paginates, the same way edit-posts does. Is there a reason that this hasn't been done already?

Similarly, if you edit any page (with thousands of pages in the DB), it will take a few minutes minute to render the page-editing screen. The bottleneck is the parent_dropdown function. As a hack, I've removed the box entirely from my page-editing screen (and in the meantime i can use the pageMash plugin if/when I want to change page parent/ordering), but this isn't a long-term solution. Obviously, the "page parent" interface box wasn't designed with this many pages in mind, and I'm going to think about a new design which scales well that I can write as a plugin (or a patch). Any thoughts you have are appreciated Posted: 2008-04-02 18:15:51 # #

josephscott Member

Having edit-pages support pagination has been brought up, but hasn't been tackled yet. I suspect the parent-child relationships for pages makes this harder to do that edit-posts.

I'll ramp up a test blog with many pages and see what options we have on making it better.

Just so I'm clear, the two places that this has been the biggest problem is "Manage -> Pages" and "Write -> Page" (page parent box), correct? Are there any other places where you've seen major problems? Posted: 2008-04-02 21:32:31 #

Attachments (1)

edit-pages-paged.patch (4.4 KB) - added by ramenboy 16 years ago.
Add paging to manage pages on WordPress 2.5

Download all attachments as: .zip

Change History (13)

#1 @hailin
16 years ago

  • Owner changed from anonymous to hailin
  • Status changed from new to assigned

I will take a look.

#2 @lloydbudd
16 years ago

Relates to #2004

#3 @randyhoyt
16 years ago

I think the "Parent Page" option could handled in a dialog box, in much the same way the upload feature was moved off the page itself. The parent page isn't something that will change often, probably just the first time you create a page.

#4 @randyhoyt
16 years ago

I imagine the "Manage Pages" page isn't paginated because of their hierarchical nature; what if you got to the end of a page (say 20 records), but record #21 was a child of record #20? I don't think this is an impossible issue to overcome, but it will need to be considered.

16 years ago

Add paging to manage pages on WordPress 2.5

#5 @ramenboy
16 years ago

I have submitted a patch that adds paging support the "Manage Pages" page on WordPress 2.5. It queries only the fields necessary for display, rather than loading every page into memory like the current version does. If the first item on a page is not a root, its parents are prepended with "(continued)" in the title so that you don't lose your place in the hierarchy. "Manage Pages" loads in about 1-2 seconds now, where it used to take 10-20. We have about 500 pages.

#6 @ryan
16 years ago

(In [8089]) Add paging to Manage->Pages. see #6561

#7 @hailin
16 years ago

  • Resolution set to worksforme
  • Status changed from assigned to closed

#8 @thee17
16 years ago

  • Milestone 2.7 deleted

#9 @jacobsantos
16 years ago

This should be marked as fixed and not as worksforme.

#10 @ryan
16 years ago

  • Resolution worksforme deleted
  • Status changed from closed to reopened

#11 @ryan
16 years ago

  • Resolution set to fixed
  • Status changed from reopened to closed

#12 @ryan
16 years ago

  • Milestone set to 2.6
Note: See TracTickets for help on using tickets.