Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Brad 69 posts 97 karma points
    Nov 12, 2015 @ 19:43
    Brad
    0

    Faster way to publish a large number of nodes?

    Our home node was accidentally unpublished. This site contains 20,000+ nodes and is live. Unfortunately it is very slow to republish nodes. We right click a parent folder, click publish and check "Publish x and all its subpages". Is there no faster way than this? This is gonna take days to republish the whole site. Meanwhile it's sitting there with 404s/500 server errors due to the thousands of missing nodes.

  • Alex Skrypnyk 6175 posts 24186 karma points MVP 8x admin c-trib
    Nov 12, 2015 @ 20:53
    Alex Skrypnyk
    0

    Hi Brad,

    Umbraco has package BilkManager, you can try to use it.

    http://soetemansoftware.nl/bulkmanager

    Thanks, Alex

  • Nicholas Westby 2054 posts 7103 karma points c-trib
    Nov 12, 2015 @ 21:02
    Nicholas Westby
    0

    That seems to support bulk operations, but it doesn't mention anything about speed. I suspect it uses the same API's that Umbraco uses to publish content, and so I am guessing it would be just as slow.

  • Alex Skrypnyk 6175 posts 24186 karma points MVP 8x admin c-trib
    Nov 12, 2015 @ 21:08
    Alex Skrypnyk
    0

    Thanks, Nicholas, you are right. So BulkManager isn't useful, do you know something that can help ?

  • Nicholas Westby 2054 posts 7103 karma points c-trib
    Nov 12, 2015 @ 21:44
    Nicholas Westby
    0

    Part of the reason Umbraco is slow during publish operations is that it indexes content with Examine every other publish. Luckily, you can disable Examine. Unfortunately, key parts of the website may rely on Examine (e.g., anything involving media and anything involving search).

    Here is a document I created at my company that explains how to disable Examine:

    Disable Examine

    Since this will disable key parts of your website, I recommend you do this on a duplicate website that isn't accessible to the public. Keep in mind you may have to manually re-index in Examine on the main public site after this is done (in Umbraco 7, that's done in the "Developer" section).

  • Nicholas Westby 2054 posts 7103 karma points c-trib
    Nov 12, 2015 @ 21:49
    Nicholas Westby
    0

    By the way, disabling Examine temporarily on your public site may leave your website in an OK state. I make no guarantees, however.

    The safer (though perhaps slower) option is to create the secondary site for this purpose.

    By the way, do you keep backups of your site (specifically, the database)? The quick fix would be to restore your latest valid backup.

  • Brad 69 posts 97 karma points
    Nov 13, 2015 @ 15:43
    Brad
    0

    Unfortunately we use Examine on all the articles for faster indexing. We do keep backups but weren't sure what needed to be restored to get the nodes back. I'm guessing the database and the umbraco.config?

  • Nicholas Westby 2054 posts 7103 karma points c-trib
    Nov 14, 2015 @ 07:19
    Nicholas Westby
    0

    You only need the database. You can "Republish entire site" (not the same thing as "Republish" on content nodes) once you have the backup, which will restore your umbraco.config. That should only take a couple seconds.

    Then, you can rebuild your Examine indexes. That should only take a couple minutes.

    Even if you "use Examine on all the articles" you can still use the approach I previously mentioned (i.e., create a second site and do the republish there). The important thing that happens when you do a republish of a bunch of nodes is that is stores the XML representation of that node in the database. Once that's done, you could do the "Republish entire site" to store that XML from the database to the umbraco.config and rebuild Examine indexes.

    By the way, assuming each node takes 1 second to publish, 20,000 nodes should only take 6 hours or so (i.e., it ought to have completed by now).

    Also, I think there is a web.config setting or an umbracoSettings.config setting that allows you to also disable writing XML to the umbraco.config file on every publish. That's another thing that would speed up the bulk publish and which you could do on a secondary version of the site.

Please Sign in or register to post replies

Write your reply to:

Draft