Jump to content

Archived

This topic is now archived and is closed to further replies.

achim

CSS Compile Time and Varnish Cache on WP Engine

Recommended Posts

achim

Dear everybody.

 

We are using pagelines in an WPEngine environment that is cached by a varnish.

Whenever an editor makes a change eg on the home page the less will be re-compiled, which takes up to a few seconds.

What we witness then nearly every time is that the page references css that point to a 404, which makes the entire page unusable of course.

This lasts until the cache-age expires which is in our case 10 looong minutes :)

If we re-publish the page the problem is gone (most times or it re-happens).

 

Just trying to understand, maybe this is what happens:

I didn't find a pattern of how compiles-css files are stored or deleted. e.g. yesterday we published a couple of changes and there is no css file in the uploads directory from yesterday but many from last month etc.

I think the process might be like so:

1. I publish a page

2. the old css is deleted

3. in the meantime the page is broken and will be cached with 404 css references

4. then new css is re-compiled and saved to the uploads dir

5. the reference to the new css is saved to the database

6. after 10 minutes (cache-age expired) the new css is available

 

If this is the case pagelines doesn't support varnish - am I right?

Pls. let us know how to proceed. We have a large print campaing leading traffic to our site and it's broken as soon as we edit a thing.

 

Thanks in advance 

Best regards

Achim Koellner

Share this post


Link to post
Share on other sites
Danny

Hi Achim,

Have you gone to DMS Toolbar > Site Settings > Reset and clicked Flush Caches ?


Please search our forums, before posting!

Share this post


Link to post
Share on other sites
achim

I know what flush does but that doesn't help with the problem that for a short period (seconds) the page is pointing to css-files that are already deleted. I cannot ask all editor to do a flush each time they publish a page.

Is there an option to not delete old css-files? That would be a fix as well, I'd prefer cleaning up expired css-builds myself.

Share this post


Link to post
Share on other sites
achim

Or can anybody tell where the compile process happens? less.compiler is involved of course but is ther kind of a task runner that manages the steps described above?

Share this post


Link to post
Share on other sites
Simon

Maybe you have a plugin that is messing about with the save actions?

WPENGINE clears its varnish cache whenever any of these actions are triggered:

'clean_post_cache','trashed_post', 'deleted_post',' 'edit_post', 'publish_page', 'publish_post', 'save_post'

I have just created a site on WPE, uploaded latest DMS2, created a new post, clicked publish and in another browser refreshed the site, post appeared, css is still intact.

The CSS should only get reset and deleted when you click publish in the DMS editor, and i checked that and that works as well using the production not staging area of WPE

 

Actually, I sit corrected, I tweaked the code, and now it woks again. Update is in the works.

Share this post


Link to post
Share on other sites
achim

Hi _Simon_,

thank you, and yes, I guess if I publish a page with the dms publish button, the "publish_page" action is triggered, which seems to force WPEngine to purge the varnish cache, which is great.

But after it seems to still take some time to create the new css and store the reference to the new css url, maybe just 2 seconds but enough time to let another user have a cache-MISS. That MISSed page - eg. the homepage - will be broken until the cache expires, depending on the cache-age settings. In this case 10 minutes. So if we publish 10 page edits (no matter what page) a day, we run into danger of having a broken homepage for 10x10 minutes a day.

The only option is re-purging the WPEngine cache each time we publish something. 

Best regards

Achim

Share this post


Link to post
Share on other sites
Simon

Did you try the new version?

Share this post


Link to post
Share on other sites
achim

Hi _Simon_,

what version? Or...where can I find it?

Best

Achim

Share this post


Link to post
Share on other sites
Simon

If you have the updater, it should show up under WP updates, alternatively you can download directly from your my-account page 

Share this post


Link to post
Share on other sites

  • Similar Content

    • glyph.marketing
      By glyph.marketing+
      Hello, I am having a problem similar to that experienced by Michael Kummer here. We have pages that show this automatic scrolling issue (examples here and here) and it is sufficiently annoying that we have seen customers bounce while trying to convert. Strangely, it only happens at specific resolutions, so it can be difficult to reproduce. In general we can only consistently reproduce it on a 4k resolution with a browser width between 1517 and 1536px. 
      Thanks to Michael Kummer's help we were able to set the overflow-anchor property to none in the entire body, which fixed the issue as far as we can tell, but also obviously disabled scroll anchoring for the whole site. I tried applying it to the specific element that looked like it was being reloaded, which was the PL Meganav extension, but that was unsuccessful. 
      Can anyone help us figure out which element or ID we can apply this property to, so that we can fix the scrolling issue but not disable scroll anchoring for the entire site?
      Thank you - 
      Glyph Language Services
    • chamois_blanc
      By chamois_blanc+
      Hello,
      Shouldn't the image PL5 component be using the srcset/picture css directives to pick the correct size for an image? or it does already and I don't know how to use it? Thank you for any advice or enlightenment.
    • Dan Haddock
      By Dan Haddock
      Plugins Active and installed: 
      Akismet Anti-Spam
      Coming Soon Page & Maintenance Mode by SeedProd
      Contact Form 7
      Cookie Law Info
      DMS Professional Tools  
      Enhanced Media Library  
      Flamingo
      Google Analytics for WordPress by MonsterInsights
      Google XML Sitemap
      Jetpack by WordPress.com
      Legull 
      Loginizer   
      MailChimp for WordPress
      PageLines Updater    
      Schema App Structured Data 
      Sucuri Security - Auditing, Malware Scanner and Hardening
      Uber reCaptcha    
      Yoast SEO
      Wordpress Version: 4.8.1
      Pagelines Version: 2.2.4
       
      Good Evening/Afternoon or Morning, 
      I am running into a problem with CSS styling not applying inside of most browsers (Safari, Firefox) when I am logged in to wordpress, and all browsers that I have tested when I am logged off and the site has been made public (Chrome, Firefox and Safari).
      As a result, I have managed to identify the probable cause. It looks as though these browsers are refusing to render my sites compiled CSS file due to it being a HTTP URL rather than HTTPS.
      I have attempted to change this URL to HTTPS in my browser, however it brings back an ERROR: File not found page - https://www.shortfilmblog.com/wp-content/uploads/pagelines/compiled-css-core-1505847507.css
      What would you suggest in this regard? Would this be resolvable from your end?
      Happy to provide any further details required.
    • Borries
      By Borries+
      I know this is not an easy problem. Maybe there is a easy solution.
      I have tryed to uses the existing solution, that I have found in the forum
      I changed the colours of my nav (simple nav) and the hover effect (a. hover).
      I really tryed to highlight the active/used link in the nav but I cant figure it out.
      I want it to be black when active.
      Any help would be appreciated. Thanks.
      http://www.marcborries.de  nav link: "Sinn & Selbst" 
    • Michael Kummer
      By Michael Kummer+
      Hi guys,
      every since Chrome introduce scroll anchoring (see chrome://flags) blog posts on my page start scroll automatically as soon as the user scrolls down a bit. It is super annoying and I don't know exactly what triggers the incompatibility with Chrome's latest feature that is supposed to improve usability.
      Since I don't know what causes it (Pagelines, or a Plugin), I would like to disable the feature using a CSS override that Google describes as follow:
      "Scroll anchoring aims to be the default mode of behavior when launched, so that users benefit from it even on legacy content. A CSS property overflow-anchor can disable scroll anchoring in part or all of a webpage (opt out), or exclude portions of the DOM from the anchor node selection algorithm. This property supports the following values when applied to an element E:
      overflow-anchor: auto (the default value) declares that the DOM subtree rooted at E is eligible to participate in the anchor node selection algorithm for any scrolling box created by E or an ancestor of E. overflow-anchor: none declares that the DOM subtree rooted at E is not eligible to participate in the anchor node selection algorithm for any scrolling box created by E or an ancestor of E." Do you guys happen to know how to use that property with the ROOT element so it applies to the whole page?
      Thanks
      Michael 
×