Pause plugin option page until all data manipulation is complete

You can only do this by “loading content into all the posts in the blog” asynchronously (in the background).

So, move the processing inside a function that you hook on wp_ajax_your_action_tag.

Then call this function with javascript by requesting WP to fire “your_action_tag”. There’s a example on the linked page…

If you want to display completion status, like a percentage bar, you might want to send an additional query variable besides the “action”, like the offset from where the processing should continue. This offset would be increased in your processing function and sent back to the javascript, which calculates the status.