The reason I started separating posts and custom post types stems from an experience I had with the WooCommerce Membership plugin in the past.
When I tried to write member-only articles using the WooCommerce Membership plugin, I discovered a significant bug. The issue was that even locked posts could be viewed via the WordPress app. I learned that this happened because the WordPress app retrieves “posts” using an API. As a result, if you write something as a regular post, it might be accessible through the WordPress app or Feedly, potentially exposing content meant to be kept secret.
With this in mind, I developed my current approach: articles that I want to announce updates for are categorized as “posts,” while those that I don’t want to announce updates for are categorized as “custom post types.” Although I’m not currently writing member-only articles, I might do so in the future. Moreover, there are times when I don’t want to announce updates for certain articles. In such cases, I use “custom post types” to publish those articles.
Cleaning up a WordPress site with over 2,000 posts and 95,000 images can significantly improve performance and free up storage. Here’s a step-by-step guide to clean and optimize your WordPress site:
1. Backup Your Website
Before making any changes, create a complete backup of your site, including the database and files. Use plugins like UpdraftPlus or your hosting provider’s backup tools to ensure you can restore your site if something goes wrong.
2. Optimize the Database
Your database likely contains unnecessary data such as old revisions, spam comments, and orphaned metadata.
Delete Post Revisions: Limit the number of post revisions stored by adding this code to wp-config.php: phpdefine( 'WP_POST_REVISIONS', 5 ); Use plugins like WP-Sweep or WP-Optimize to delete existing revisions, auto-drafts, and transients.
Optimize Tables: Use phpMyAdmin or plugins like WP-Optimize to run the OPTIMIZE TABLE command on database tables. This reduces fragmentation and improves query performance.
Remove Unused Data: Delete spam comments, unapproved comments, pingbacks, trackbacks, and expired transients using plugins like WP-Sweep or WP-Optimize.
3. Clean Up the Media Library
With 95,000 images, unused media files are likely taking up significant space.
Identify Unused Media: Use plugins like Media Cleaner or Search & Replace Everything (Pro version) to scan for unused images.
Bulk Delete Unused Files: From the Media Library in the WordPress dashboard, use the “Bulk Select” option to delete multiple files at once.
Avoid Future Duplication: Install a plugin like Media Deduper to prevent duplicate uploads in the future.
4. Remove Unnecessary Plugins and Themes
Deactivate and delete unused plugins and themes to reduce clutter:
Go to Plugins > Installed Plugins, deactivate unused ones, and click “Delete.”
Similarly, remove old themes under Appearance > Themes.
5. Automate Cleanup
To maintain your site’s performance:
Schedule regular cleanups using tools like WP Rocket or WP-Optimize.
Automate tasks such as deleting spam comments and optimizing database tables weekly or monthly.
6. Compress Images
Reduce image file sizes using tools like:
Plugins: WP-Optimize (includes image compression) or Smush.
External tools: Compress images offline before uploading.
7. Monitor Performance
Regularly monitor your website’s speed using tools like Google PageSpeed Insights or GTmetrix after cleanup.
By following these steps systematically, you can declutter your WordPress site while improving its performance and user experience.
Put the following code in functions.php. For example, if it is a slug for a custom post type called ‘product’ or ‘wpdmpro’, enter it as follows. Replace slug with your own custom post type slug.
/* Include custom posts in post RSS */
add_filter( 'pre_get_posts', 'my_custom_posts_rss' );
function my_custom_posts_rss( $query ) {
if ( is_feed() )
$query->set( 'post_type', array( 'post', 'product', 'wpdmpro' ) );
return $query;
}
It is a good idea to install a plugin called SiteGuard WP Plugin. The main functions include login restrictions, capture function, plugin/theme checker, security diagnosis, login alert, etc., but I only use the “login alert”. When an administrator logs in, you’ll be notified by email, so you’ll know if there’s any unusual login activity.
Jetpack made Jetpack Stats a paid product to monetize its offerings and sustain its development team. The decision primarily targets commercial websites, defined as those generating revenue through ads, affiliate links, product sales, or donations. Personal, non-commercial sites can still access the service for free. This shift aligns with industry trends where basic features remain free while advanced or business-oriented functionalities require payment.
The pricing model is tiered based on website traffic, starting at $99.96 annually for smaller commercial sites and scaling up for larger ones. Automattic, Jetpack’s parent company, justifies the move as a way to ensure fairness—charging more only as a site grows—while introducing advanced features like UTM tracking and priority support for paid users.
This change has sparked criticism within the WordPress community, as many users feel the service’s value does not justify the cost compared to free alternatives like Google Analytics.
When selling paid articles on WordPress, if the search term is included in the paid article, by default the paid article will also be displayed in the search results.
When migrating a WordPress site, one common frustration many users run into is this:
“Why didn’t my featured images come over with my posts?”
If you’ve exported and imported posts using WordPress’s built-in tools, you’ve probably noticed that while your content transfers fine, the featured images often don’t. This happens because the default WordPress Export/Import tool doesn’t always handle media attachments perfectly — especially featured images.
The Problem: Exporting/Importing Articles Misses Featured Images
WordPress’s native export tool lets you export posts, pages, and other content types. However, while images inside post content can be downloaded during import (if you check Download and import file attachments), featured images often get left behind.
This results in:
Posts without their visual identity
Broken layouts
Extra manual work to re-attach images post-migration
The Solution: “Export Media with Selected Content” Plugin
This plugin extends the WordPress export tool and ensures that any media attached to your selected content (including featured images) are exported properly.
How it Works:
Install and activate Export media with selected content on your old site.
Go to: Tools → Export
Select what content you want to export (posts, pages, custom post types).
Check the box: “Export media with selected content”
Download your export file.
Import it to your new site using the standard WordPress importer.
Now your featured images will come along for the ride!
Why Use This Plugin?
Without Plugin
With Plugin
Featured images missing
Featured images included
Manual re-uploading
Automatic transfer
Broken visuals
Complete migration
Final Thoughts
Migrating a WordPress site can be tricky — especially when you want everything to look exactly like it did before. Using the Export media with selected content plugin is a simple but powerful way to avoid headaches caused by missing featured images.
So next time you’re moving content between WordPress sites, don’t forget this little tool. It might save you hours of work.