{"id":300266,"date":"2026-05-23T10:34:04","date_gmt":"2026-05-23T10:34:04","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ai-semantic-search-for-posts\/"},"modified":"2026-05-23T10:33:38","modified_gmt":"2026-05-23T10:33:38","slug":"vecpost","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/vecpost\/","author":23441452,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"6.9.4","requires":"6.1","requires_php":"7.4","requires_plugins":null,"header_name":"VecPost AI Search for Posts","header_author":"Krunal Balas","header_description":"Replaces WordPress default SQL search with AI-powered semantic search using OpenAI or Google Gemini embeddings. Understands meaning, not just keywords.","assets_banners_color":"0f172a","last_updated":"2026-05-23 10:33:38","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/krunalb18\/vecpost","header_author_uri":"https:\/\/github.com\/krunalb18","rating":0,"author_block_rating":0,"active_installs":0,"downloads":19,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"krunalbalas","date":"2026-05-23 10:33:38"}},"upgrade_notice":{"1.0.0":"<p>Initial release. Run bulk indexing after activation to index existing posts.<\/p>"},"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3545010,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3545010,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500}},"assets_blueprints":{},"all_blocks":{"vecpost-ai-search-for-posts\/search-block":{"apiVersion":3,"name":"vecpost-ai-search-for-posts\/search-block","title":"VecPost AI Search for Posts","category":"widgets","icon":"search","description":"A basic search block for VecPost AI Search for Posts.","textdomain":"vecpost","attributes":{"placeholder":{"type":"string","default":"Search..."}},"editorScript":"file:.\/index.js"}},"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[220145,250171,194533,944,140844],"plugin_category":[],"plugin_contributors":[264114],"plugin_business_model":[],"class_list":["post-300266","plugin","type-plugin","status-publish","hentry","plugin_tags-ai-search","plugin_tags-embeddings","plugin_tags-openai","plugin_tags-search","plugin_tags-semantic-search","plugin_contributors-krunalb18","plugin_committers-krunalbalas"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/vecpost\/assets\/icon-256x256.png?rev=3545010","icon_2x":"https:\/\/ps.w.org\/vecpost\/assets\/icon-256x256.png?rev=3545010","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>VecPost AI Search for Posts replaces WordPress's default SQL LIKE search with vector-based semantic search. Instead of matching exact words, it understands the <em>meaning<\/em> of a search query.<\/p>\n\n<p><strong>Example:<\/strong> A user searching \"heart workouts\" will find your post titled \"Best cardiovascular exercises\" - even though no words overlap - because the meanings are similar.<\/p>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>When you publish a post, the plugin sends its content to your chosen AI provider (OpenAI or Google Gemini) to generate a vector embedding - a list of numbers that represents the meaning of the text.<\/li>\n<li>These numbers are stored in your database.<\/li>\n<li>When a user searches, their query is also converted to numbers, and the plugin finds posts whose numbers are closest - meaning most semantically similar.<\/li>\n<\/ol>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Semantic search powered by OpenAI (<code>text-embedding-3-small<\/code> or <code>text-embedding-3-large<\/code>) or Google Gemini (<code>gemini-embedding-001<\/code>)<\/li>\n<li>Hybrid re-ranking: combines semantic similarity with keyword matching for best results<\/li>\n<li>Gutenberg block and shortcode <code>[vecpost_semantic_search]<\/code> for easy placement<\/li>\n<li>Bulk indexer with progress bar for existing posts<\/li>\n<li>WP-CLI support: <code>wp vecpost-semantic-search index<\/code>, <code>wp vecpost-semantic-search status<\/code>, <code>wp vecpost-semantic-search search \"query\"<\/code><\/li>\n<li>Configurable scoring thresholds via Settings -&gt; VecPost - AI Semantic Search for Posts<\/li>\n<li>Automatic re-indexing when you switch embedding models<\/li>\n<li>Results cached via WordPress object cache (Redis\/Memcached compatible)<\/li>\n<\/ul>\n\n<h4>Third-Party Services<\/h4>\n\n<p>This plugin sends post content to external AI APIs to generate embeddings. By using this plugin, you agree to the terms of service and privacy policies of your chosen provider:<\/p>\n\n<ul>\n<li><strong>OpenAI:<\/strong> https:\/\/openai.com\/policies\/privacy-policy | https:\/\/openai.com\/policies\/terms-of-use<\/li>\n<li><strong>Google Gemini:<\/strong> https:\/\/policies.google.com\/privacy | https:\/\/ai.google.dev\/terms<\/li>\n<\/ul>\n\n<p>No data is sent without your API key being configured. Data is only transmitted when posts are published or during bulk indexing.<\/p>\n\n<h4>Performance Note<\/h4>\n\n<p>Semantic search requires loading all embeddings into PHP memory for comparison. This works well for sites with up to approximately 1,500 posts. For larger sites, a dedicated vector database (pgvector, Qdrant, or Pinecone) is recommended.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>Settings -&gt; VecPost - AI Semantic Search for Posts<\/strong><\/li>\n<li>Enter your OpenAI or Google Gemini API key<\/li>\n<li>Click <strong>Test Connection<\/strong> to verify the key works<\/li>\n<li>Click <strong>Start Bulk Index<\/strong> to index your existing posts<\/li>\n<li>Add the search block to any page via the Gutenberg editor, or use the shortcode <code>[vecpost_semantic_search]<\/code><\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20an%20openai%20account%3F\"><h3>Do I need an OpenAI account?<\/h3><\/dt>\n<dd><p>Yes. You need either an OpenAI API key (https:\/\/platform.openai.com) or a Google Gemini API key (https:\/\/aistudio.google.com). Both have free tiers that are sufficient for small sites.<\/p><\/dd>\n<dt id=\"does%20this%20replace%20the%20default%20wordpress%20search%3F\"><h3>Does this replace the default WordPress search?<\/h3><\/dt>\n<dd><p>No. This plugin adds a separate search widget\/block. Your default WordPress search continues to work unchanged. You can place the semantic search widget on any page alongside or instead of the default search.<\/p><\/dd>\n<dt id=\"is%20my%20content%20sent%20to%20openai%2Fgoogle%3F\"><h3>Is my content sent to OpenAI\/Google?<\/h3><\/dt>\n<dd><p>Yes - post content is sent to the embedding API when you publish a post or run bulk indexing. The API returns numbers (the embedding vector) and does not store or use your content for training. See their privacy policies for full details.<\/p><\/dd>\n<dt id=\"how%20much%20does%20it%20cost%3F\"><h3>How much does it cost?<\/h3><\/dt>\n<dd><p>Using <code>text-embedding-3-small<\/code> (the default), indexing costs approximately $0.002 per 1,000 posts. Each search query costs a fraction of a cent. For most sites, monthly costs are under $1.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20change%20the%20embedding%20model%3F\"><h3>What happens if I change the embedding model?<\/h3><\/dt>\n<dd><p>The plugin detects the model change and automatically re-indexes all posts using the new model. During re-indexing, searches will return no results until indexing is complete.<\/p><\/dd>\n<dt id=\"can%20i%20use%20this%20on%20a%20multisite%20installation%3F\"><h3>Can I use this on a multisite installation?<\/h3><\/dt>\n<dd><p>The plugin has not been tested on WordPress Multisite and is not officially supported in that environment.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial public release<\/li>\n<li>OpenAI and Google Gemini embedding support<\/li>\n<li>Hybrid semantic + keyword re-ranking (BM25)<\/li>\n<li>Gutenberg block and shortcode<\/li>\n<li>WP-CLI commands<\/li>\n<li>Bulk indexer with progress UI<\/li>\n<li>Configurable scoring thresholds<\/li>\n<li>Redis\/Memcached compatible caching<\/li>\n<li>API connection test in admin<\/li>\n<li>Automatic re-index on model change<\/li>\n<\/ul>","raw_excerpt":"AI-powered semantic search for WordPress posts. Understands meaning, not just keywords. Powered by OpenAI or Google Gemini.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/300266","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=300266"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/krunalbalas"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=300266"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=300266"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=300266"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=300266"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=300266"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=300266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}