So, the xmlsitemap_xmlsitemap_index_links() function performs an entity query, but the problem is it never adds a condition against the xmlsitemap table to only look at items that have not yet been indexed. This is a huge regression from Drupal 7 and a major loss of functionality. This would be a big reason why people don't have content showing up in the sitemap.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

Dave Reid created an issue. See original summary.

Dave Reid’s picture

Dave Reid’s picture

Status: Active » Needs review
FileSize
8.44 KB
Dave Reid’s picture

* xmlsitemap_link_bundle_access is no longer a valid query tag. The hook xmlsitemap_query_xmlsitemap_link_bundle_access_alter() has been removed. The entity_type_id, bundle, and entity_info query metadata is also no longer available. Entity queries automatically have the 'entity_type' metadata that can be used instead.
* xmlsitemap_index_links_alter is a new query tag available when performing an un-indexed entity query.
* xmlsitemap_xmlsitemap_index_links() has been updated to only query against items that are not also found in the xmlsitemap table.
* xmlsitemap_xmlsitemap_index_links() has been updated to run the 'process callback' from hook_xmlsitemap_link_info() instead of assuming it will be the default entity one

  • Dave Reid committed 63dab7c on 8.x-1.x
    Issue #3150732 by Dave Reid: Fixed xmlsitemap_xmlsitemap_index_links()...
Dave Reid’s picture

Status: Needs review » Fixed

Committed #4 to 8.x-1.x.

  • Dave Reid committed 63dab7c on 2.x
    Issue #3150732 by Dave Reid: Fixed xmlsitemap_xmlsitemap_index_links()...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.