此問題與this one類似。PHP生成的圖像不可被Google抓取?
我使用以下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>";
}
}
?>
sitemap生成器將從您的頁面源獲取所有圖像,而不是像瀏覽器那樣解析JavaScript以獲取可能被加載的圖像列表。另一方面,谷歌通常可以解析JavaScript,但不確定自己是否可以獲取像圖像這樣的東西。如果您看到Googlebot,則可以在網站生成器蜘蛛網站甚至將其禁用時關閉延遲加載幾分鐘。 –
@JonathanKuhn有道理。所以問題不是PHP,它是JavaScript相關的? – chickenorbeef
是的。生成站點地圖的網站抓取工具將只抓取頁面的源代碼並查找所有的