{"id":9754,"date":"2026-04-16T08:55:18","date_gmt":"2026-04-16T08:55:18","guid":{"rendered":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/?page_id=9754"},"modified":"2026-04-30T13:11:54","modified_gmt":"2026-04-30T13:11:54","slug":"how-to-configure-and-use-the-ai-engine","status":"publish","type":"page","link":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/how-to-configure-and-use-the-ai-engine\/","title":{"rendered":"How to configure and use the AI Engine"},"content":{"rendered":"<div class=\"warning\"><b>Important:<\/b> this feature is planned for version <b>1.4.1<\/b>, with release expected by <b>June 30, 2026<\/b>.<br \/>Some details, screenshots, or options shown on this page may change before the official release.<\/div>\n<h3>How does it work?<\/h3>\n<p>This option, available only for WordPress posts, uses embeddings to analyze your site content and automatically suggest relevant internal links between articles.<\/p>\n<p>Unlike other available search engines, which rely on traditional approaches such as categories or tags to identify related content, this system is able to understand the overall meaning of texts and identify truly relevant connections between articles.<\/p>\n<p>In this way, the system identifies related posts by comparing embeddings using a cosine similarity algorithm, which measures how close two pieces of content are from a semantic perspective.<\/p>\n<p>This feature will not be available while the <a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/how-to-troubleshoot-issues-during-license-key-activation\/\" target=\"_blank\">activation plugin<\/a> is installed on your website.<\/p>\n<p>If you are using the activation plugin, please complete the license activation process and remove it once the license has been correctly activated.<\/p>\n<div class=\"warning\"><b>Important:<\/b> This feature is included with all plans purchased before the official release, expected by <b>June 30, 2026<\/b>. After the official release, the <b>Personal<\/b> plan will no longer include this feature.<\/div>\n<h3>What are embeddings?<\/h3>\n<p>Embeddings are numerical representations of textual content. In practice, each article is transformed into a vector, that is, a sequence of numbers that describes its meaning.<\/p>\n<p>This allows the system to compare content at a semantic level: texts that are similar in meaning will have similar numerical representations, even if they use different words.<\/p>\n<h3>Why use embeddings?<\/h3>\n<p>Using embeddings allows you to overcome the limitations of methods based solely on keywords, categories, or article titles.<\/p>\n<p>In particular, it prevents articles in the same category from always showing the same related content, improving the variety and quality of suggestions.<\/p>\n<p>By analyzing the content of each post, suggestions become more accurate because they take into account context and meaning, allowing you to link truly related content even when they do not share identical terms or belong to the same categories.<\/p>\n<p>This approach improves the quality of internal linking and remains effective even on sites with a large number of contents.<\/p>\n<h3>How to get started<\/h3>\n<p>To begin, you need to select a provider for generating embeddings.<\/p>\n<p>You can use OpenAI APIs, which require an API key and active credits, or choose a local model using Ollama, which requires a more advanced setup and configuration.<\/p>\n<figure id=\"attachment_9861\" aria-describedby=\"caption-attachment-9861\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-the-AI-provider-from-the-available-options.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-the-AI-provider-from-the-available-options.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9861\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-the-AI-provider-from-the-available-options.jpg 1522w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-the-AI-provider-from-the-available-options-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-the-AI-provider-from-the-available-options-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-the-AI-provider-from-the-available-options-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-the-AI-provider-from-the-available-options-250x140.jpg 250w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9861\" class=\"wp-caption-text\">Select the AI provider from the available options<\/figcaption><\/figure>\n<p>Regarding OpenAI, you can generate a new API key by following these steps:<\/p>\n<ol>\n<li>Go to the <a href=\"https:\/\/platform.openai.com\/\" target=\"_blank\">OpenAI website<\/a> and log into your account<\/li>\n<li>Click the &#8220;Create API key&#8221; button in the top right corner<\/li>\n<li>In the popup, enter an optional name for the key<\/li>\n<li>Click &#8220;Create&#8221; to confirm and copy the API key<\/li>\n<\/ol>\n<p>It is important to store the API key securely, as it will not be possible to view it again later.<\/p>\n<p>Once you have the API key, you will need to purchase credits to use it within your site.<\/p>\n<p>Credits can be purchased using the payment methods supported by the platform.<\/p>\n<p>In most cases, a valid payment card is required; the availability of prepaid cards or other methods (such as direct debit) may vary depending on the country and account configuration.<\/p>\n<p>If you do not have access to a traditional card, you can consider alternatives such as Revolut, which allows you to generate virtual cards usable for this type of purchase.<\/p>\n<p>This is a commonly adopted solution, but it is always recommended to verify compatibility with your account.<\/p>\n<p><em>OpenAI supports long content through automatic chunking, but extremely long articles may require many API calls and can fail due to server timeout, rate limits, or runtime constraints. Articles above tens of thousands of words should be considered edge cases.<\/em><\/p>\n<h3>Embeddings generation<\/h3>\n<p>Once the provider has been selected, you can choose a compatible embeddings model directly from the plugin settings.<\/p>\n<figure id=\"attachment_9863\" aria-describedby=\"caption-attachment-9863\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-an-openai-embeddings-model.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-an-openai-embeddings-model.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9863\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-an-openai-embeddings-model.jpg 1522w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-an-openai-embeddings-model-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-an-openai-embeddings-model-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-an-openai-embeddings-model-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-an-openai-embeddings-model-250x140.jpg 250w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9863\" class=\"wp-caption-text\">Select an OpenAI embeddings model<\/figcaption><\/figure>\n<p>OpenAI provides different embeddings models depending on the balance you want between cost, performance, and storage usage.<\/p>\n<ul>\n<li><strong>text-embedding-3-small<\/strong>: recommended for most websites. It offers a good balance between quality and cost, making it suitable for generating embeddings across many articles.<\/li>\n<li><strong>text-embedding-3-large<\/strong>: the most powerful option, suitable when you want higher semantic accuracy.<\/li>\n<li><strong>text-embedding-ada-002<\/strong>: previous-generation model, still usable for compatibility purposes, although newer models are generally recommended.<\/li>\n<\/ul>\n<figure id=\"attachment_9876\" aria-describedby=\"caption-attachment-9876\" style=\"width: 1522px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/ollama-settings.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/ollama-settings.jpg\" alt=\"\" width=\"1522\" height=\"855\" class=\"size-full wp-image-9876\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/ollama-settings.jpg 1522w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/ollama-settings-300x169.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/ollama-settings-1024x575.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/ollama-settings-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/ollama-settings-250x140.jpg 250w\" sizes=\"auto, (max-width: 1522px) 100vw, 1522px\" \/><\/a><figcaption id=\"caption-attachment-9876\" class=\"wp-caption-text\">Ollama settings<\/figcaption><\/figure>\n<p>If you choose <strong>Ollama<\/strong> as provider, you can also configure additional options such as the runtime profile, endpoint mode, and custom generation limits.<\/p>\n<p>For more details, please refer to the <a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/how-to-configure-ollama-options-for-ai-engine\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ollama configuration documentation<\/a>.<\/p>\n<h3>Start embeddings generation<\/h3>\n<p>After this initial setup, you can proceed with generating embeddings for your site content.<\/p>\n<p>Generation can be performed on a limited set of articles or across all content.<\/p>\n<figure id=\"attachment_9865\" aria-describedby=\"caption-attachment-9865\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/start-the-embeddings-generation-process.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/start-the-embeddings-generation-process.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9865\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/start-the-embeddings-generation-process.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/start-the-embeddings-generation-process-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/start-the-embeddings-generation-process-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/start-the-embeddings-generation-process-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9865\" class=\"wp-caption-text\">Start the embeddings generation process<\/figcaption><\/figure>\n<p>If your site contains a large number of articles, it is recommended to process them in batches (for example, 50 articles at a time), as the system will automatically generate embeddings only for those that do not yet have one.<\/p>\n<p>The process can also be started in background.<\/p>\n<figure id=\"attachment_9866\" aria-describedby=\"caption-attachment-9866\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/run-embeddings-generation-in-background.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/run-embeddings-generation-in-background.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9866\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/run-embeddings-generation-in-background.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/run-embeddings-generation-in-background-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/run-embeddings-generation-in-background-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/run-embeddings-generation-in-background-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9866\" class=\"wp-caption-text\">Run embeddings generation in background<\/figcaption><\/figure>\n<p>In this case, you can leave the page during processing, but you will not be able to start a new generation until the current one is completed.<\/p>\n<figure id=\"attachment_9867\" aria-describedby=\"caption-attachment-9867\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/background-processing-in-progress.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/background-processing-in-progress.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9867\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/background-processing-in-progress.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/background-processing-in-progress-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/background-processing-in-progress-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/background-processing-in-progress-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9867\" class=\"wp-caption-text\">Background processing in progress<\/figcaption><\/figure>\n<p>At the end, the system will display a completion notification.<\/p>\n<figure id=\"attachment_9868\" aria-describedby=\"caption-attachment-9868\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/notification-displayed-after-the-embeddings-generation-process-is-completed.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/notification-displayed-after-the-embeddings-generation-process-is-completed.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9868\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/notification-displayed-after-the-embeddings-generation-process-is-completed.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/notification-displayed-after-the-embeddings-generation-process-is-completed-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/notification-displayed-after-the-embeddings-generation-process-is-completed-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/notification-displayed-after-the-embeddings-generation-process-is-completed-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9868\" class=\"wp-caption-text\">Notification displayed after the embeddings generation process is completed<\/figcaption><\/figure>\n<p>During embeddings generation, the plugin may display log messages related to progress, background processing, errors, or partial indexing.<\/p>\n<p>You can learn more in the <a href=\"#\" target=\"_blank\">generation log messages documentation<\/a>.<\/p>\n<p>If needed, you can also clear the embeddings table by clicking the dedicated button.<\/p>\n<figure id=\"attachment_9869\" aria-describedby=\"caption-attachment-9869\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/clear-all-generated-embeddings.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/clear-all-generated-embeddings.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9869\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/clear-all-generated-embeddings.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/clear-all-generated-embeddings-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/clear-all-generated-embeddings-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/clear-all-generated-embeddings-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9869\" class=\"wp-caption-text\">Clear all generated embeddings<\/figcaption><\/figure>\n<p>This operation is particularly useful for local testing or when you want to regenerate embeddings using a more advanced model.<\/p>\n<p>Once embeddings are generated, you need to select the <strong>AI Engine<\/strong> option as the plugin search method.<\/p>\n<figure id=\"attachment_9870\" aria-describedby=\"caption-attachment-9870\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-ai-engine-as-the-search-method.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-ai-engine-as-the-search-method.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9870\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-ai-engine-as-the-search-method.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-ai-engine-as-the-search-method-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-ai-engine-as-the-search-method-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/select-ai-engine-as-the-search-method-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9870\" class=\"wp-caption-text\">Select \u201cAI Engine\u201d as the search method<\/figcaption><\/figure>\n<p>In this way, link suggestions will be based on semantic analysis of your content.<\/p>\n<h3>Generation for specific articles<\/h3>\n<p>In addition to bulk generation, you can create an embedding for a single article directly from the edit page using the dedicated button.<\/p>\n<figure id=\"attachment_9871\" aria-describedby=\"caption-attachment-9871\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-classic-editor.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-classic-editor.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9871\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-classic-editor.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-classic-editor-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-classic-editor-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-classic-editor-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9871\" class=\"wp-caption-text\">Generate embedding from the Classic Editor<\/figcaption><\/figure>\n<figure id=\"attachment_9872\" aria-describedby=\"caption-attachment-9872\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-gutenberg-editor.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-gutenberg-editor.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9872\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-gutenberg-editor.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-gutenberg-editor-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-gutenberg-editor-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/generate-embedding-from-the-gutenberg-editor-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9872\" class=\"wp-caption-text\">Generate embedding from the Gutenberg editor<\/figcaption><\/figure>\n<p>In this case, the configured provider and model will be used automatically.<\/p>\n<p>During the creation of new content, embeddings are not generated automatically, but can be created manually if needed.<\/p>\n<figure id=\"attachment_9873\" aria-describedby=\"caption-attachment-9873\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-classic-editor.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-classic-editor.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9873\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-classic-editor.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-classic-editor-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-classic-editor-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-classic-editor-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9873\" class=\"wp-caption-text\">Enable automatic embedding generation on save (Classic Editor)<\/figcaption><\/figure>\n<figure id=\"attachment_9874\" aria-describedby=\"caption-attachment-9874\" style=\"width: 1024px\" class=\"wp-caption alignnone\"><a href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-gutenberg-editor.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"imgBorder\" src=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-gutenberg-editor.jpg\" alt=\"\" width=\"1024\" height=\"575\" class=\"size-full wp-image-9874\" srcset=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-gutenberg-editor.jpg 1024w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-gutenberg-editor-300x168.jpg 300w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-gutenberg-editor-768x431.jpg 768w, https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-content\/uploads\/2026\/04\/enable-automatic-embedding-generation-on-save-gutenberg-editor-250x140.jpg 250w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption id=\"caption-attachment-9874\" class=\"wp-caption-text\">Enable automatic embedding generation on save (Gutenberg editor)<\/figcaption><\/figure>\n<p>If an article undergoes significant changes, it is recommended to regenerate the embedding to maintain the quality of suggestions. <\/p>\n<p>For minor updates, regeneration is not necessary, as the semantic representation remains largely valid.<\/p>\n<h3>Database impact<\/h3>\n<p>The plugin creates a dedicated table for storing embeddings: <code>{prefix}ilrcp_post_embeddings<\/code>, with one row per indexed post.<\/p>\n<p>Each row stores the embedding vector in the <code>embedding<\/code> field and metadata about the provider, model, and runtime configuration in the <code>embedding_info<\/code> field.<\/p>\n<p>The storage impact mainly depends on the embedding dimension and grows linearly with the number of indexed posts.<\/p>\n<p>As a general reference, small or medium models (384\u20131024 dimensions) typically require about 5 KB to 20 KB per post, while larger models (2560\u20134096 dimensions) may require about 30 KB to 70 KB or more per post.<\/p>\n<p>In most installations, this remains manageable. However, high-dimension models can significantly increase the total database size on sites with a large content library.<\/p>\n<h3>Costs<\/h3>\n<p>Generating embeddings using OpenAI APIs has a very low cost.<\/p>\n<p>For an article of approximately 1,000 words, the cost is typically a fraction of a cent, making this solution highly scalable.<\/p>\n<p>Costs are based on token usage and may vary depending on the selected model.<\/p>\n<h3>Advanced users<\/h3>\n<p>More experienced users can choose to use a local model via Ollama.<\/p>\n<p>You will need to install one of the models compatible with embeddings; you can consult the <a href=\"https:\/\/ollama.com\/search?c=embedding\" target=\"_blank\">full list<\/a> on the official Ollama website.<\/p>\n<p>This solution also requires that the service be accessible via API, which involves additional network and security configuration.<\/p>\n<p>In most cases, however, using OpenAI APIs remains the simplest and most immediate option, as well as sufficiently affordable for most scenarios.<\/p>\n<p>To make the local model accessible from your site, you can choose one of the following solutions.<\/p>\n<h4>Connect the local model to your site using Cloudflare Zero Trust<\/h4>\n<p>You can use <strong>Cloudflare Zero Trust<\/strong> to expose your local service through a secure and stable tunnel.<\/p>\n<p>This solution requires:<\/p>\n<ol>\n<li>an active Cloudflare account<\/li>\n<li>a domain configured on Cloudflare<\/li>\n<li>installation and configuration of Cloudflare Tunnel (cloudflared) on your local machine<\/li>\n<\/ol>\n<p>Unlike other solutions, it allows you to use a custom domain and a stable endpoint over time, without requiring manual updates.<\/p>\n<p>For full setup instructions, you can follow the <a href=\"https:\/\/developers.cloudflare.com\/tunnel\/setup\/\" target=\"_blank\">official Cloudflare guide<\/a>.<\/p>\n<p>This is an advanced setup, recommended for users familiar with networking and command-line configuration.<\/p>\n<h4>Connect the local model to your site using Ngrok<\/h4>\n<p>If you want to use a local model but do not have experience exposing services over the network, you can use ngrok, a tool that temporarily exposes a local service through a public URL.<\/p>\n<p>In the free version of ngrok, the public URL changes each time the tunnel is restarted, so you will need to update the endpoint in the plugin settings for future use.<\/p>\n<p>You can install ngrok by following the <a href=\"https:\/\/ngrok.com\/download\" target=\"_blank\">official documentation<\/a>.<\/p>\n<h3>Upcoming features<\/h3>\n<p>We plan to introduce additional providers in future releases to expand available options and improve overall flexibility.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Important: this feature is planned for version 1.4.1, with release expected by June 30, 2026.Some details, screenshots, or options shown on this page may change before the official release. How does it work? This option, available only for WordPress posts, uses embeddings to analyze your site content and automatically suggest relevant internal links between articles.&hellip; <a class=\"more-link\" href=\"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/how-to-configure-and-use-the-ai-engine\/\">Continue reading <span class=\"screen-reader-text\">How to configure and use the AI Engine<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-9754","page","type-page","status-publish","hentry","entry"],"_links":{"self":[{"href":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-json\/wp\/v2\/pages\/9754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-json\/wp\/v2\/comments?post=9754"}],"version-history":[{"count":71,"href":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-json\/wp\/v2\/pages\/9754\/revisions"}],"predecessor-version":[{"id":9905,"href":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-json\/wp\/v2\/pages\/9754\/revisions\/9905"}],"wp:attachment":[{"href":"https:\/\/demo.themeinprogress.eu\/internal-linking-related-contents-pro\/wp-json\/wp\/v2\/media?parent=9754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}