关于搜索关键字网址

时间:2011-05-27 12:38:43

标签: php

先谢谢.., 我想获取(知道)搜索关键字URL 例: 假设在google或bing等...我们正在搜索关键字。, 它显示结果,我的网址在第一位。, 如果用户点击了网址,它将会进入我的网站。所以基本上我想要搜索(谷歌搜索)URL

请帮助我们

4 个答案:

答案 0 :(得分:3)

你想要的是你可以使用$_SERVER['HTTP_REFERER']获得的推荐人网址并解析该术语。

<?php
    $url = $_SERVER['HTTP_REFERER'];
    /* break the url down into its components */
    $params = parse_url($url);

    /* make sure its actually filled with something useful */
    if (array_key_exists("host", $params))
    {
        /* parse the query params for easy keyword retrieval */
        parse_str($params["query"], $query);

        /* by search engine */
        switch ($params["host"])
        {
            case "www.google.com":
                echo "Google Search Term: " . $query["q"];
                break;
            case "www.bing.com":
                echo "Bing Search Term: " . $query["q"];
                break;
            case "search.yahoo.com":
                echo "Yahoo Search Term: " . $query["p"];
                break;
            /* more search engines here .... */
        }
    }
?>

应该注意的是,http_referer并非100%可靠,因为客户端(浏览器)实际上并不需要在请求中提供它。此外,来自安全URL(例如encrypted.google.com)的URL也不会提供它。

答案 1 :(得分:1)

您可以查看Referer标题。如果您有来自Google搜索查询的链接,它将如下所示:

http://www.google.es/search?client=safari&rls=en&q=query&ie=UTF-8&oe=UTF-8&redir_esc=&ei=ppvfTfy8F4axhAfX2unDCg

q参数会告诉您搜索词。

Bing有一个非常相似的URL格式......查询参数甚至命名相同!

http://www.bing.com/search?q=query&go=&form=QBLH&filt=all&qs=n&sk=&sc=7-5

答案 2 :(得分:1)

您必须检查$_SERVER['HTTP_REFERER'],但请注意它可能为空(例如代理剥离,Google SSL搜索等)。

检查$_SERVER['HTTP_REFERER']将显示用户来自搜索引擎结果页面的网址,您必须解析它以提取关键字,如何操作取决于搜索引擎。

答案 3 :(得分:1)

您可以使用HTTP_REFERER

<?php
echo $_SERVER['HTTP_REFERER'];
?>

但由于代理,SSL或其他问题,这可能是空的。