条件语句在标题中添加Canonical标签

时间:2015-01-07 13:43:06

标签: php html header canonical-link

您好我需要找到一种方法来添加一个条件语句,该条件语句将根据页面URL插入规范标记

规范标签本身很好,我认为它就像你用css做的那样。我知道PHP可以获取页面URL的详细信息。

<!--IF HEADER URL = "PAGE URL HERE" -->
    <link rel="canonical" href="LINK HERE" />
<!--IF HEADER URL-->

这引出了我的第二个问题。 我想要添加规范标签的页面也不总是具有相同的链接

  • embassy_details.php?大使馆=阿富汗
  • embassy_details.php?大使馆=非洲
  • embassy_details.php?大使馆=美

我在想的是将初始条件语句放在它周围,然后把它放在链接包含(embassy_details.php)的所有页面上,因为这就是我需要的东西

如果你需要更清晰,请给我留言。

inb4由于之前的开发人员方法,为此页面创建新的头文件是不可能的。

<小时/> 编辑 我几乎已经用JQuery实现了上述目标,我很快就会出现问题。我可以提醒标签,但我认为我的追加声明有问题。

$(document).ready(function(){
        var l = window.location.href;

        if (l.indexOf("embassy_details.php") > -1) {
            $('head').append('<link rel="canonical" href="http://LINK/embassies.php" />');
        };
    });

2 个答案:

答案 0 :(得分:0)

你的意思是

if (isset($_GET['embassy'])) {
        $embassy = $_GET['embassy'];
        echo '<link rel="canonical" href="embassy_details.php?embassy='.$embassy.'" />';
    } else {
        $embassy = '';
        echo '<link rel="canonical" href="embassy_details.php" />';
    }

不适合你吗?

答案 1 :(得分:0)

嗨,我今天早上一直在努力,因为睡得很好,所以心情很好。对我有用的解决方案是在body.php中进行。我选择在这里添加我的陈述,因为我在标题中遇到了所有问题。我的代码所做的是检查链接是否包含embassy_details.php,然后将其添加到标题的最开头。

<?php

$link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

if (strpos($link,'embassy_details.php') !== false) {
    echo str_replace('</head>', '', '<link rel="canonical" href="http://www.LINK.co.uk/embassies.php")');
}

?>

这会将其正确添加到所有Embassy详细信息年龄的标题中