[{"data":1,"prerenderedAt":562},["ShallowReactive",2],{"docs-\u002Ffaq":3},{"id":4,"title":5,"body":6,"description":555,"extension":556,"meta":557,"navigation":377,"path":558,"seo":559,"stem":560,"__hash__":561},"docs\u002Fdocs\u002Ffaq.md","FAQ",{"type":7,"value":8,"toc":537},"minimark",[9,13,28,31,36,44,46,50,79,81,85,88,91,116,118,122,142,148,150,154,157,208,222,224,228,242,257,259,263,266,277,279,283,290,301,304,306,310,317,323,325,329,340,395,397,401,404,430,437,439,443,446,457,459,463,472,487,489,493,504,506,510,513,518,520,524,533],[10,11,5],"h1",{"id":12},"faq",[14,15,16,17,22,23,27],"p",{},"Common questions about Cachely. For technical setup, see ",[18,19,21],"a",{"href":20},"\u002Fdocs\u002Fgetting-started","Getting Started",". For plan details, see ",[18,24,26],{"href":25},"\u002Fdocs\u002Fbilling","Billing & Plans",".",[29,30],"hr",{},[32,33,35],"h2",{"id":34},"does-cachely-replace-my-cdn","Does Cachely replace my CDN?",[14,37,38,39,43],{},"No. Cachely sits ",[40,41,42],"strong",{},"between"," your frontend and your CMS origin CDN. It doesn't replace your CMS's CDN — it adds a caching and control layer on top. Your CMS still hosts the original assets; Cachely just proxies and caches them through your own domain.",[29,45],{},[32,47,49],{"id":48},"does-this-work-with-any-cms","Does this work with any CMS?",[14,51,52,53,56,57,56,60,56,63,56,66,69,70,73,74,78],{},"Yes. Cachely has built-in support for ",[40,54,55],{},"Prismic",", ",[40,58,59],{},"Contentful",[40,61,62],{},"Sanity",[40,64,65],{},"Shopify",[40,67,68],{},"Cloudinary",", and ",[40,71,72],{},"Imgix"," (with automatic origin resolution and URL transformation for each). You can also proxy any HTTPS asset origin. See ",[18,75,77],{"href":76},"\u002Fdocs\u002Fgeneric-origin","Generic Origin Mode"," for details.",[29,80],{},[32,82,84],{"id":83},"will-this-improve-performance","Will this improve performance?",[14,86,87],{},"Yes, in most cases. Assets are cached at Cloudflare's edge network (300+ locations worldwide). After the first request, subsequent requests for the same asset are served from the edge closest to the user — typically in under 10ms.",[14,89,90],{},"Even if your CMS CDN is already fast, Cachely gives you:",[92,93,94,98,110,113],"ul",{},[95,96,97],"li",{},"An additional cache layer you control",[95,99,100,101,105,106,109],{},"Query param sorting (so ",[102,103,104],"code",{},"?w=300&fm=webp"," and ",[102,107,108],{},"?fm=webp&w=300"," share the same cache entry)",[95,111,112],{},"Optional query param stripping for configured file types",[95,114,115],{},"Bandwidth visibility and control",[29,117],{},[32,119,121],{"id":120},"can-i-use-a-custom-domain","Can I use a custom domain?",[14,123,124,125,128,129,132,133,136,137,141],{},"Yes. You can serve assets from your own subdomain (e.g., ",[102,126,127],{},"cdn.yourdomain.com",") instead of the default ",[102,130,131],{},"your-project.cmsassets.com",". This requires a CNAME record pointing to ",[102,134,135],{},"proxy.cmsassets.com",". See ",[18,138,140],{"href":139},"\u002Fdocs\u002Fcustom-domains","Custom Domains"," for full details.",[14,143,144,145,147],{},"The default ",[102,146,131],{}," subdomain remains active alongside any custom domain.",[29,149],{},[32,151,153],{"id":152},"what-file-types-are-supported","What file types are supported?",[14,155,156],{},"By default, the proxy allows these file types:",[92,158,159,183,191],{},[95,160,161,164,165,56,168,56,171,56,174,56,177,56,180],{},[40,162,163],{},"Images:"," ",[102,166,167],{},"jpeg",[102,169,170],{},"jpg",[102,172,173],{},"png",[102,175,176],{},"webp",[102,178,179],{},"avif",[102,181,182],{},"svg",[95,184,185,164,188],{},[40,186,187],{},"Documents:",[102,189,190],{},"pdf",[95,192,193,164,196,56,199,56,202,56,205],{},[40,194,195],{},"Video:",[102,197,198],{},"mp4",[102,200,201],{},"webm",[102,203,204],{},"mov",[102,206,207],{},"m4v",[14,209,210,211,214,215,218,219,221],{},"If ",[102,212,213],{},"allowedTypes"," is configured for a project, requests returning a Content-Type that doesn't match any allowed type receive a ",[102,216,217],{},"403"," error. If ",[102,220,213],{}," is not configured, all content types are served.",[29,223],{},[32,225,227],{"id":226},"how-does-caching-work","How does caching work?",[14,229,230,231,237,238,241],{},"Assets are cached at the Cloudflare edge using the ",[18,232,236],{"href":233,"rel":234},"https:\u002F\u002Fdevelopers.cloudflare.com\u002Fworkers\u002Fruntime-apis\u002Fcache\u002F",[235],"nofollow","Cache API",". The default TTL is ",[40,239,240],{},"2 days",", but you can configure it per project (from 60 seconds to 30 days).",[14,243,244,245,105,247,249,250,253,254,27],{},"Query parameters are included in the cache key by default, sorted alphabetically for consistency (so ",[102,246,104],{},[102,248,108],{}," produce the same cache key). If ",[102,251,252],{},"stripQueryParamsFor"," is configured for specific file extensions, query parameters are removed from the cache key for those types — useful for preventing duplicate entries caused by CMS-generated params like ",[102,255,256],{},"?auto=format",[29,258],{},[32,260,262],{"id":261},"what-happens-if-the-origin-is-down","What happens if the origin is down?",[14,264,265],{},"If the CMS origin returns an error or is unreachable:",[92,267,268,271,274],{},[95,269,270],{},"The edge worker returns the upstream error status code",[95,272,273],{},"If the asset was previously cached and the cache hasn't expired, it may still be served from cache",[95,275,276],{},"A 10-second timeout is enforced to prevent hanging requests",[29,278],{},[32,280,282],{"id":281},"does-cachely-track-my-users","Does Cachely track my users?",[14,284,285,286,289],{},"No. Cachely only tracks ",[40,287,288],{},"aggregate"," usage metrics per project:",[92,291,292,295,298],{},[95,293,294],{},"Total requests per month",[95,296,297],{},"Total bandwidth per month",[95,299,300],{},"Last request timestamp",[14,302,303],{},"No user-identifiable information is stored. No cookies are set. No analytics scripts are injected.",[29,305],{},[32,307,309],{"id":308},"how-is-bandwidth-measured","How is bandwidth measured?",[14,311,312,313,316],{},"Bandwidth is measured from the ",[102,314,315],{},"Content-Length"," header of each response. Both cache hits and cache misses count toward your bandwidth total.",[14,318,319,320,322],{},"If a response doesn't include a ",[102,321,315],{}," header, 0 bytes are recorded for that request.",[29,324],{},[32,326,328],{"id":327},"can-i-use-cachely-in-development","Can I use Cachely in development?",[14,330,331,332,335,336,339],{},"Yes. Create a separate project for development (e.g., ",[102,333,334],{},"my-project-dev",") and use it in your local environment. Set the ",[102,337,338],{},"CMS_ASSETS_URL"," environment variable per environment:",[341,342,347],"pre",{"className":343,"code":344,"language":345,"meta":346,"style":346},"language-bash shiki shiki-themes github-dark","# .env.development\nCMS_ASSETS_URL=https:\u002F\u002Fmy-project-dev.cmsassets.com\n\n# .env.production\nCMS_ASSETS_URL=https:\u002F\u002Fmy-project.cmsassets.com\n","bash","",[102,348,349,358,372,379,385],{"__ignoreMap":346},[350,351,354],"span",{"class":352,"line":353},"line",1,[350,355,357],{"class":356},"sAwPA","# .env.development\n",[350,359,361,364,368],{"class":352,"line":360},2,[350,362,338],{"class":363},"s95oV",[350,365,367],{"class":366},"snl16","=",[350,369,371],{"class":370},"sU2Wk","https:\u002F\u002Fmy-project-dev.cmsassets.com\n",[350,373,375],{"class":352,"line":374},3,[350,376,378],{"emptyLinePlaceholder":377},true,"\n",[350,380,382],{"class":352,"line":381},4,[350,383,384],{"class":356},"# .env.production\n",[350,386,388,390,392],{"class":352,"line":387},5,[350,389,338],{"class":363},[350,391,367],{"class":366},[350,393,394],{"class":370},"https:\u002F\u002Fmy-project.cmsassets.com\n",[29,396],{},[32,398,400],{"id":399},"what-bots-are-blocked-by-default","What bots are blocked by default?",[14,402,403],{},"The default bot blocklist includes:",[92,405,406,409,412,415,418,421,424,427],{},[95,407,408],{},"ahrefs",[95,410,411],{},"semrush",[95,413,414],{},"uptimerobot",[95,416,417],{},"python",[95,419,420],{},"curl",[95,422,423],{},"wget",[95,425,426],{},"libwww",[95,428,429],{},"node-fetch",[14,431,432,433,436],{},"These are matched against the ",[102,434,435],{},"User-Agent"," header using a case-insensitive regex. You can customize the blocked bots regex per project.",[29,438],{},[32,440,442],{"id":441},"can-i-have-multiple-projects-for-the-same-cms-repository","Can I have multiple projects for the same CMS repository?",[14,444,445],{},"Yes. You can create multiple projects pointing to the same origin. This is useful for:",[92,447,448,451,454],{},[95,449,450],{},"Separate staging and production environments",[95,452,453],{},"Different caching strategies for different parts of your site",[95,455,456],{},"Testing configuration changes without affecting production",[29,458],{},[32,460,462],{"id":461},"how-do-i-delete-a-project","How do I delete a project?",[14,464,465,466,471],{},"Go to your ",[18,467,470],{"href":468,"rel":469},"https:\u002F\u002Fapp.cachely.io\u002Ftenants",[235],"dashboard",", find the project, and use the delete action. Deleting a project:",[92,473,474,477,480],{},[95,475,476],{},"Removes the project configuration",[95,478,479],{},"Removes the proxy configuration (the subdomain stops working immediately)",[95,481,482,483,486],{},"Does ",[40,484,485],{},"not"," delete cached assets (they expire naturally based on TTL)",[29,488],{},[32,490,492],{"id":491},"can-i-see-how-much-bandwidth-im-saving","Can I see how much bandwidth I'm saving?",[14,494,495,496,499,500,78],{},"Yes. Each project's detail page shows a ",[40,497,498],{},"Performance"," card with cache hit ratio, origin requests avoided, and estimated CMS bandwidth savings. Your account overview aggregates these metrics across all projects. See ",[18,501,503],{"href":502},"\u002Fdocs\u002Fanalytics","Analytics",[29,505],{},[32,507,509],{"id":508},"is-there-a-free-plan","Is there a free plan?",[14,511,512],{},"Yes — free forever, no credit card required. The free plan includes 1 project, 500,000 requests\u002Fmonth, and 5 GB bandwidth.",[14,514,515,516,141],{},"When you need more, the Pro plan is $19\u002Fmonth with 5M requests, 200 GB bandwidth, unlimited projects, and custom domains. See ",[18,517,26],{"href":25},[29,519],{},[32,521,523],{"id":522},"is-there-an-sla","Is there an SLA?",[14,525,526,527,532],{},"Cachely runs on Cloudflare Workers, which has a ",[18,528,531],{"href":529,"rel":530},"https:\u002F\u002Fwww.cloudflare.com\u002Fbusiness-sla\u002F",[235],"99.99% uptime SLA",". Usage tracking is non-blocking by design — if the ingest endpoint is temporarily unavailable, asset requests continue serving normally rather than failing. Your site stays up.",[534,535,536],"style",{},"html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}html pre.shiki code .s95oV, html code.shiki .s95oV{--shiki-default:#E1E4E8}html pre.shiki code .snl16, html code.shiki .snl16{--shiki-default:#F97583}html pre.shiki code .sU2Wk, html code.shiki .sU2Wk{--shiki-default:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":346,"searchDepth":360,"depth":360,"links":538},[539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554],{"id":34,"depth":360,"text":35},{"id":48,"depth":360,"text":49},{"id":83,"depth":360,"text":84},{"id":120,"depth":360,"text":121},{"id":152,"depth":360,"text":153},{"id":226,"depth":360,"text":227},{"id":261,"depth":360,"text":262},{"id":281,"depth":360,"text":282},{"id":308,"depth":360,"text":309},{"id":327,"depth":360,"text":328},{"id":399,"depth":360,"text":400},{"id":441,"depth":360,"text":442},{"id":461,"depth":360,"text":462},{"id":491,"depth":360,"text":492},{"id":508,"depth":360,"text":509},{"id":522,"depth":360,"text":523},"Common questions about Cachely — pricing, integrations, caching behavior, performance, and multi-site support.","md",{},"\u002Fdocs\u002Ffaq",{"title":5,"description":555},"docs\u002Ffaq","cBqaeCqDnp5VwGro0hbQ5eIfIGYL9KkC-M1oauGs-Qs",1777579477590]