Support » Plugin: Google XML Sitemaps » [Plugin: Google XML Sitemaps] Early testers wanted

  • Plugin Contributor Arne Brachhold



    I’m currently working on a new version of the plugin which will have some major changes. To test this new features, I need your help. You can grab the new version here:

    Please note that it is in a very early stage and not suitable for production sites. Please also note that you have to delete your sitemap.xml and sitemap.xml.gz after installation since they are not used anymore (but break the new plugin).

    What has changed:
    Dynamic sitemap generation
    There are no static files anymore. This will solve 99% of the problems users are having. All content is generated dynamically.

    Sitemap Index File
    To reduce the amount of needed CPU and memory, the sitemap is split into sub-sitemaps. The main sitemap file is now only a index file which links to them. With that change you can have an unlimited number of URLs as long as they are spread over multiple months.

    WordPress MU support
    Without having static files, MU and multi-site support is no problem anymore.

    New developer API
    With the new API, developers can build plugins which can create sub-sitemaps to support an unlimited number of items.


    • Install the plugin normally
    • Delete your existing sitemap.xml and sitemap.xml.gz
    • Browse to if using rewrite permalinks, or index.php?xml_sitemap=index if not.

    At the moment, WordPress 3.0 and PHP 5.2 is the only tested configuration. Please let me know if you have problems with other setups.

Viewing 15 replies - 16 through 30 (of 199 total)
  • @arnee: I have created another sitemap for sub-blog account (WP3 Multisite) and google webmaster tools downloaded it successfuly (

    But there is still no luck with main site sitemap, although I don’t see any obvious problem.

    Is this going to support custom post types?

    Plugin Contributor Arne Brachhold


    @ip00: Thank you very much for testing. I’ve changed some small things and the content-type of the XML sitemap to application/xml, can you try on the non-working blog again? Please make sure to resubmit your sitemap in the Webmaster Tools manually.

    @jgadbois: I will focus on the core changes first, but this feature will come sooner or later.

    I added this to htaccess

    RewriteRule ^sitemap.xml$ /index.php?xml_sitemap=index [R=301,L]
    RewriteRule ^sitemap-posts-([0-9]+)-([0-9]+).xml$ /index.php?xml_sitemap=params=posts-$1-$2 [R=301,L]

    No arnee it didn’t work. I deleted older version of your plugin from server, uploaded new one and activated it, added new post to generate new sitemap and submitted it manually go WMT.
    Is there anything else I should do? Plugin kept settings from old version even after it was deleted and reinstalled.

    Plugin Contributor Arne Brachhold


    @mmilan81: This rules should be automatically added to the WordPress redirect functions on plugin activation. Did you activate the plugin or just replaced the old files with the new version? In this case you could try to click the Save button on the WordPress permalink options page. There are more rules for sub-sitemaps than the two you’ve added manually, so changing the .htaccess by hand is a lot of work…

    ip00: Hmmm thats strange, Google still says it is HTML? The headers are sent correctly, I really have no idea whats wrong. Yes, the settings are kept from each version, so you won’t lose them on an upgrade. There is a reset button at the end of the page, but I don’t think that will change the content-type issue. 🙁

    I deactivated and deleted old version, than activated new. I tried to deatcivate & activate plugin few times, also changed link structure to default and back and problem was same.

    Temporarily solution was those two lines. I’ll try ver 4.0a3 later.

    Regarding my problem it was not related to this plugin, but WP redirect settings.

    Thanks, arnee

    Got it going on a couple of sites. Google is reading most of the sub-sitemap links from the main sitemap page but I’m getting a blank page with others. When I view the source i get this

    <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href=""?><!-- generator="wordpress/2.9.2" -->
    <!-- sitemap-generator-url="" sitemap-generator-version="4.0alpha3" -->
    <!-- generated-on="August 23, 2010 7:01 pm" -->
    <urlset xmlns:xsi="" xsi:schemaLocation="" xmlns=""><br />
    <b>Fatal error</b>:  Allowed memory size of 67108864 bytes exhausted (tried to allocate 128 bytes) in <b>/</b> on line <b>307</b><br />

    Also in firefox I get this error.

    XML Parsing Error: no element found
    Line Number 4, Column 236:<urlset xmlns:xsi="" xsi:schemaLocation="" xmlns="">
    Plugin Contributor Arne Brachhold


    Please try the new version, hopefully this is fixed now 🙂

    Arnee: Custom post types didn’t work for me, but I found the problem. Line 826 of sitemap-ui.php (the a4 build) says:
    if(count($taxonomies)>0) {
    And it should be:
    if(count($custom_post_types)>0) {

    Also, is there a reason that you limit support for custom taxonomies to be only taxonomies applied to posts? It seems like GetCustomTaxonomies() in sitemap-core.php should be:

    function GetCustomTaxonomies() {
    	$taxonomies = get_taxonomies();
    	return array_diff($taxonomies,array("category","post_tag","nav_menu","link_category"));

    I appreciate the plugin. Thanks for all the hard work. Here are some more fixes I had to make. First, just to make the custom post type sitemap url work ( I had to edit sitemap-builder.php. In the switch statment in the Content() funtion I moved the posts and pages cases to the bottom and made that the default:

    case "posts":
    case "pages":
    	$this->BuildPosts($gsg, $type, $params);

    To make the index work ( I first added the processing for custom post types after the processing for posts and pages, but the code was basically all duplicate, so I remove the whole if (in_posts || in_pages) part of the Index() function in sitemap-builder.php and replaced it with this:

    $posttypes = $gsg->GetOption('in_customtypes');
    if ( !is_array($posttypes) ) {
    	$posttypes = array();
    	array_unshift($posttypes, 'page');
    	array_unshift($posttypes, 'post');
    //Add filter to remove password protected posts
    //Add filter to remove fields
    //Add filter to group
    foreach($posttypes as $posttype) {
    	$qp = $this->BuildPostQuery($gsg,$posttype);
    	$posts = @get_posts($qp);
    	if ($posts) {
    		foreach ($posts as $arcresult) {
    			$gsg->AddSitemap($posttype.'s',sprintf("%04d-%02d",$arcresult->year,$arcresult->month), $gsg->GetTimestampFromMySql($arcresult->last_mod));
    //Remove the filters again

    Everything seems to work as expected now.

    moved to 4.0a4 and got this error in the sitemap

    Fatal error: Cannot use object of type GoogleSitemapGenerator as array in /home/ on line 680

    Hi Arne – I’ve put this on a test site, and you can see the sitemaps here:

    They look to be working correctly. I have a couple of questions though:
    1 – Do you know if there is any issue with Google if my site has two sitemaps? If so, have I set something up wrong? Or should I manually add the /directory home page url in the ‘additional pages’ section of the main site’s sitemap settings?
    2 – I noticed that it no longer lists all links on one page, but links to sub-pages with the sitemap (eg. Is that correct or have I also set this up wrong?

    Thank you so much for this plugin. I hope we’re not causing you too many headaches!?!?

    Cheers, Rob

Viewing 15 replies - 16 through 30 (of 199 total)
  • The topic ‘[Plugin: Google XML Sitemaps] Early testers wanted’ is closed to new replies.