I currently manage a structure field with about 500 entries. Each entry includes 12 fields (text, text area, date, select, URL and 1 to 5 images). The storage process takes about 5 seconds, and the associated .txtfile is about 150 KB in size.
Since the list grows by about 100 entries per year, I am considering creating a separate subpage for each entry instead of the structure field and sorting them by date. I would use the table layout for a better overview in the panel.
My question: Will switching from a structure field to individual pages noticeably improve performance in the panel, or will the difference only be slight?
I am aware of the advantages of single pages – that was exactly my thought as well. Does having a large number of pages in the panel lead to performance issues when loading subpages? I would like to display important field data in the panel.
Another question would be how to migrate the extensive content from the structure field into individual subpages. Are there already solutions for this – either here in the forum or in the form of a plugin?
There might be solutions here on the forum, use search to try and find if any. Basically, it’s looping through the structure items and then create a page for each. You will definitely find loops to create pages programmatically here.
I didn’t have the Kirby CLI installed, so I created a plugin as a workaround. The biggest challenge was migrating the images, which initially caused server overload. My solution was to clear the memory after processing every 50 entries and pause the script for 2 seconds before continuing. This approach worked reliably.
Since the script is customized for my specific use case and quite complex at around 140 lines of code, I decided not to share the code here.
Thanks again to both @texnixe and @distantnative of you for your valuable input!
@distantnative Meanwhile, it is time for feedback: I’ve fully converted my structure list into individual pages – there are already over 550 of them. Each page contains between 1 and 10 images. On the parent page, I’ve integrated extensive filtering options and a search field. The code now spans over 500 lines, which illustrates the overall complexity. The performance boost compared to the original structure list is impressive.
Now I have a good argument for my customers who are asking for a comprehensive website solution.