{"id":344378,"date":"2026-07-24T19:16:18","date_gmt":"2026-07-24T19:16:18","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/squeezy-safe-automatic-internal-links-seo-auto-linker\/"},"modified":"2026-07-24T19:15:49","modified_gmt":"2026-07-24T19:15:49","slug":"squeezy-safe-automatic-internal-links-seo-auto-linker","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/squeezy-safe-automatic-internal-links-seo-auto-linker\/","author":23536985,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.0","stable_tag":"1.3.0","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Squeezy \u2013 Safe Automatic Internal Links & SEO Auto Linker","header_author":"Andrea Tristano","header_description":"Dynamically automates internal links on page load with strict SEO safety thresholds, Gutenberg\/Divi support, wildcard plural matching (?), per-keyword repeat limits, and global UX styling.","assets_banners_color":"b0a04c","last_updated":"2026-07-24 19:15:49","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/donate\/?hosted_button_id=73QT6HP3MCXUG","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":40,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.3.0":{"tag":"1.3.0","author":"atristano71","date":"2026-07-24 19:15:49"}},"upgrade_notice":{"1.3.0":"<p>Initial stable release. Upgrade to safely automate your WordPress internal linking structure.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3621845,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3621845,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3621845,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3621845,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.3.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3621845,"resolution":"1","location":"assets","locale":"","width":1200,"height":892},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3621845,"resolution":"2","location":"assets","locale":"","width":1200,"height":892}},"screenshots":{"1":"Configure keyword rules, wildcard matching (<code>?<\/code>), target URLs, and execution limits in the Squeezy SEO admin manager.","2":"Smart DOM shielding safely injects dynamic internal links into front-end post content while protecting existing links and site layout, without changing db data."}},"plugin_section":[],"plugin_tags":[9810,569,273214,6681,186],"plugin_category":[55],"plugin_contributors":[273215],"plugin_business_model":[],"class_list":["post-344378","plugin","type-plugin","status-publish","hentry","plugin_tags-automatic-links","plugin_tags-automation","plugin_tags-content-linking","plugin_tags-internal-links","plugin_tags-seo","plugin_category-seo-and-marketing","plugin_contributors-atristano71","plugin_committers-atristano71"],"banners":{"banner":"https:\/\/ps.w.org\/squeezy-safe-automatic-internal-links-seo-auto-linker\/assets\/banner-772x250.png?rev=3621845","banner_2x":"https:\/\/ps.w.org\/squeezy-safe-automatic-internal-links-seo-auto-linker\/assets\/banner-1544x500.png?rev=3621845","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/squeezy-safe-automatic-internal-links-seo-auto-linker\/assets\/icon-128x128.png?rev=3621845","icon_2x":"https:\/\/ps.w.org\/squeezy-safe-automatic-internal-links-seo-auto-linker\/assets\/icon-256x256.png?rev=3621845","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/squeezy-safe-automatic-internal-links-seo-auto-linker\/assets\/screenshot-1.png?rev=3621845","caption":"Configure keyword rules, wildcard matching (<code>?<\/code>), target URLs, and execution limits in the Squeezy SEO admin manager."},{"src":"https:\/\/ps.w.org\/squeezy-safe-automatic-internal-links-seo-auto-linker\/assets\/screenshot-2.png?rev=3621845","caption":"Smart DOM shielding safely injects dynamic internal links into front-end post content while protecting existing links and site layout, without changing db data."}],"raw_content":"<!--section=description-->\n<p>Squeezy is a lightweight, high-performance SEO plugin designed to automate internal linking safely, naturally, and efficiently across your WordPress site.<\/p>\n\n<p>Building a strong internal linking structure is essential for search engine rankings, but manually adding links to past and present content is time-consuming and hard to manage. Squeezy solves this by dynamically injecting internal links into your post body content on-the-fly\u2014without touching or altering your raw database records.<\/p>\n\n<h3>Key Features:<\/h3>\n\n<ul>\n<li><strong>Wildcard Plural Matching (<code>?<\/code>):<\/strong> Catch singulars, plurals, and variations seamlessly (e.g., <code>dog?<\/code> matches \"dog\" and \"dogs\").<\/li>\n<li><strong>Strict SEO Thresholds:<\/strong> Prevent search engine over-optimization penalties using built-in global link caps and per-keyword frequency limits.<\/li>\n<li><strong>Smart DOM Shielding:<\/strong> Automatically bypasses text inside existing links (<code>&lt;a&gt;<\/code>), headings (<code>&lt;h1&gt;<\/code>\u2013<code>&lt;h6&gt;<\/code>), buttons, code blocks, and image attributes.<\/li>\n<li><strong>Database Safe:<\/strong> Links are applied dynamically during page rendering (<code>the_content<\/code> filter), keeping your database clean and unpolluted.<\/li>\n<li><strong>Gutenberg &amp; Divi Compatible:<\/strong> Integrates smoothly with modern block editors and popular page builders (Divi, Elementor, Beaver Builder).<\/li>\n<li><strong>Global UX Styling:<\/strong> Enforce visual consistency across all injected links with optional bolding, underlining, or custom styling.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>squeezy-safe-automatic-internal-links-seo-auto-linker<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or upload the <code>.zip<\/code> archive via <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Navigate to <strong>Squeezy SEO<\/strong> in your WordPress admin menu to configure your keyword rules and global settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20squeezy%20modify%20my%20actual%20post%20content%20in%20the%20database%3F\"><h3>Does Squeezy modify my actual post content in the database?<\/h3><\/dt>\n<dd><p>No. Squeezy dynamically injects internal links when content is displayed on the front end. Your original post content stored in the database remains completely untouched.<\/p><\/dd>\n<dt id=\"will%20squeezy%20break%20existing%20links%20or%20headings%3F\"><h3>Will Squeezy break existing links or headings?<\/h3><\/dt>\n<dd><p>No. Squeezy uses smart DOM shielding to detect and skip text already inside <code>&lt;a&gt;<\/code> tags, headings (<code>&lt;h1&gt;<\/code>-<code>&lt;h6&gt;<\/code>), code snippets, buttons, and image alt text.<\/p><\/dd>\n<dt id=\"how%20does%20wildcard%20matching%20work%3F\"><h3>How does wildcard matching work?<\/h3><\/dt>\n<dd><p>Adding a <code>?<\/code> at the end of a keyword stem enables flexible matching. For example, <code>shoe?<\/code> matches both \"shoe\" and \"shoes\", saving you from creating multiple duplicate rules.<\/p><\/dd>\n<dt id=\"can%20i%20set%20a%20limit%20on%20how%20many%20links%20are%20added%20per%20post%3F\"><h3>Can I set a limit on how many links are added per post?<\/h3><\/dt>\n<dd><p>Yes. You can set both a global maximum link limit per post\/page and individual execution caps for each specific keyword rule.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Initial stable release with structured repeater table, wildcard matching, smart DOM shielding, and strict SEO frequency controls.<\/li>\n<\/ul>","raw_excerpt":"Safely automate internal SEO links with wildcard plural matching, per-keyword limits, and page builder support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/344378","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=344378"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/atristano71"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=344378"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=344378"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=344378"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=344378"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=344378"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=344378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}