How to check if SXG is working? not reported in Lighthouse

Dear All,

I am new to CF and I am still learning some basic features, I hope that somebody could help me with the following issue.

I have recently activated SXG in my Cloudflare settings to improve my LCP. However, after some tests I could not see any LCP time reduction. I have then started questioning whether SGX is indeed active on my website and apparently I could not see it reported in Lighthouse. Please see below:

It is my understanding that if SXG is working, I should read it in the column Type and/or Size. Instead in my case I do not see it.

Could it be related to the fact that I should wait few hours before I see it reflected therefore benefiting of LCP improvements?

Thanks in advance,

Fabio.

So you can see how to test here:

And you may want also to check the caveats here that explain specific request & response headers that will prevent SXGs from being returned:

1 Like

Hi Simon,

Thanks for replying and providing the reference for testing SXG implementation.

I went through the test and I got the below answer:

The content-type is text/html therefore the SGX is clearly not working. At the same time, I do not understand the reason because when I read the cache-control value, it is equivalent to max-age=15.

I compare the cache-control value with the list of values reported in the article which prevent the signed exchange to be created. However, the article does not list max-age=15 as a blocking point.

Do you have any idea of what could be the reason and how I could solve it?

Thanks in advance for your help and suggestions.

Fabio

Hi Simon,

Allow me to add additional information.

Checking deeper and contacting my hosting, I have discovered the following.

Apparently the cache-control value equivalent to max-age=15 is added by Cloudflare because if Cloudflare is bypassed and my website is visited directly from my hosting server the value of the cache-control header changes to ‘public’.

How is it possible that Cloudflare changes the cache-control to something not compatible with the SXG feature?

My hosting provider is suggesting to ask Cloudflare for changing the cache-control value. Any idea how this could be done?

Fabio

Hi Fabio,

Checking again and I do see it operating here:

➜  ~ curl -svo /dev/null https://www.muranoglassitaly.com -H "Accept: application/signed-exchange;v=b3"
...
> GET / HTTP/2
> Host: www.muranoglassitaly.com
> user-agent: curl/7.88.1
> accept: application/signed-exchange;v=b3
>
< HTTP/2 200
< date: Mon, 24 Jul 2023 08:59:46 GMT
< content-type: application/signed-exchange;v=b3
...

Looks like it might have just been a bit slower than normal to deploy the SXG certificate for your domain.

Hi Simon,

Thanks for checking!

Indeed looking at your image I can see that content-type is signed-exchange. However, while it was working yesterday, on my side today it does not work (although I have not made any change to the website).

Are you aware of any reason that could trigger an intermittent behavior?

Fabio

From what we can see internally, the origin is (intermittently) returning cache-control: max-age=0 - you might need to try analysing what on your origin is returning that.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.