This is a website hosted on free domain provide by infinityfree hosting and when i try to add this site to google adsence it says “URL must be a top level domain did you mean epizy.com”
You can’t add subdomains on Google AdSense. You must have your own Top-Level Domain (TLD) name. If you don’t know how to get one, get one free from Freenom (but note that .tk domains aren’t supported on free hosting, the other types are), point it to our nameservers, add it on the “Parked Domains” section of the Control Panel and change your WordPress site and home URLs to contain your own domain name in place of the old one.
If i buy any free domain from freenom like .cf .ml .ga or .gq can these domain be same as domains like .com .net? Can these free domains let me rank my website on internet?
That’s not strictly true. You can still add these domains to the Google Search Console and they can still show up on Google just as much as any other domain.
In my experience Google penalizes the free domain extensions. But it’s been quite some time since I checked.
Still, if you are willing to spend a little bit of money to improve your website appeal and SEO, buying a domain name should be on the top of your list.