Importing large WordPress blogs
Posted on September 17, 2009, under GNU/Linux.
I just finished importing a WordPress blog with >1500 posts into a different WordPress blog. Importing the posts succeeded, but the last few steps at the end failed, like recalculating how many posts are in each category. This happened because the page always timed out; the import took more than 10 minutes.
If you find yourself with this problem, the fix is easy:
- First, comment out the following line in wp-admin/import/wordpress.php . In WordPress 2.8.4, it’s line 367.
set_time_limit( 60 );
- Configure your web server to allow PHP scripts to execute for a long time. In Apache, you do that with the “Timeout” directive:
Timeout 6000
This can be put within a specific virtual host, or configured globally.
- Increase PHP’s max execution time. This is done with the “max_execution_time” setting in the appropriate php.ini :
max_execution_time = 600 ; Maximum execution time of each script, in seconds
or within your web server’s configuration, if that’s allowed. For example, within Apache, you include this globally, or within a virtual host:
<IfModule mod_php5.c> php_value max_execution_time 6000</IfModule>