Faster blogs, without Jetpack
GH Blog Optimize gives your WordPress blog three of Jetpack’s most popular features — a global image and file CDN, related posts tiles, and comment shutoff — in one small plugin with no Jetpack connection, no WordPress.com account, and no extra dashboard.
Jetpack is a large plugin that loads dozens of modules to deliver a handful of features. GH Blog Optimize does only these three, and each one switches off cleanly when you don’t need it.

Site accelerator
Your images and WordPress core files load from the WordPress.com global network, resized for every screen.
Related posts
Attractive tiles at the end of every post keep readers on your site.
Comments off on posts
No comment forms, no spam queue, no moderation chores.
Site accelerator
Load pages faster by optimizing your images and serving your images and static files (like CSS and JavaScript) from the WordPress.com global network of servers. One switch turns it on; two sub-options let you choose what it covers.
Speed up image load times. Your uploaded images are delivered through WordPress.com’s free Photon image CDN. Each image is resized on the CDN to the exact size your theme displays, so a phone never downloads a desktop-sized photo. Responsive image sets (srcset) are rewritten too, letting each browser pick the right size. Featured images, images in posts, and media widgets are all covered.
Speed up static file load times. WordPress’s own CSS and JavaScript files — including jQuery and the block editor styles every modern theme loads — are served from WordPress.com’s file CDN instead of your server. Visitors download them from a nearby data center, and your server has less to do.
What the accelerator takes care of for you:
- Only your own site’s images are touched; images embedded from other websites are left alone.
- The admin area and the block editor are never changed, so CDN addresses can’t end up saved into your posts.
- Local and development sites are detected automatically, and image rewriting pauses until the site is public.
- Pre-release WordPress versions keep their files local, since the CDN only mirrors official releases.
Related posts
Keep your visitors engaged with related content at the bottom of each post. Three tiles appear after every blog post, each showing a thumbnail, the post title, its date, and its category.
Two options shape the look:
- Highlight related content with a heading — a bold “Related” heading above the tiles, or a quieter small label when switched off.
- Show a thumbnail image where available — uses the post’s featured image, or the first image in the post if no featured image is set. Posts with no image get a soft placeholder so the row stays even.
How it picks related posts: posts that share tags with the current post rank highest, then posts that share categories. If too few posts match, the newest posts fill the remaining spots so readers always see a full row.
The tiles take on your theme’s fonts and colors, adapt to phones and wide screens, and look right in both light and dark themes. Everything is worked out on your own server and remembered between visits, so after the first view a post’s related tiles load almost instantly. The list refreshes on its own whenever you publish, update, or remove a post, or rename a category or tag.
Related posts placed manually with Jetpack’s block editor block are respected — those posts won’t get a second set of tiles.
Comments off on posts
One switch turns off discussion on every blog post — no comment forms for spammers to target and no moderation queue to clear.
When it’s on:
- New comments and pingbacks are refused on all posts, whether they arrive through the comment form, the REST API, XML-RPC, or a pingback.
- Existing comments are hidden from visitors, along with comment counts like “3 Comments.”
- The comment area disappears completely — no “Comments are closed” message left behind.
- The Discussion panel is removed from the post editor.
- The per-post comment feed link is removed from the page.
Pages are not affected, and nothing is deleted. Switch it off and existing comments reappear exactly as they were.
Built for speed and security
The whole point is speed, so the plugin is built to add as little work as possible to each page view.
- Lean on every page. All settings load in a single stored value. A feature that’s switched off costs nothing.
- No page buffering. Many CDN plugins capture the entire page and search-and-replace it. GH Blog Optimize hooks only the exact places WordPress builds image and file addresses.
- One CDN connection. Images come from a single WordPress.com address, so browsers reuse one fast connection instead of opening four.
- Styles where they’re needed. The related posts styles load only on single blog posts, and are small enough that WordPress places them directly in the page — no extra download.
Security follows WordPress best practice throughout:
- Only administrators can change settings, and every form is protected against forged submissions.
- Every setting is checked against an allowed list before it’s saved, and everything shown on screen is safely escaped.
- Database lookups use WordPress’s prepared queries.
- Updates are accepted only as secure (HTTPS) packages from garryheath.com.
- Uninstalling removes every setting and cached item the plugin created.
Plays well with others
GH Blog Optimize is designed to sit quietly alongside your other plugins and theme.
- Jetpack. If Jetpack is installed with its image CDN, file CDN, or related posts turned on, the matching feature here pauses automatically and the settings page tells you why. You’ll never get doubled images or two rows of related posts.
- Wordfence and other security plugins. No custom AJAX or REST endpoints, nothing for a firewall to flag, and no conflicts with login or scanning features.
- Themes. Related tiles inherit your theme’s fonts and colors. Theme images, galleries, and featured images all benefit from the image CDN.
- Other plugins. Every function, setting, and style name is uniquely prefixed, and the plugin never removes or overrides what other plugins do.
One note for sites with a strict Content Security Policy: allow i0.wp.com and c0.wp.com so the CDN files can load.
Settings, requirements and installation
All options live on one screen at Settings → Blog Optimize, and everything is switched on when you first activate the plugin.
| Section | Option | Default |
|---|---|---|
| Performance & speed | Enable site accelerator | On |
| Performance & speed | Speed up image load times | On |
| Performance & speed | Speed up static file load times | On |
| Related Posts | Show related content after posts | On |
| Related Posts | Highlight related content with a heading | On |
| Related Posts | Show a thumbnail image where available | On |
| Discussion | Disable comments on posts | On |
The settings page also shows whether your site is publicly reachable for the image CDN, and includes a button to refresh the related posts list on demand.
Requirements: WordPress 6.2 or newer and PHP 7.4 or newer. The image CDN needs a publicly reachable website; no WordPress.com account is required.
Installation
- Download the plugin ZIP.
- In WordPress, go to Plugins → Add New → Upload Plugin, choose the ZIP, and click Install Now.
- Activate the plugin, then visit Settings → Blog Optimize to review the options.
Updates are delivered automatically from garryheath.com and appear on your Plugins screen like any other plugin update, complete with release notes.
Frequently asked questions
Do I need Jetpack or a WordPress.com account?
No. The CDN services this plugin uses are free and need no account or connection.
Will my images still be stored on my site?
Yes. Your originals stay in your Media Library. The CDN keeps optimized copies and serves those to visitors.
What happens if I turn the site accelerator off?
Images and files go straight back to loading from your own server. Nothing in your posts is changed, so there’s nothing to undo.
Can I show more than three related posts, or change the heading text?
Yes — developers can adjust both with a small code snippet using the plugin’s filters.
Does disabling comments delete them?
No. Existing comments are only hidden. Turn the option off and they reappear.
Can I disable comments on pages or other content types too?
Out of the box it covers blog posts only. A developer filter extends it to any content type.
