• Resolved albarosa

    (@albarosa)


    Hello LiteSpeed Support Team,

    I’m reaching out about an issue where roughly half of the clicks from my Facebook ads are resulting in 403 errors in my logs. This issue occurs consistently with specific fbclid parameters; for example, a single fbclid ID linked to a Facebook ad may attempt to load up to 80 pages, but about 40 of those requests result in 403 errors. As a result, every user clicking on my ads encounters incomplete loading of the site, which prevents a proper view of the website and affects the campaign’s effectiveness. These errors only occur when users click on paid Facebook advertisements to access my site. Organic traffic from Facebook or other sources doesn’t seem to have this problem, so it appears isolated to ad-driven clicks.

    Here are some examples of the error logs for reference:

    1.) fbclid Parameter:
    URLs containing the fbclid parameter from Facebook ad links frequently result in 403 errors.

    2.) LiteSpeed Cache File URLs:
    Some URLs requested by Facebook’s crawler (facebookexternalhit/1.1) refer to cached files generated by LiteSpeed, such as CSS or JavaScript files with parameters like ?ver=.

    3.) Social Media Icons and Theme Assets:
    Requests for theme assets and icons (e.g., social media icons) also trigger 403 errors when accessed by Facebook’s crawler.

    I noticed the fbclid parameter is listed in the “Drop Query String” settings within LiteSpeed Cache, and I’m considering removing it to see if it resolves the issue. However, I’m unsure if this is the best approach or if the problem might stem from a different setting. Since my ad campaign just ended, I’d like to resolve this before running another campaign to ensure users who click my ads can reach the site successfully.

    Could you please advise on whether removing fbclid from the query string list might help, or if there are other settings I should review?

    Thank you very much for your assistance and guidance on this issue.

    Best regards

    • This topic was modified 2 weeks, 6 days ago by albarosa.
    • This topic was modified 2 weeks, 6 days ago by albarosa.
Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Support qtwrk

    (@qtwrk)

    have you checked server log ? it should always log the reason for 403 error

    we should find the reason of it and then see what to do with it

    Thread Starter albarosa

    (@albarosa)

    In the error log file i can only see data like this:

    2024-11-08
    06:57:04
    429
    31.13.127.16
    GET /litespeed/css/3a546xxxxxxxxxxxxxxxxxx90924.css?ver=89xxx HTTP/2
    facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
    Ireland
    0
    31
    2024-11-08
    06:57:03
    429
    31.13.127.16
    GET /litespeed/js/4abb055bxxxxxxxxxxxxxxxxx23c81cb.js?ver=d89xx HTTP/2
    facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
    Ireland
    0
    2
    2024-11-08
    06:57:03
    429
    31.13.127.7
    GET /litespeed/js/f734f126xxxxxxxxxxxxxxxxxxxxxxc7d982.js?ver=8xxx2 HTTP/2
    facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
    Ireland
    0
    16

    and so on… or like this –>

    2024-11-08
    06:57:03
    429
    31.13.127.9
    GET /themes/themename/icons/social-icons/mastodonicon.svg HTTP/2
    facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
    Ireland
    0
    4

    and so on… or like this –>

    2024-11-08
    06:57:04
    429
    31.13.127.35
    GET /media/1850/11/image3-32x32.png HTTP/2
    facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
    Ireland
    0
    1

    These were all 429 errors, and now I see there are actually many more 429 errors. However, here is an example of a 403 error:

    2024-11-08
    06:57:01
    403
    31.13.127.7
    GET /url(data:text/css;base64,Kjpub3QoaW5wdXQpOm5vdCh0ZXh0YXJlYSk6OnNlbGVjdGlvbiB7CiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICAgICAgfQoKICAgICAgICAqOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKTo6LW1vei1zZWxlY3Rpb24gewogICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OwogICAgICAgICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OwogICAgICAgIH HTTP/2
    facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
    Ireland
    0
    8

    By the way, I’ve been experiencing errors like the 403 one above frequently since I installed LiteSpeed Cache. I even looked into it on Stack Overflow because I initially suspected it might be caused by malicious code, and the response I received was:

    “They don’t look malicious from looking at the decoded base64 data. There might be a broken CSS rule somewhere that is causing the browser to misinterpret the rule and try to issue a GET request.”

    Afterward, I disconnected from your QUIC.cloud service, and these error requests stopped.

    Except now, the error above has returned. I assume something in the settings isn’t configured correctly, but I’m not sure what, as I’m not an expert. And I’m not sure if it’s related to the faulty Facebook ad requests.

    Thank you.

    Plugin Support qtwrk

    (@qtwrk)

    429 means too many requests, that means server think this ip sends too many requests in short time so throttle or deny it

    the last one GET /url(data:text/css;base64,Kjpub3QoaW5wdXQ URI like this is typically blocked by modsecurity firewall

    Thread Starter albarosa

    (@albarosa)

    Thank you for your response. However, there’s something that doesn’t quite add up for me, which is the following:

    Yesterday’s request from the promoted Facebook ad in Ireland involved a total of 68 requests, with the last 29 requests failing due to error messages.

    Today, there was a request from Austria, which also consisted of 68 total requests and also came from Facebook, but this one wasn’t from the ad, as that ad campaign had already ended yesterday. This request came directly from a link in my Facebook post, located on my FB fan page, meaning it was generated organically (not from the promoted ad copy). This request only contains a single 403 error, but no 429 errors at all!

    Here is the initial Facebook ad request that triggered another 67 requests, totaling 68 requests in all:

    2024-11-08 06:57:01 31.13.127.36 GET /?fbclid=IwZXh0bgNhZxxxxxxx_-N2zR35v3zR_eRoG-E7dxQ HTTP/2 facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php) Ireland 48725 1168

    These 68 requests consisted of:

    15 requests in 1 second
    42 requests in 1 second
    11 requests in 1 second

    And here is the initial Facebook request that was organically triggered directly from my Facebook fan page, also totaling 68 requests in all:

    2024-11-08 09:28:33 xxx.587.xxx.121 GET /?fbclid=IwY2xjawGxxxxxxx_7evSm9am_A HTTP/2 Mozilla/5.0 (Linux; Android 13; SM-A127F Build/TP1A.220624.014; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/130.0.6723.83 Mobile Safari/537.36 [FB_IAB/FB4A;FBAV/499.0.0.78.79;IABMV/1;] Austria 49xxxxxxx

    These 68 requests consist of:

    11 requests in 1 second
    5 requests in 1 second
    34 requests in 1 second
    7 requests in 1 second
    5 requests in 1 second
    3 requests in 1 second
    2 requests in 1 second
    1 request in 1 second

    One might assume, “Okay, maybe the server’s rate limit kicks in at around 40 requests.” But that doesn’t appear to be the case, as the first error in the initial Irish example (promoted ad) starts on the 26th request, whereas the second Austrian example allows 34 requests in one second without issue.

    I have now contacted my hosting provider, and the request has been forwarded to the appropriate team, so now I have to wait. It’s possible that promoted ads are handled differently server-side than other requests, but honestly, I’m not sure.

    If you happen to think of anything else related to caching that might be causing this—since, after all, it’s a promoted copy—I would be very grateful if you could let me know.

    Thank you and best regards

    Plugin Support qtwrk

    (@qtwrk)

    maybe server treats the request differently , based on the user agent ?

    Thread Starter albarosa

    (@albarosa)

    Maybe. It’s possible. I’ll post an update here as soon as I know more. Thanks again.

    Thread Starter albarosa

    (@albarosa)

    Hello @qtwrk,

    I wanted to inform you that my hosting provider actually has a request limit in place for requests originating from “facebookexternalhit.” However, ad clicks should not come from “facebookexternalhit” but rather should show the device information in the log files from the users who clicked on the ad.

    Since Facebook shows in the insights that people have clicked on my ad, yet I could not identify these in the log files, I assumed the ad clicks might be coming from “facebookexternalhit.”

    In any case, I’ll need to keep monitoring this since the supposed Facebook clicks are missing in the log files. It’s also possible that Facebook might not be providing accurate data and these clicks didn’t actually happen.

    I don’t know for sure, and further observation is needed. Anyway, I think it can be ruled out that it has anything to do with your plugin, and you were right in thinking that there is indeed a request limit in place.

    Thank you and best regards

    • This reply was modified 2 weeks, 1 day ago by albarosa.
Viewing 7 replies - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.