I prefer custom permalink for my blog as I need the category and post ID in URL. And I totally agree that custom permalinks in wordpress are very much effective in Search Engine Optimization. But if you are using custom permalink on an unorganized blog then it may slow down your site by a noticeable value. Don’t worry, that unorganized word is really important in this case.
Permalinks Option under Settings Panel
Settings ==> Permalinks
Custom permalinks is an option in wordpress to customize the URL structure for a post. If you are using custom permalink structure rather than the default, WordPress actually rewrite the URL every time someone view the post. That rewrite stage does not take so much of time in case you have an organized blog.
What is an organized and unorganized blog?
Organized wordpress blog is where you have limited numbers of categories ex. less than 50 and you are using tags properly on each post. However an Unorganized WordPress blog is where you have more than 500 categories and most of the posts are having more than one category.
If you are having an unorganized blog i.e more than 500 categories where each post is assigned to 3 – 4 categories and you have included category in custom permalink then the rewrite stage will take so much time (between 20 sec – 30 sec). You may get following errors frequently on your blog even in accessing your admin panel (dashboard).
On browser you may get the error message as “ Error Establishing Database Connection “
On phpMyadmin, you may get “ Error #1044 – Too many connections “
In Server error log, you may get the error message as “ WordPress database error Got a packet bigger than ‘max_allowed_packet’ bytes for query INSERT INTO `wp_options`……… “
If you are getting any of these errors, you may try changing the permalink of the blog from custom permalink to the default. You will see the difference in load time of posts, pages and your wordpress dashboard or other settings panel(including Edit Post panel).
Related: SOLVED – An Unexpected HTTP Error occurred during the API request on WordPress Backend
Allowed Memory Size Of xxxxxx Bytes Exhausted on WordPress Page