PHP死(标题):弄乱我的SEO?

时间:2012-06-12 10:27:27

标签: php seo

我在index.php文件的开头有这段代码:

        if ( !isset($_GET['cat']) )
        die(header("Location: ?cat=top"));

基本上,如果没有设置类别,它会自动重定向到“顶部”类别。

我现在已经注意到Google添加了index.php,但它只显示搜索结果中的URL,而不是显示我定义的元标记。

所有其他页面索引完全正常,而不是index.php文件。对此有何解决方案?

提前致谢!

3 个答案:

答案 0 :(得分:4)

使用header:Location时,PHP默认使用302重定向。 由于谷歌没有将重定向位置与初始位置交换,因此这与SEO混淆。尝试使用

if ( !isset($_GET['cat']) ) {
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: ?cat=top");
    die();
}

这应该告诉谷歌索引具有元信息的重定向位置。

答案 1 :(得分:2)

功能die能够打印出文本/字符串数据,我从未见过在header内调用die

正确的方法应该是:

if ( !isset($_GET['cat']) ) {
    header("Location: ?cat=top");
    die();
}

您可以拨打exit;而不是die();

答案 2 :(得分:-1)

我认为不需要调用die()函数。你可以像

一样打电话
if ( !isset($_GET['cat']) )
   header("Location: ?cat=top");