Dynamic content


#1

I have a dynamic php content which is run on the external URL. The usage is like this:

http://mywebsite.com/script.php?to=URL

Previously, the website was hosted on bluehost but I just moved the website DNS to cloudflare.

My question = Does cloudflare support that?

Thanks.


#2

You still need to host[1] the content somewhere like you had it on Bluehost, while the DNS can be on Cloudflare. It will work with dynamic content.

[1] Is Cloudflare a hosting provider? taken from FAQ


#3

Hi @adconsult.jamal,

As @cyBerManIA pointed out you still need to have a web hosting service behind Cloudflare. We operate as a HTTP proxy - so if your origin server / application works with those URLs, Cloudflare will too.

As this is a dynamic URL (not a static file extension - What file extensions does CloudFlare cache for static content? ) Cloudflare won’t cache it as default, but you can use Page Rules if you wanted us to cache.


#4

Thanks guys. I’m a little confused with regards to hosting here:

1- I will keep Bluehost to host the php script. But what does that mean in terms of DNS? My domain registrar is Namecheap. Should I put bluehost as DNS or cloudflare in DNS section of namecheap? How do I set this up?

2- As far as caching goes, it is a dynamic content and I do not want script to run or use cached version. What Page Rules do you recommend for strict dynamic content?


#5

Regarding the 1. one, take a look at these few articles (link), they are very detailed. If something is not clear, write again. :slight_smile:

Regarding the caching, it depends what’s on that page and what exactly is dynamic. Default settings will leave dynamic HTML. In the end, you can bypass cache at all, but in 99% you don’t have to, as always there are things that can be cached. :smiley:

Take a look at these docs:
Which file extensions does Cloudflare cache for static content?
What are Cloudflare’s caching levels?
How Do I Tell Cloudflare What to Cache?
Railgun


#6

Here is what I did:

1- I updated the DNS in domain registrar to something.ns.cloudflare.com
2- The PHP script is hosted on bluehost and nothing changed there. http://mywebsite.club/script.php

On my cloudflare account, it shows that status is active. However in DNS section, it shows the following:

An A, AAAA or CNAME record was not found for the www subdomain. The www.mywebsite.club subdomain will not resolve.
An A, AAAA or CNAME record was not found pointing to the root domain. The mywebsite.club domain will not resolve.
An MX record was not found for your root domain. An MX record is required for mail to reach @mywebsite.club addresses.

Can you suggest what is the issue here?

Also regarding caching, PHP extension is not in the list. Since the script actively checks the URL, I dont think anything can cached. I would leave the default settings of standard and add Page Rule of Bypass everything.


#7

It looks like your domain expired on 6. of May, and your registrar autorenew it. You should login to the registrar’s control panel and take a look if you have to pay for it or the money is automatically transferred.
Nameservers do not point to Cloudflare - possibly due to domain expiration.
Current DNS records are missing, that’s why on your CF account you saw those errors.

Start with logging to your domain registrar and see what’s up with the domain.


#8

I checked the domain registrar and they confirmed that domain is good and set to expire next year. Can you please suggest what else can be checked?

Also, I checked whois tool and it shows

Name Servers
ben.ns.cloudflare.com
mimi.ns.cloudflare.com

https://whois.icann.org/en/lookup?name=mobigamestowin.club


#9

Ah, Great, I was checking for mywebsite.club. :smiley:

NS are set.

Now, you will have to manually enter A,CNAME, MX, TXT, and/or any other record you had, into CF’s DNS manager.
Needed IP address is probably somewhere in their control panel. Contact their support if you are not sure where to look for the records.


#10

Thanks a lot! Do I need to enter this information for all of the following?

An A, AAAA or CNAME record was not found for the www subdomain. The www.mobigamestowin.club subdomain will not resolve.
An A, AAAA or CNAME record was not found pointing to the root domain. The mobigamestowin.club domain will not resolve.
An MX record was not found for your root domain. An MX record is required for mail to reach @mobigamestowin.club addresses

Also I assume you mean bluehost control panel?


#11

I’m sure @cyBerManIA means bluehost control panel yes, you can find your ip by clicking on hosting then going to ‘manage ips’

Type: A, Name: mobigamestowin.club Value: points to = your ip from bluehost

Type: CNAME, Name: www is a alias of mobigamestowin.club

You can add MX Record if you wish it’s entirely up to you & add any other records you need to add.


#12

Thanks for the detailed reply.

Would it matter if mobigamestowin.club is an addon domain on a shared hosting account? In other words, it has a shared IP


#13

Yes, Bluehost control panel. :slight_smile:
Thanks @danstock for joining the fun and helping in finding the IP. :slight_smile:
@adconsult.jamal, no problems with addon domains and shared IPs. :slight_smile:


#14

Thanks guys, especially @cyBerManIA. This was so much helpful and educational. I will test my website and share my findings.


#15

Ok guys, it looks like Cloudflare is helping but I don’t see massive improvements in terms of clickloss.

Just a recall, my php script works on the external URL when a user clicks on that URL…so a hypothetical example is:

http://mobigamestowin.club/somescript.php?to=URL

I have trackers to track all the data. This is what I see now.

For example, lets say my URL was clicked by the users 1000 times. Its done by the 1st tracker.

When my script was hosted on bluehost shared hosting, my 2nd tracker showed only 500 users. In other words. there was a clickloss of 50%. The 2nd tracker increments after the script runs on the URL.

After I added Cloudflare, the 2nd tracker number increased to 600. It means my clickloss reduced to 40%. But I want to reduce this 0 ideally (norm is around 5%).

Note: if I remove the script and don’t process the external URL, my clickloss goes to norm which is around 5%.

What can I do further to reduce the gap or clickloss? This is mobile traffic btw.

Thanks.


#16

Let me preface this with the fact that I am in no way an expert on click loss, but have a general understanding about what it is and how it occurs.

To keep things short, click loss occurs because not all visitors may reach your landing page, most commonly due to either connection timeouts, or because the tracking system does not have a server close to the region you’re targeting. Also keep in mind that a large amount of clicks are found to be accidental.

While services such as ours don’t typically help reduce click loss, you may be able to reduce it somewhat by simply using our DNS (faster, more stable DNS resolution). Separately we did recently release Argo which reduces Internet latency on average by 35%; connection errors by 27% (Note: I have not tested Argo in relation to click loss).

If you continue to see high click loss it may be worth searching for a different provider who has locations closer to you the regions which you are targeting.


#17
  1. did you enable cloudflare ssl and http to https redirect ?
  2. did you have non-https on bluehost ?

referrer data afaik is only retained from

  • http source to http destination
  • https source to https destination
  • http source to https destination

but not for

  • https source to http destination

https://tools.ietf.org/html/rfc2616#section-15.1.3

Clients SHOULD NOT include a Referer header field in a (non-secure)
HTTP request if the referring page was transferred with a secure
protocol.

if mobile chrome is used, end user can enable chrome data saver feature which proxies connections through google https based proxy

https://developer.chrome.com/multidevice/data-compression

Reduce data usage
Chrome for Android can significantly reduce cellular data usage by using proxy servers hosted at Google to optimize website content. This feature has been shown to reduce the size of web pages by 60%. To enable it, visit Settings > Data Saver and toggle the option.

and

HTTP/2 for speed
Where possible the connection from the browser to the proxy runs over HTTP/2. If an HTTP/2 connection cannot be made, a regular HTTP/1.1 proxy connection is established.

which means Android chrome users with data saver go from proxied HTTP/2 HTTPS source to your externel HTTP or HTTPS connection

well that’s how i understand it


#18

Awesome replies by @Martijn and @eva2000. Both should be considered seriously.

Also, one important thing is that Bluehost and tracker script cause huge drop (with or without CF) which means that there are issues with both of them, eg. slow loading/tracking causing users to abandon before redirected.


#19

First of all, thanks @eva2000, @Martijn and @cyBerManIA. You guys rock for sharing helpful info!

@Martijn

The tracker is on cloud and it works fine with other services and URLs. Without the php script, my clickloss is around 5% which is a norm. It means tracker has no issues.
But yes, faster DNS resolution helps :slight_smile:

In regards to connection time out, its a dynamic content so I do not know if CDN will help unless the provider allows to make copies of my script on edge servers and then run PHP on the edge servers.

Another reason could be that shared webhosting doesn’t have enough processing power to provide fast resources for php to load and process URL.

I was thinking of either:
1- Get a VPS and use CloudFlare Railgun and Argo OR
2- Use Amazon EC2 since cloudfront works with dynamic content.

@eva2000

No, its a complete http solution. The script is on http and also the URL is on http. A hypothetical example below:
http://mobigamestowin.club/somephpscript.php?to=http://myurl

This is for iOS Safari browsers.

@cyBerManIA

Tracker is fine since it is hosted on cloud. It works perfectly well with other campaigns/URLs where I’m not using the PHP script.

What can I do to improve this slow loading and make my script run faster with a quick access from users all over the world?

Thanks!


#20

Hi Guys,

Any suggestions? I’m thinking about using Railgun but I’m also wondering if its a hosting problem

Thanks!