修改WordPress网站的搜索功能

修改WordPress网站的搜索功能


一旦开始撰写并积累了不止几篇文章,就有望吸引更多的访问者访问您的站点。而且,当他们到达那里时,您的访客只会想要最好的内容,只有对这个主题感兴趣的人才可以。因此,即使您只缩小领域而只写文章,比如说PC游戏,而不是所有的视频游戏,人们对您到目前为止所写的每一篇文章仍然不会感兴趣。.

除了您或其他访问者的链接和推荐之外,您还希望使用户能够搜索您的网站.

人们在Google上搜索以访问您的网站的方式相同,您希望他们也能够在您的博客中进行搜索。是的,WordPress中已经集成了默认搜索功能。但是,即使您尝试使用它,您可能也会注意到它不如您想像的那样好,尽管这些年来它已经有所改进.

因此,为了使搜索功能更好,在本文中,我们将向您展示:

  • WordPress的最佳搜索插件
  • 如何更改默认搜索URL段
  • 如何仅按标题搜索帖子
  • 如何改善搜索功能并在特定类别中查找结果
  • 如何为WordPress搜索结果定义类别
  • 如何排除所有页面或帖子
  • 如何仅排除某些页面或帖子
  • 如何在WordPress中允许使用语音搜索

WordPress的最佳搜索插件

有了各种WordPress插件,您不必担心修改搜索功能。有许多很棒的插件可以扩展您的搜索范围,并且您会自豪地在自己拥有的网站上显示搜索框.

如果您做对了所有事情,那么用户可能会在新的搜索框中键入所需的内容,并获得预期的结果。现在,让我们看看您可以在几分钟内安装的一些最佳WordPress搜索插件.

WP Google搜索

价格:免费

WP Google搜索

让我们从一个插件开始,它将帮助您在网站上获得Google搜索引擎的强大功能。这个免费的插件将帮助您设置一个Google搜索框,您可以轻松地将其作为小部件放置在您的网站上.

您将必须注册一个Google自定义搜索帐户,获取ID,然后插件将完成其余工作。然后,您的访问者将能够根据您的设置搜索您的网站或整个网络,如果您决定这样做,甚至可以仅搜索图像。您可以自定义许多搜索功能,应用自定义布局,更改颜色,字体,缩略图等等.

  • 由Google提供支持的结果
  • 直接链接到Google Analytics(分析)
  • 自动完成

Swiftype搜索

价格:免费

Swiftype搜索

这个现代的插件已经被许多公认的强大功能的流行网站所使用。 Swiftype不仅具有最好的搜索算法之一,它将为您提供有意义的结果,而且还使您可以深入了解您在网站上进行的所有搜索。借助此功能,您可以轻松找到适合您网站的最佳关键字,并使内容和搜索结果更好.

该插件将取代标准的WordPress搜索,一旦您创建了一个免费帐户,您就可以自定义Swiftype,使其在您的网站上达到最佳状态。如果您有一个显示博客内容的移动应用程序,则可以使用移动SDK帮助移动访问者更加轻松地搜索内容.

  • 拖放界面
  • 自动完成
  • 详细的分析

搜索WP

价格:49美元起

搜索WP

SearchWP是另一个流行的WordPress插件,它将很好地替代默认的WP搜索。安装完成后,您无需进行困难的设置,而是可以对其进行配置,以使其与自定义字段和帖子类型,不同的分类法等一起使用。.

该插件适用于不同的媒体类型,因此可以轻松找到视频,PDF文档,音频等等。它的算法与您文章中关键字的相关性,因此,例如,在标题中找到的单词比在文章,评论或侧边栏中找到的单词对搜索结果的影响更大。开发人员会喜欢扩展插件功能的可能性,同时您也可以安装不同的扩展.

您可以期望获得搜索结果的详细统计信息,从而可以处理人们正在搜索的内容。目前,您可以选择三种不同的许可证,每年起价为49美元.

  • 关键字权重控制
  • 搜索视频,音频和PDF等媒体
  • 详细的分析

相关性

价格:免费/从$ 49.95

相关性

Relevanssi听起来像相关的东西。实际上,是因为Relevanssi是芬兰语中的“ relevant”。该插件将取代您的默认WordPress搜索引擎,并使其变得更好。为了延续有关插件名称的故事,Relevanssi将根据相关性而非日期对您的结果进行排序。那只是长名单中的第一个功能。这个功能强大的插件可以匹配部分单词(模糊匹配),使您可以搜索词组或仅搜索一个词.

创建自定义摘录,在文档中突出显示结果,并使用这个很棒的插件做更多很多的事情。 Relevanssi可以搜索评论,标签和自定义帖子类型。它还将使您能够选择标题,标签和评论的权重,从而改善搜索.

我们要强调的众多功能之一是建议功能,它将为用户提供类似的搜索查询-类似于Google众所周知的“您是不是要说?”建议。 Relevanssi提供了更多功能,而这只是我们正在谈论的免费版本。如果您需要更多,尤其是在运行多站点时,应该查看高级版本.

  • 模糊匹配
  • 文档中突出显示的搜索词
  • 基于建议的搜索结果

搜索智商

价格:免费/每月$ 159美元

搜索智商

SearchIQ是另一个出色的WordPress搜索插件,可为用户提供增强的搜索体验。借助强大的搜索逻辑,高级语义分析,错误处理以及许多此类功能,SearchIQ可以将用户定向到他们想要的结果。 SearchIQ易于安装和自定义.

入门需要在上创建一个帐户 搜索智商, 安装并激活插件,从SearchIQ仪表板复制API密钥,然后在wp后端输入API密钥。免费版具有基本功能,对于需要高级功能(例如PDF,CDN,Facet或自定义品牌)的企业,可以订阅付费软件包.

您不仅可以搜索页面,帖子,WordPress默认系统字段,用户定义的自定义字段,产品属性和分类法,PDF和摘录。但是SearchIQ的信息中心还包含实时分析数据,可帮助您了解用户的搜索行为,从而可以更好地优化内容策略.

搜索所有内容

价格:免费

搜索所有内容

您的默认WP搜索的另一个绝佳免费替代品肯定是Search Everything插件。无需修改模板即可改善搜索结果。您可以将其设置为搜索WordPress中的几乎所有内容,包括页面,摘录,草稿,附件,评论,标签,甚至自定义字段。除此之外,您还可以随意删除页面并张贴不想在搜索结果中找到的帖子.

该插件带有一个名为“ Research Everything”的小助手,它将在您撰写新文章时搜索您的内容,并使您能够立即链接到其他内容。如果您想研究更多,高级搜索功能将帮助您在Internet上查找内容。如果您正在运行,只需安装并激活插件,甚至无需查看设置页面,即可在几分钟之内启动并运行改进的搜索引擎.

  • 排除您不想被搜索的内容
  • 研究一切,包括功率搜索
  • 不修改您的模板页面

在WordPress中更改默认搜索URL段

除非您的网站是仅包含公司名称和联系信息的单页网站,否则如果您询问我们,则必须具有搜索功能。无论您是刚刚开始WordPress博客还是在网站上已经有成千上万的帖子和页面,无论是业余爱好还是从博客中赚钱,都必须尽一切努力使访问者留在网站上。为他们提供一种轻松快捷的方式来搜索您的网站绝对是您应注意的关键事项之一.

无论您使用的是WordPress内置搜索引擎,还是安装了其他引擎,都无需担心搜索结果.

尽管您可以对搜索功能做很多事情,但您可能忘记了一件简单而重要的事情。是的,我们正在谈论的是当搜索返回结果页面后,地址栏中会显示的网址段.

默认情况下,WordPress使用非用户友好版本的Slug。不仅您的访客会发现这种怪,而且也可能损害您的SEO。更好地说,您可以通过将子弹变成人类和机器都可以理解的东西来帮助您的SEO。.

如果您尝试搜索网站,则可能会看到地址栏中显示的奇怪的/?s = term slug。在这一部分中,我们将向您展示如何将其更改为所需的任何内容。例如,我们即将进行更改 “ /?s = term” 进入 “/搜索词” 这将更容易记住和使用.

  1. 打开functions.php
  2. 复制并粘贴以下内容:
  3. 函数feed_dir_rewrite($ wp_rewrite){
    $ feed_rules = array('search /(.+)'=>'index.php?s ='。$ wp_rewrite-> preg_index(1));
    $ wp_rewrite-> rules = $ feed_rules + $ wp_rewrite-> rules;
    }
    add_filter('generate_rewrite_rules','feed_dir_rewrite');
    
  4. 将第三行的目标网址更改为您喜欢的任何内容
  5. 保存更改

在对functions.php文件进行了这些更改之后,您可以尝试使用新的URL代码。不用担心如果插件或用户试图通过导航到旧的URL段来访问您的搜索结果,则您的网站将不会返回错误,而只是将搜索结果重定向到新的URL.

如果要将子段更改为唯一的段,则可以在代码的第三行上执行此操作.

这将带您的搜索结果页面进入 www.yourdomain.com/search/search-term

现在,您可以放心,不再考虑搜索结果如何显示给用户以及搜索引擎机器人,后者现在可以更轻松地浏览这些结果。另外,看到整个“搜索”字词而不是那个奇怪的问号后跟字母“ s”是否更自然?告诉我们你的想法.

仅按标题搜索帖子

如果您仍在使用默认的WordPress搜索引擎,则迟早要修改其工作方式。尽管搜索帖子的方式没有错,但您可能希望将搜索范围限制为标题.

代替浏览所有内容,此小功能将仅搜索帖子标题。在某些情况下,这可能确实可以帮助您获得更干净,更快的搜索结果:

  1. 打开functions.php
  2. 复制并粘贴以下代码:
  3. 函数__search_by_title_only($ search,&$ wp_query)
    {
    全局$ wpdb;
    if(empty($ search)){
    返回$ search; //跳过处理-查询中没有搜索词
    }
    $ q = $ wp_query-> query_vars;
    $ n =!empty($ q ['exact'])吗? '':'%';
    $ search =
    $ searchand ='';
    foreach(((array)$ q ['search_terms'] as $ term){
    $ term = esc_sql($ wpdb-> esc_like($ term));
    $ search。=“” {$ searchand}($ wpdb-> posts.post_title喜欢'{$ n} {$ term} {$ n}')”;
    $ searchand ='AND';
    }
    如果(!empty($ search)){
    $ search =“ AND({$ search})”;
    如果(!is_user_logged_in())
    $ search。=“” AND($ wpdb-> posts.post_password ='')“;
    }
    返回$ search;
    }
    add_filter('posts_search','__search_by_title_only',500,2);
  4. 保存更改

更改之后,您可以打开您的网站并开始新的搜索。为确保一切正常,您应尝试在其中一个帖子标题中搜索一个已知单词,该单词应在结果页面中返回该帖子。如果您尝试搜索发布的任何标题中未包含的单词或完整术语,搜索结果将为空.

实际上就是全部。如果您决定要退回旧搜索,只需删除或注释掉该功能.

改善搜索功能并在类别中查找结果

WordPress的默认搜索功能随着每次更新而越来越好。您可以轻松地在博客中包括搜索功能,并允许人们轻松找到他们想要的内容。但是,如果您尚未对功能进行任何更改,搜索结果将显示与查询相关的所有内容。如果您有很多内容,那可能是个问题,因为人们会在结果页面上看到大量的文字,对他们没有多大帮助.

改善WordPress搜寻功能

在本文的这一部分中,我们将向您展示如何允许访问者仅在您可以在代码中定义的特定类别内进行搜索,或者允许访问者从下拉列表中进行选择.

预先选择类别:

首先,我们将向您显示创建新搜索框的代码。使用此代码,您不会让人们选择要搜索的类别,而是在代码中定义类别。这可能会帮助您使用需要单独搜索框的特殊类别.

例如,您可能有一个仅包含智能手机评论的类别。使用此代码,您可以允许用户仅搜索该类别,以使搜索结果不会加载有关您的家用电器或网站上其他物品的信息。有道理吧?

  1. 打开要在其中显示搜索框的页面,或从中创建新的小部件
  2. 复制并粘贴以下代码:
  3. 
    
  4. 将第三个输入类型上的值更改为要搜索的类别ID
  5. 保存更改

进行这些更改后,将出现一个新的搜索框,它允许您搜索在上面的代码中输入的ID的类别。如果要搜索多个类别,只需输入用逗号分隔的数字即可添加更多ID.

尽管在某些情况下这可能是一个很好的解决方案,但有时您还是希望显示类别列表,并允许访问者选择从何处搜索.

允许访问者选择要搜索的类别:

在同一示例中,您具有智能手机,台式计算机,笔记本电脑,家用电器等类别。为什么您不让访问者选择其中之一并仅通过“笔记本电脑”类别进行搜索,例如?

在以下几行中,我们将向您展示如何做到这一点:

  1. 打开sidebar.php或您想在搜索框出现的任何地方
  2. 复制并粘贴代码:
  3. 在选项值下更改类别。在值和标签之间的名称中写入类别标签
  4. 保存更改

自动显示列表中的所有类别:

如果您想显示所有类别,而又不想在管理面板中添加/删除这些类别后就从该代码中添加或删除这些类别,请在 标签:

slug,““>”,$ category->名称,“\ n“;
}
?>

此代码将生成所有可用类别的列表.

就是这样。现在,您可以轻松添加访问者可以轻松搜索的一个或多个类别。无论您是希望人们自己选择类别还是要在代码中指定类别,都可以满足您的要求。.

定义WordPress搜索结果的类别

默认情况下,WordPress搜索您网站上的所有内容。如果用户在搜索框中键入单词或整个短语,则他将从整个网站上获得结果,其中包括帖子,页面,类别和标签,标题和内容等。如果您尚未安装任何其他搜索系统, ,或者已经进行了更改,则可能需要修改默认搜索框.

WordPress中的搜索类别

如果您想修改WordPress中已经存在的搜索框并定义将包含在结果页面中的类别,则可以采取一些不同的方法.

在这一部分中,我们将向您展示如何做到这一点。您可以轻松地在代码中添加或删除类别,并确定您想要(不想要)哪个类别.

在搜索结果中添加或删除类别:

  1. 打开functions.php
  2. 复制并粘贴代码.
  3. 函数searchcategory($ query){
    如果($ query-> is_search){
    $ query-> set('cat','1,4,6');
    }
    返回$ query;
    }
    add_filter('pre_get_posts','searchcategory');
    
  4. 在3上添加类别的IDrd 线
  5. 保存更改

现在,您已经进行了更改,搜索结果将仅从指定类别中获取信息,而其他类别将被排除。如您所见,您可以轻松地在列表中添加类别。您可以根据需要只设置一个类别,也可以根据需要设置访问者可以搜索的尽可能多的类别。只需输入用逗号分隔的类别ID.

如果您的唯一目标是从搜索结果中排除一两个类别, 您可以更快地完成;您可以通过在类别ID前面键入减号(-)来排除一个类别,而不必在其中输入要包含的所有类别。例如,如果要排除ID = 1的类别,则第三行代码如下所示:

$ query-> set('cat','-1');

妳去现在,您可以更有效地管理搜索结果.

从WordPress搜索中排除页面或帖子

在大多数情况下,您希望访问者能够搜索您的帖子,而来自页面的结果可能只会分散典型的“搜索者”的注意力。如果您的页面包含联系信息,地图,作者信息等,则可能不需要将这些页面包含在搜索结果中.

如何从WordPress搜索中排除页面

虽然没有简单的方法告诉WordPress从搜索结果中排除帖子类型,但是您需要自己做到这一点:

  1. 打开functions.php
  2. 将以下代码复制并粘贴到文件中:
  3. 函数SearchFilter($ query){
    如果($ query-> is_search){
    $ query-> set('post_type','page');
    }
    返回$ query;
    }
    
    add_filter('pre_get_posts','SearchFilter');
  4. 保存更改

进行更改并保存后,您可以自由访问您的网站并测试搜索引擎。如果一切正常,您将无法从搜索结果页面中找到任何信息,即您已成功将页面从WordPress搜索结果中排除.

如何从WordPress搜索中排除帖子

在简介中,我们告诉您WordPress会遍历文章和页面,并假设您不希望页面显示在结果中. 但是,如果您不想发帖怎么办 包括在那些结果中?如果是这样,您可以对代码做一个简单的更改,并排除帖子而不是页面:

同样,您将需要重复上面显示的这3个简单步骤,但是在第3行中进行简单的更改。与其将帖子类型设置为“”,则必须将其设置为“帖子”:

$ query-> set('post_type','posts');

别忘了保存所有内容,您已完成.

使用插件从搜索结果中排除页面/帖子

我们将向您展示一个插件,该插件可以为您完成相同的工作并使所有内容更加人性化,而不是使用代码.

搜索排除

价格:免费

搜索排除

我们用于该工作的插件是Search Exclude。使用插件再简单不过了:

  1. 导航 插件->添加新
  2. 搜索“搜索排除”
  3. 安装并激活插件
  4. 转到您的任何帖子和页面
  5. 在右侧面板上找到一个 “搜索排除” 复选框,您可以在其中确定是否要从搜索结果中排除帖子/页面.

排除多个帖子/页面后,您可以在插件设置中轻松找到排除项目的列表(设置->搜索排除)。在列表上,您可以再次使用复选框更改帖子/页面的状态.

如何仅从搜索结果中排除某些页面/帖子

只需将一页,两页或十页排除在搜索结果中即可,您可以通过实施代码轻松地做到这一点。在您将代码粘贴粘贴到functions.php文件之前,我们建议您准备不想在搜索结果中显示的页面。您将需要页面ID:

  1. 页面->所有页面
  2. 找到您要排除的页面,然后单击“编辑”
  3. 在地址栏中,找到“ post = 6”或类似的名称,其中数字代表页面ID
  4. 准备好页面的ID号之后,就可以使用以下代码了:

  5. 转到function.php文件并将其打开
  6. 复制并粘贴以下代码:
  7. 函数jp_search_filter($ query){
    如果($ query-> is_search && $ query-> is_main_query()){
    $ query-> set('post__not_in',array(1,2,3,4,5,6));
    }
    }
    
    add_action('pre_get_posts','jp_search_filter');
  8. 在第3行上,将括号中的数字更改为您从页面读取的ID号。在此示例中,我们排除了ID分别为1到6的6个页面.
  9. 保存更改即可完成

安装代码后,您可以根据需要随意对其进行编辑。如果将来有时需要包括其中一个页面,只需从代码中删除其ID号即可。向“排除的篮子”中添加更多页面也是如此。例如,如果您创建了一个不想显示在搜索结果中的新页面,请随时将其ID号添加到代码中.

在智能手机成为我们生活的重要组成部分之后,语音搜索得到了飞速发展。尽管从来都不是完美的,但在智能手机上进行搜索却使打电话给别人变得容易得多。是的,您仍然必须非常小心发音,因为您可能最终会打给您不想听的人,或者您发给文本的语音可能会出现与您刚刚说的话不符的话。而且,问Siri愚蠢的问题总是很有趣,对吧?

不管您是否喜欢它都无所谓,许多人正在手机上使用语音搜索功能。那为什么不允许访问者以相同的方式搜索您的网站?

也许您不知道可以使用WordPress来做到这一点,或者您不知道如何去做,但是现在您没有借口了.

除了代码,这里还有一个插件,可以扩展您的WordPress搜索.

声音搜索

价格:免费

声音搜索

在下载和安装插件之前,重要的一点是要知道它仅适用于Chrome和Safari。如果您对插件无法在任何其他浏览器上正常使用的情况感到满意,那么它将使您的访问者能够使用自己的声音搜索内容.

通过安装插件,您不会覆盖文本输入-如果用户想通过标准方式通过输入搜索框来使用搜索框,则应该知道该功能是完整的.

另外,该插件应该可以与您可能已安装的任何其他搜索插件一起使用,因此您可以自由地使用Relevanssi或Search Everything之类的插件进行尝试.

  1. 插件->添加新
  2. 搜索“语音搜索”
  3. 安装并激活插件

而已。激活插件后,您应该可以使用语音搜索而不会出现问题。您如何看待此功能?

包起来

除非您有一个简单的手册网站或类似的网站,否则您只需要在WordPress网站中嵌入功能搜索功能即可。如果这是一个定期更新的博客,那没有任何借口.

在本指南中,我们向您展示了如何修改默认的WordPress搜索功能。如果您不喜欢它,那么有几个插件可以在几分钟内替代标准搜索功能。无论您选择哪种方式,都可以通过改进搜索功能来使WordPress网站变得更好.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map