【问题标题】:Using PHP for canonical urls将 PHP 用于规范 url
【发布时间】:2022-11-03 07:18:57
【问题描述】:

我在 .htaccess 文件中设置以下规则以将 example.com/index.php 重定向到 example.com

RewriteCond %{THE_REQUEST} ^.*/index\.php 
RewriteRule ^(.*)index.php$ /$1 [R=301,L] 

然后我在所有页面的 header.php 中设置我的规范如下:

<link rel="canonical" href="https://www.example.com<?php echo $_SERVER['PHP_SELF']; ?>" />

但是我注意到规范的 url 设置为 index.php 而不是根。

【问题讨论】:

  • 不是修复,但请注意<link> 标签不使用也不需要结束斜线,并且在任何 HTML 规范中都没有。

标签: php seo canonical-link


【解决方案1】:

Index.php 不会伤害您的 MainPage SEO,因为 Google 会将其理解为您的主页。

关于canonical rel,你应该小心你的代码,如果你没有配置404页面,php_self可能会添加不同的canonical rel页面。

例如,如果您没有 about_us.php,但是当我进入您的网站时没有重定向或给出 404 错误,那么将会有一个 about_us.php 规范 URL。有时谷歌索引那种页面。

我总是重定向 404 页面并使用代码检查规范 URL。

【讨论】:

  • 我添加了 404。 SemRush 说我的根域不正确。我怀疑是放置规范 php 代码的方式导致了这个错误。我只是不确定如何解决它。