【问题标题】:PHP-generated images aren't crawlable by Google?谷歌无法抓取 PHP 生成的图像?
【发布时间】:2015-08-20 17:53:46
【问题描述】:

这个问题类似于this one

我正在使用以下 PHP 和lazyload.js 在网页中生成图像。此 PHP 的目的是自动/动态地从给定目录加载图像并避免直接超链接。当我尝试使用各种站点地图生成器(在线和下载的)时,他们只能看到loader.gif 而看不到正在加载的真实图像。我知道我可以手动 create an image sitemap .xml 并上传到 Google Search Console,但我想避免这种情况,因为我有大量图片,其中许多可能会定期更改。

这样的 PHP 是不可抓取的吗?是否有另一种更优雅的解决方案可以像这样动态生成图像,并且可以很好地与爬虫配合使用?提前致谢。

<?php
            $dirname = "images/directoryname/";
            $images = scandir($dirname);
            $ignore = Array(".", "..");
            foreach($images as $curimg){
                if(!in_array($curimg, $ignore)) {
                    echo "<img class=\"img-responsive lazy\" src=\"images/loader.gif\" data-original='".$dirname.$curimg."' alt='Alt text goes here' /><br>";
                }
            }                 
            ?>

【问题讨论】:

  • 站点地图生成器将从页面源中获取所有图像,而不是像浏览器那样解析 javascript 以获取可能加载的图像列表。另一方面,谷歌通常可以解析 javascript,但我不确定你是否会得到像图像这样的东西。您可以在站点生成器爬取您的站点时关闭延迟加载几分钟,甚至在您看到 googlebot 时将其禁用。
  • @JonathanKuhn 这是有道理的。所以问题不在于 PHP,而是与 javascript 相关?
  • 是的。生成站点地图的站点爬虫只会拉取页面源并查找所有&lt;img 标签并拉取它们的src 值。不运行 javascript 以获取通过 javascript 延迟加载的所有内容。
  • 谢谢老兄! @JonathanKuhn
  • 如果这回答了您的问题,我将其发布为答案。请随意接受,以便关闭。

标签: php image seo web-crawler google-crawlers


【解决方案1】:

站点地图生成器将从页面源中获取所有图像,而不是像浏览器那样解析 javascript 以获取可能加载的图像列表。另一方面,谷歌通常可以解析 javascript,但我不确定你是否会得到像图像这样的东西。您可以在站点生成器爬取您的站点时关闭延迟加载几分钟,如果您看到 googlebot,甚至可以禁用它。

生成站点地图的站点爬虫只会拉取页面源并查找所有&lt;img 标签并拉取它们的src 值。不运行 javascript 来获取通过 javascript 延迟加载的所有内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-12
    相关资源
    最近更新 更多