{"id":2184,"date":"2026-08-27T14:48:42","date_gmt":"2026-08-27T14:48:42","guid":{"rendered":"https:\/\/internal-links-manager.com\/en\/?page_id=2184"},"modified":"2026-08-27T14:48:51","modified_gmt":"2026-08-27T14:48:51","slug":"%d0%b2%d1%83%d0%ba%d0%be%d0%bc%d0%b5%d1%80%d1%86","status":"publish","type":"page","link":"https:\/\/internal-links-manager.com\/ru\/for\/%d0%b2%d1%83%d0%ba%d0%be%d0%bc%d0%b5%d1%80%d1%86\/","title":{"rendered":"Internal linking for WooCommerce"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"2184\" class=\"elementor elementor-2184\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-wc000001 ilm-article elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"wc000001\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-wc000002\" data-id=\"wc000002\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-wc000003 elementor-widget elementor-widget-html\" data-id=\"wc000003\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style id=\"ilm-art-css\">\n.ilm-article .elementor-widget-text-editor{font-size:17.5px;line-height:1.72;color:var(--ilm-ink);font-family:var(--ilm-sans)}\n.ilm-article .elementor-widget-text-editor p{font-size:inherit;line-height:inherit;margin:0 0 18px}\n.ilm-article .elementor-widget-text-editor p:last-child{margin-bottom:0}\n.ilm-article .elementor-widget-text-editor a{color:var(--ilm-magenta);text-decoration:underline;text-underline-offset:3px}\n.ilm-article .elementor-widget-text-editor ul{margin:0 0 18px;padding-left:22px}\n.ilm-article .elementor-widget-text-editor li{margin:0 0 9px}\n.ilm-article h2,.ilm-article h3{scroll-margin-top:90px}\n.ilm-callout{background:#fff;border-left:3px solid var(--ilm-magenta);border-radius:0 12px 12px 0;padding:20px 24px;font-family:var(--ilm-sans);font-size:16.5px;line-height:1.68;color:var(--ilm-ink)}\n.ilm-callout p{margin:0 0 12px}\n.ilm-callout p:last-child{margin-bottom:0}\n.ilm-callout a{color:var(--ilm-magenta);text-decoration:underline;text-underline-offset:3px}\n.ilm-cta{display:inline-flex;align-items:center;justify-content:center;padding:14px 26px;border-radius:11px;background:var(--ilm-orange);color:#fff;text-decoration:none;font-family:var(--ilm-sans);font-weight:600;font-size:16px;box-shadow:0 8px 22px rgba(242,127,16,.28);transition:background .15s,transform .15s}\n.ilm-cta:hover{background:var(--ilm-orange-deep);transform:translateY(-2px)}\n@media(prefers-reduced-motion:reduce){.ilm-cta{transition:none}}\n<\/style>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-wc000004 elementor-widget elementor-widget-text-editor\" data-id=\"wc000004\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>For WooCommerce<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-wc000005 elementor-widget elementor-widget-heading\" data-id=\"wc000005\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Shop content does not live in the post editor<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-wc000006 elementor-widget elementor-widget-text-editor\" data-id=\"wc000006\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Which is why most auto-linking plugins do nothing useful on a shop. They read the standard editor field, and a WooCommerce store keeps its text in product descriptions, short descriptions, category texts and custom fields \u2014 places those plugins never look.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-wc000010 ilm-article elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"wc000010\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-wc000011\" data-id=\"wc000011\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-wc000012 elementor-widget elementor-widget-heading\" data-id=\"wc000012\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">What a shop needs that a blog does not<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-wc000013 elementor-widget elementor-widget-text-editor\" data-id=\"wc000013\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Three differences change how internal linking works on a store.<\/p><p><strong>The important pages are categories, not products.<\/strong> A category page is what has a chance at a broad search term; individual products compete for long-tail variants and often for nothing at all. So the flow should run from product descriptions and blog posts <em>into<\/em> categories, not the other way round. Most shops have it backwards \u2014 categories <a href=\"https:\/\/internal-links-manager.com\/ru\/%d1%87%d1%82%d0%be-%d0%ba%d0%b0%d1%81%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%bb%d0%b8%d0%bd%d0%ba%d0%b1%d0%b8%d0%bb%d0%b4%d0%b8%d0%bd%d0%b3%d0%b0\/\" data-internallinksmanager029f6b8e52c=\"146\" title=\"Internal links vs. backlinks\">\u0441\u0441\u044b\u043b\u043a\u0430<\/a> out to dozens of products, and nothing links back.<\/p><p><strong>Product text is short and repetitive.<\/strong> A blog post has room for context; a product description has three paragraphs, half of which are shared across a range. A threshold and a per-page cap matter more here than anywhere, because a rule that fires on every occurrence turns a product page into a link list.<\/p><p><strong>The catalogue changes without anyone editing text.<\/strong> Products come and go, categories get restructured, seasonal lines disappear. Every one of those events cuts internal links that nobody remembers making \u2014 which is why shops accumulate <a href=\"https:\/\/internal-links-manager.com\/ru\/learn\/orphan-pages\/\">orphan pages<\/a> faster than blogs do.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-wc000014 elementor-widget elementor-widget-heading\" data-id=\"wc000014\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Where the text actually is<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-wc000015 elementor-widget elementor-widget-text-editor\" data-id=\"wc000015\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The Pro version processes WooCommerce product descriptions and category texts like any other content, and it reads fields built with <strong>Advanced Custom Fields<\/strong> \u2014 not only the standard editor content.<\/p><p>That last part is what decides whether a plugin is usable on a real store. Any shop past a certain size keeps its material in custom fields: care instructions, technical specifications, sizing notes, ingredient lists. On a well-built store that is where most of the words live. A tool that reads only <code>post_content<\/code> sees a fraction of the catalogue and reports success anyway.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-7b699ec ilm-article elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"7b699ec\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f39a4e4\" data-id=\"f39a4e4\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-99ca2bf elementor-widget elementor-widget-heading\" data-id=\"99ca2bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">A setup that suits a catalogue<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f2fe701 elementor-widget elementor-widget-text-editor\" data-id=\"f2fe701\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong>Point category terms at category pages.<\/strong> The plural, generic phrasing a customer would search \u2014 not the product name. Every product description that mentions the category then feeds it, and that is dozens of pages doing it automatically.<\/p><p><strong>Use same-category linking to keep clusters tight.<\/strong> Restricting a rule to posts within one category produces a coherent topical group rather than links scattered across unrelated parts of the shop. On a store with several distinct ranges this is the difference between structure and noise.<\/p><p><strong>Cap hard on product pages.<\/strong> One link per product description is usually right. Two is the maximum. A product page exists to sell one thing, and every link is an invitation to leave before the button.<\/p><p><strong>Exclude checkout, cart, account and legal.<\/strong> Nothing should ever be linked into a purchase flow. This is what the blacklist is for, and it is the first thing to configure, not the last.<\/p><p><strong>Link the blog into the shop, not the reverse.<\/strong> If you run editorial content alongside the catalogue, that content is the natural source: it has the words, the context and often the traffic. Rules that point buying-intent phrases from articles into categories are the highest-value ones on most stores.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-26d02c7 elementor-widget elementor-widget-heading\" data-id=\"26d02c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Speed, because someone will ask<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1693af9 elementor-widget elementor-widget-text-editor\" data-id=\"1693af9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The standard objection to auto-linking is that it processes text on every page load, and on a shop that is a fair objection \u2014 a category listing renders a lot of content at once, and WooCommerce is not fast to begin with.<\/p><p>The Pro version keeps the link processing in a cache: Redis, Memcached, APCu and others. The work happens in the background rather than in front of the customer. If your store already runs object caching, this uses it; if it does not, that is worth fixing before adding any plugin, not because of this one.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f252976 ilm-article elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f252976\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-377c7a7\" data-id=\"377c7a7\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-861057a elementor-widget elementor-widget-html\" data-id=\"861057a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"ilm-callout\"><p><strong>The WooCommerce and ACF support is a Pro feature,<\/strong> along with the keyword threshold, partial word matching, same-category linking and the caching described above. The free version handles standard post and page content, per-page limits, the blacklist and CSV import and export \u2014 useful for testing the approach on your blog first, but it will not reach product descriptions or custom fields.<\/p><\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-95b1484 elementor-widget elementor-widget-text-editor\" data-id=\"95b1484\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Worth reading first if the strategy is not settled: <a href=\"https:\/\/internal-links-manager.com\/ru\/learn\/internal-linking\/\">the complete guide to internal linking<\/a> for deciding which pages should collect authority, and <a href=\"https:\/\/internal-links-manager.com\/ru\/learn\/anchor-text\/\">choosing anchor text<\/a> for phrasing rules that do not read like a template. The <a href=\"https:\/\/internal-links-manager.com\/ru\/features\/\">full feature list<\/a> says exactly what is free and what is not.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d9b7419 elementor-widget elementor-widget-html\" data-id=\"d9b7419\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<a class=\"ilm-cta\" href=\"https:\/\/internal-links-manager.com\/ru\/pricing\/\">\u0421\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0446\u0435\u043d\u044b<\/a>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>For WooCommerce Shop content does not live in the post editor Which is why most auto-linking plugins do nothing useful on a shop. They read the standard editor field, and a WooCommerce store keeps its text in product descriptions, short descriptions, category texts and custom fields \u2014 places those plugins never look. What a shop [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":2173,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2184","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/internal-links-manager.com\/ru\/wp-json\/wp\/v2\/pages\/2184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/internal-links-manager.com\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/internal-links-manager.com\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/internal-links-manager.com\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/internal-links-manager.com\/ru\/wp-json\/wp\/v2\/comments?post=2184"}],"version-history":[{"count":3,"href":"https:\/\/internal-links-manager.com\/ru\/wp-json\/wp\/v2\/pages\/2184\/revisions"}],"predecessor-version":[{"id":2187,"href":"https:\/\/internal-links-manager.com\/ru\/wp-json\/wp\/v2\/pages\/2184\/revisions\/2187"}],"up":[{"embeddable":true,"href":"https:\/\/internal-links-manager.com\/ru\/wp-json\/wp\/v2\/pages\/2173"}],"wp:attachment":[{"href":"https:\/\/internal-links-manager.com\/ru\/wp-json\/wp\/v2\/media?parent=2184"}],"curies":[{"name":"\u0432\u043f","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}