PHP生成的图片无法被Google抓取?

时间:2015-08-20 17:53:46

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

此问题与this one类似。

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

这样的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>";
                }
            }                 
            ?>

1 个答案:

答案 0 :(得分:0)

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

生成站点地图的网站抓取工具只会提取网页来源并查找所有<img代码并提取其src值。不运行javascript来获取通过javascript延迟加载的所有内容。