自定义帖子类型和删除弹丸-我们应该这样做吗?

时间:2015-08-18 作者:amandathewebdev

我在尝试删除我的自定义帖子类型slug时遇到了一些问题,我在这里读到了来自有同样问题的人的其他问题。我们不想让这个鼻涕虫出现在我们的URL中!但这一切的解决方案似乎都涉及某种黑客行为,一种重写规则来修复不可避免的404。一些开发人员说,去吧,其他人说,这不是最佳实践,它违背了自定义帖子类型的预期目的。

我自己需要一些关于自定义帖子类型应该是什么或做什么超越了codex提供的明确。。。我显然不是唯一一个感到困惑的人。

出于SEO原因,我们不想在URL结构中添加新级别。例如,如果我希望我的CPT URL为:/pennsylvania/services,但添加了一个“state”的CPT,以便使所有州都具有相同的CPT,并具有相同的模板(single state.php),使URL为:/state/pennsylvania/services,谷歌会认为我有一个“state”的父级,而我没有(或者从技术上说我有?)。我还需要这个CPT,以便在每次我的客户想要添加帖子时,都能显示我创建的所有自定义字段,这些字段仅针对特定的帖子类型显示。

无论如何,我的问题是:Should I or should I not remove the slug from CPTs? And if not, what is a better way to achieve my goal explained above? 我觉得自己和其他人都会从对这一点的更好理解中受益。我个人不知道如何在没有CPT的情况下实现我所需要的——有人能提供解决方案并解释原因吗?

1 个回复
最合适的回答,由SO网友:bosco 整理而成

WordPress作为一种内容管理系统,将数据片段组织成分类。它调用它可能操纵或显示的任何单个数据段,以及对该数据段进行分类或组织的任何方式a "taxonomy".

但并非每一篇帖子都是相同的,而且常常有一组帖子具有一组不同的属性,这些属性的存储、交互或呈现方式与其他群组不同。WordPress适当地调用这些组“post-types“。通过检查一些默认的帖子类型,我们可以看到它们的独特之处:

  • Posts of the page post-type tend to be static, timeless presentations of content. 页面的实际内容或显示是向最终用户传达的重要内容,因此页面的作者和创建日期通常在很大程度上被忽略。访问此类重要内容的路径通常是经过精心规划的,因此页面可以按层次进行组织。由于它们通常直接链接到,因此没有太多理由用分类法对它们进行分类,尤其是因为两个页面的内容很少有任何相似之处(层次结构除外)。为了简洁地暗示其内容,并出于组织目的,标题是页面的一个非常重要的属性
  • Posts of the post post-type emphasize chronology, authorship, volume, and classification. 预计随着时间的推移,将创建如此大量的邮件,因此不可能计划到每个单独的邮件的详细路线,因此“档案”用于按照特定标准组织邮件(默认情况下,逆时间顺序)。将所有这些项目以不同的布局显示为页面可能会很困难(最终用户可能会感到困惑),因此帖子通常以一致的方式显示。为了更容易找到与最终用户相关的帖子,使用分类法(如“类别”和“标签”)根据帖子所包含的内容对帖子进行分类。与页面一样,帖子的标题简洁地暗示了它的内容,当一篇帖子从外部站点链接到它时,这是非常重要的;在CMS本身中,帖子的标题可以说不如页面重要,因为帖子的内容可以通过其他方式定位
  • Posts of the nav_menu_item post-type are little more than links with titles. 它们的作者、年代和分类都无关紧要。事实上,它们甚至没有直接显示给最终用户;只有当WordPress导航菜单明确引用它们以提供在内容和URL之间导航的方法时,它们才对访问者真正有用

    根据我对您所讨论的网站的了解,您实际上试图显示和组织的数据片段是“服务”——因此,您应该create a service custom post-type. 听起来你似乎对组织和呈现“状态”不感兴趣,所以创建一个state 自定义帖子类型,除非您有关于每个州的特殊信息要传达。相反,您希望组织您的services按州划分。如上所述,在WordPress中组织帖子的结构是“分类法”——因此create a state or location custom taxonomy 并将其与service 自定义帖子类型。这将允许最终用户按位置对您的服务进行排序。

    根据注册自定义分类法和帖子类型以及永久链接设置时选择的选项,最终可能会得到各种URL结构——在许多情况下,其中几个URL会同时指向相同的端点。我没有看到任何证据表明这样的URL对SEO有害。。。我相当肯定的是,谷歌爬虫并没有严格地将URL块解释为层次结构,因为大量应用程序将其用于参数或动态端点——我认为爬虫比你认为的更聪明;)。考虑到WordPress拥有24%的网络权力,我不会太担心它会误解WordPress的默认行为。你可以随时提交a sitemap 如果您想要更细粒度的控制,请确保。

    在一些边缘情况下,从一个漂亮的永久链接中删除自定义帖子类型的slug有一定的实用意义,但通常只是为了主观虚荣心。

结束

相关推荐

Numeric slug on child post

我知道有两种不同类型的自定义帖子类型:-页面帖子。哪里page 支持子页,以及post 没有。然而,当我试图在slug中创建一个只有数字的子页面时,wordpress将-2放在后面。示例:/posttype/父/10-2/而不是我想要的:/posttype/父/10/为什么会这样,我该如何解决?我已经搜索了好几个小时,但我似乎找不到解决方案,除了Wordpress中可能存在的一个限制,它与date permalink系统存在冲突。我没有使用这个系统,但这是真的吗?编辑,更多信息:没有任何帖子会与我的永久链