{"id":284546,"date":"2026-02-25T12:41:54","date_gmt":"2026-02-25T12:41:54","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/inline-assets\/"},"modified":"2026-02-25T12:44:14","modified_gmt":"2026-02-25T12:44:14","slug":"interwebbis-asset-inliner","status":"publish","type":"plugin","link":"https:\/\/lmo.wordpress.org\/plugins\/interwebbis-asset-inliner\/","author":17166422,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"0.1.10","stable_tag":"0.1.10","tested":"6.9.4","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Interwebbi's Asset Inliner","header_author":"Interwebbi","header_description":"Inlines local frontend CSS, localizes Google Fonts (with font-display control and optional WOFF2 preloads), and performs automatic cache busting when content, theme, updates, or plugin settings change.","assets_banners_color":"343434","last_updated":"2026-02-25 12:44:14","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/interwebbi.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":193,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1.10":{"tag":"0.1.10","author":"rikuksf","date":"2026-02-25 12:44:14"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3469428,"resolution":"128x128","location":"assets","locale":""},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3469428,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3469428,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3469428,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1.10"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3469428,"resolution":"1","location":"assets","locale":""}},"screenshots":{"1":"Interwebbi's Asset Inliner settings page."},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[356,2221,3778,187,247],"plugin_category":[52,54,59],"plugin_contributors":[256583],"plugin_business_model":[],"class_list":["post-284546","plugin","type-plugin","status-publish","hentry","plugin_tags-css","plugin_tags-fonts","plugin_tags-google-fonts","plugin_tags-optimization","plugin_tags-performance","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_category-utilities-and-tools","plugin_contributors-rikuksf","plugin_committers-rikuksf"],"banners":{"banner":"https:\/\/ps.w.org\/interwebbis-asset-inliner\/assets\/banner-772x250.png?rev=3469428","banner_2x":"https:\/\/ps.w.org\/interwebbis-asset-inliner\/assets\/banner-1544x500.png?rev=3469428","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/interwebbis-asset-inliner\/assets\/icon-128x128.png?rev=3469428","icon_2x":"https:\/\/ps.w.org\/interwebbis-asset-inliner\/assets\/icon-256x256.png?rev=3469428","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/interwebbis-asset-inliner\/assets\/screenshot-1.png?rev=3469428","caption":"Interwebbi's Asset Inliner settings page."}],"raw_content":"<!--section=description-->\n<p>Interwebbi's Asset Inliner is a performance plugin that focuses on practical frontend asset optimization:<\/p>\n\n<ul>\n<li>Inlines local frontend CSS from stylesheet links.<\/li>\n<li>Rewrites relative CSS asset URLs so fonts\/images still work after inlining.<\/li>\n<li>Optional CSS minification.<\/li>\n<li>Optional Google Fonts localization (detects Google Fonts stylesheets, downloads font files to local uploads, rewrites font URLs to local files, and inlines the rewritten font CSS).<\/li>\n<li>Optional font-display policy override for localized Google Fonts (<code>keep<\/code>, <code>swap<\/code>, <code>optional<\/code>, <code>fallback<\/code>, <code>block<\/code>).<\/li>\n<li>Optional preload tags for localized WOFF2 fonts.<\/li>\n<li>Automatic cache busting on post\/page saves, deletions, theme switches, updates, and plugin settings changes.<\/li>\n<\/ul>\n\n<p>Google Fonts localization is optional and disabled by default.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code> or install via the WordPress plugin uploader.<\/li>\n<li>Activate the plugin through the \"Plugins\" screen in WordPress.<\/li>\n<li>Go to <code>Settings -&gt; Interwebbi's Asset Inliner<\/code>.<\/li>\n<li>Enable only the options you want.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20page%20caching%20plugins%3F\"><h3>Does this work with page caching plugins?<\/h3><\/dt>\n<dd><p>Yes. The generated HTML (including inlined CSS) can be cached normally. Purge page cache after major style changes.<\/p><\/dd>\n<dt id=\"does%20this%20localize%20all%20google%20fonts%20automatically%3F\"><h3>Does this localize all Google Fonts automatically?<\/h3><\/dt>\n<dd><p>When \"Localize Google Fonts\" is enabled, the plugin processes Google Fonts stylesheet URLs used on frontend pages and stores downloaded font files locally.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20send%20telemetry%3F\"><h3>Does this plugin send telemetry?<\/h3><\/dt>\n<dd><p>No telemetry is included. Remote requests are only made when Google Fonts localization is enabled, and only to fetch Google Fonts CSS\/font files required for rendering.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.1.10<\/h4>\n\n<ul>\n<li>Hardened local URL-to-file resolution with allowed-root containment checks.<\/li>\n<li>Removed hardcoded include-directory assumptions from file path mapping.<\/li>\n<li>Added Google Fonts remote host validation before downloading font files.<\/li>\n<\/ul>\n\n<h4>0.1.9<\/h4>\n\n<ul>\n<li>Stored localized Google Fonts assets under <code>\/uploads\/interwebbis-asset-inliner\/<\/code> for WordPress.org compliance.<\/li>\n<li>Reworked local URL-to-file resolution to use WordPress directory\/location functions instead of ABSPATH-based assumptions.<\/li>\n<li>Sanitized <code>REQUEST_URI<\/code> handling for frontend request gating.<\/li>\n<\/ul>\n\n<h4>0.1.8<\/h4>\n\n<ul>\n<li>Added Google Fonts filtering controls for localized downloads (allowed subsets, allowed weights, and optional italic variant toggle).<\/li>\n<\/ul>\n\n<h4>0.1.7<\/h4>\n\n<ul>\n<li>Explicitly close plugin-owned output buffer on shutdown to avoid unclosed <code>ob_start()<\/code> flow in shared environments.<\/li>\n<\/ul>\n\n<h4>0.1.6<\/h4>\n\n<ul>\n<li>Renamed plugin to \"Interwebbi's Asset Inliner\" with slug <code>interwebbis-asset-inliner<\/code>.<\/li>\n<li>Prefixed internal declarations and stored data keys with <code>interwebbiinlineassets_<\/code> for collision safety.<\/li>\n<\/ul>\n\n<h4>0.1.5<\/h4>\n\n<ul>\n<li>Bypass all plugin optimizations on frontend requests for logged-in administrators.<\/li>\n<\/ul>\n\n<h4>0.1.4<\/h4>\n\n<ul>\n<li>Added stricter frontend request gating so optimization logic runs only on true frontend page views.<\/li>\n<\/ul>\n\n<h4>0.1.3<\/h4>\n\n<ul>\n<li>Renamed plugin branding\/slug to remove restricted terms for WordPress.org compliance.<\/li>\n<li>Removed discouraged translation loader call and aligned text domain usage.<\/li>\n<li>Replaced direct database transient deletion with tracked transient key cleanup.<\/li>\n<li>Replaced unlink() usage with wp_delete_file().<\/li>\n<li>Updated tested compatibility metadata and naming consistency.<\/li>\n<\/ul>\n\n<h4>0.1.2<\/h4>\n\n<ul>\n<li>Added Google Fonts localization features (font-display policy and optional WOFF2 preload tags).<\/li>\n<li>Added automatic cache busting on content\/theme\/update\/settings events.<\/li>\n<li>Added plugin settings link on Plugins page.<\/li>\n<li>Improved compatibility for subdirectory WordPress installs.<\/li>\n<\/ul>","raw_excerpt":"Inline local CSS assets, localize Google Fonts, and apply lightweight performance optimizations from one focused plugin.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/284546","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=284546"}],"author":[{"embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/rikuksf"}],"wp:attachment":[{"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=284546"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=284546"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=284546"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=284546"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=284546"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/lmo.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=284546"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}