• Hi, thank you for your work.

    We have about 35thousand posts of last 15 years. I see GSC is increasing the pages crawled but not indexed.. I think we have too many…

    Is it possible to insert in sitemap only last years? (maybe last 5, p.e.)

    I know we can exclude single post, but is a work too big one by one…

    thank you very much

    The page I need help with: [log in to see the link]

Viewing 8 replies - 1 through 8 (of 8 total)
  • Hi @mattiave an interesting question. No, this is currently not possible but it might be a nice feature to add to the wishlist 🙂

    In the meantime, you could try this filter out older sitemaps like this:

    function mattiave_remove_old_sitemaps( $data, $post_type = 'post' ) {
    	if ( 'post' !== $post_type ) {
    		return $data;
    	}
    
    	$remove = array( '2009', '2010', '2011', '2012', '2013', '2014', '2015', '2016', '2017', '2018', '2019' );
    
    	foreach ( $data as $d_key => $d_value ) {
    		foreach ( $remove as $year ) {
    			if ( strpos( $d_key, $year ) ) {
    				unset( $data[ $d_key ] );
    			}
    		}
    	}
    
    	return $data;
    }
    
    add_filter( 'xmlsf_index_archive_data', 'mattiave_remove_old_sitemaps', 11, 2 );

    Notes:

    • this code can be added as a PHP snippet using one of the Code Snippet plugins out there, or added to your theme’s functions.php if you are using a custom theme;
    • this code only does anything if you have selected Server: Plugin on Settings > XML Sitemap and set your Post sitemaps to Split by: Month or Split by: Year.
    Thread Starter Mattiave

    (@mattiave)

    thanks friend, I will try the code and, if it can be useful, I will tell you how it works…

    Do you think I’m thinking right by having so many old posts, or do you think I’m worried about something useless…?

    Thanks again, our best regards

    Old posts that have already been indexed should, in theory, not be taking up any (what they call) “crawl budget” unless their lastmod date (in the sitemaps) keeps changing. That said, it would be interesting to find out if, in your case, removing them from the sitemap index entirely, will get new posts being indexed faster.

    So in theory, I would think not. But in practice, who knows for sure really?

    Some would say: if the old posts are so old that they are no longer relevant, maybe better delete them entirely (not only remove from the sitemaps). While others would strongly advise against deleting any posts in fear of negative effects on your site’s (what they call) “authority.”

    I’m no expert, so I’d better say nothing 😉

    Thread Starter Mattiave

    (@mattiave)

    you got the point: it’s precisely because there are conflicting opinions on the matter that we can’t decide…

    Thanks again, a hug

    Deleting the post themselves might be dangerous (hard to reverse the effect even by restoring a backup, the damage might already have been done) but removing the sitemaps while leaving the posts themselves in place, should not have a negative impact.

    The sitemap is just a tool for search engines to make finding posts easier, helping fast indexation. It is not a factor in ranking. So removing the older archive sitemaps is not dangerous for your ranking and can easily be reverted by removing the code snippet.

    Does that help your decision? 🙂

    Thread Starter Mattiave

    (@mattiave)

    Yes, it does… it was our initial theory, seeing that the number of non-indexed pages is increasing, it seems to me that it is a good compromise 🙂

    Thread Starter Mattiave

    (@mattiave)

    talking about the practical phase:
    I placed the code in function.php
    I cleared the cache
    I put the split by year
    Do you think I should already see the results? because on sitemap.xml I still see the old years…

    Hi, yes the result should be visible instantly. Did you place it in the already existing theme file functions.php ?

    Otherwise, one of these plugins https://wordpress.org/plugins/search/code+snippets/ … I tested the snippet with WPCode but any of the others should work too.

Viewing 8 replies - 1 through 8 (of 8 total)
  • You must be logged in to reply to this topic.