Google Sitemap Generator with PHP

G
Published in: PHP

This is the PHP code that runs the Blogger Sitemap Generator. The generated XML sitemaps are exposed to Google via the robots.txt file - see Add Google Sitemap to Blogger Blogs.

// Make sure that input contains http
 if(substr($blog,0,7) != "http://")
  $blog = "http://" . $blog;

// Make sure that blog URL ends with a slash
 if(substr($blog, -1) != "/")
  $blog = $blog . "/";

// Determine the count of blog posts
 $url = $blog . "atom.xml?redirect=false&start-index=1&max-results=1";

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);

 $xml = curl_exec($ch) ;
 curl_close($ch);

// Parse the XML ouput to determine the count
 $x = strpos($xml, "<openSearch:totalResults>") + strlen("<openSearch:totalResults>");
 $y = strpos($xml, "</openSearch:totalResults>");
 $c = substr($xml, $x, $y-$x);

// Generate the XML sitemap for robots.txt
  if ($c >=1) {
    echo "# Blogger Sitemap generated on " . date("Y.m.d") . "<br />";
    echo "User-agent: *<br/>Disallow: /search<br/>Allow: /<br />";
    for($x=1; $x<=$c; $x=$x+500) {
        echo "<br/>Sitemap: " . $blog . "atom.xml?redirect=false&start-index=" . $x . "&max-results=500";
     }
  }
Published in: PHP

Looking for something? Find here!

Meet the Author

Web Geek, Google Developer Expert
A
Amit Agarwal

Amit Agarwal is a Google Developer Expert in Google Workspace and Google Apps Script. He holds an engineering degree in Computer Science (I.I.T.) and is the first professional blogger in India. He is the developer of Mail Merge for Gmail and Document Studio. Read more on Lifehacker and YourStory

Get in touch