Setting custom canonical urls

时间:2019-03-14 作者:H.California

我有一个页面,可以请求和显示数据库中的信息。一切都很好,但我在为这个页面及其URL(包含参数)设置自定义规范URL时遇到了一些问题。

示例:

https://example.com/primary-page

https://example.com/primary-page?requested_id=1

https://example.com/primary-page?requested_id=2

https://example.com/primary-page?requested_id=3 等等

“requested\\u id=id”的这些链接自动继承与“主页”相同的规范链接。我想修改它,以便这些链接有自己的完整URL作为规范链接。

几天来,我一直在寻找解决方案,但运气不好。我希望你们中的一位能够帮助我,这一点我毫不怀疑。

所以,提前非常感谢您!

1 个回复
SO网友:tmdesigned

这取决于如何将规范URL写入页面。在主题的标题中,您可能会发现如下内容:

<link rel="canonical" href="<?php echo get_permalink(); ?>">

如果您能够编辑您的主题(或子主题,如果使用分布式主题),您可以将任何您想要的内容放在那里。例如,您可以将:

<link rel="canonical" href="<?php echo $_SERVER[\'REQUEST_URI\']; ?>">

$_服务器[\'REQUEST\\u URI\']包含所有查询参数。

(或者,如果您使用的是像Yoast这样的插件,它将为您的页面添加规范链接。您应该能够过滤此输出。使用Yoast,它是“wpseo\\U规范”过滤器。)

但请记住,在许多情况下,不包括查询参数是有意义的,例如,两个页面仅在一个?sortby=参数do实际上共享重复的内容,规范标记的全部目的是帮助识别重复的内容。

将您的参数添加为查询参数并为其提供重写规则可能更有意义,以便它成为更标准的URL的一部分,并在默认情况下包括在内。而不是primary-page?requested_id=1 可能是primary-page/1. 它看起来也好一点。

如果你想这样做,有几个不同的答案this related question.

相关推荐

Wp/wp-admin/admin-ajax.php生成404

上周,我们的网站运行良好。今天,我无法在菜单中添加新页面。单击“添加到菜单”只会生成一个永不消失的旋转图标。如果我看一下Chrome控制台,我会看到:发布https://www.example.com/wp-admin/admin-ajax.php?_fs_blog_admin=true 404(未找到)没有限制/wp-admin 或/wp-admin/admin-ajax.php 在里面/.htaccess 或/wp-admin/.htaccess.我在google上搜索过这个问题,但大多数问题都是;