PageSourceSearch

https://cyberstock.lol/assets/FreeShutterstockKeywordChecker-7zo2uKQf.js

js cyberstock.lol collected 2026-09-24 14:25:32 UTC 8,499 bytes, 1 lines download raw bytes

1import{r as o,j as e,b3 as j,aM as v,l as S,ak as C,H as N,S as F}from"./index-CE18-tb0.js";import{S as T}from"./StaticPageLayout-Bql_8S5Q.js";import{b as A,F as K,a as D,c as P,d as M}from"./FreeToolSignupModal-CIjXBZ6u.js";import{F as V}from"./FreeToolSeoBlock-DPR4aoDV.js";import{u as L}from"./useFreeToolLimit-D4jOm2Vw.js";import{f as _,p as W,v as q,S as z}from"./keywordTools-BIWfhJ5d.js";import"./vendor-Y7T1HomI.js";import"./supabase-BwgEV_BN.js";import"./house-DSrnDzDf.js";const I="Free Shutterstock Keyword Checker - Validate Stock Keywords | CyberStock",p="Validate keywords against Shutterstock, Adobe Stock, iStock, Pond5, Alamy, Depositphotos, Dreamstime, Vecteezy, and Freepik rules. Free, instant, no signup.",c="https://cyberstock.lol/free-shutterstock-keyword-checker",R="shutterstock keyword checker, validate stock keywords, shutterstock 50 keywords, stock keyword validator, multi platform keyword check, no upload keyword tool",x=[{q:"What does this checker validate?",a:"Keyword count vs. platform min/max, duplicates, keywords over 60 characters (most agencies reject these), and per-platform notes (Adobe top-10, iStock controlled vocabulary, etc.)."},{q:"Which platforms are supported?",a:"Shutterstock, Adobe Stock, iStock/Getty, Pond5, Alamy, Depositphotos, Dreamstime, Vecteezy, Freepik. We add more as agencies update their rules."},{q:"Will my keywords be saved?",a:"No. Free sessions run client-side only. Sign up for CyberStock to save keyword sets, batch validate, and push to agencies via CyberPusher."},{q:"Why do agencies reject keyword sets?",a:"Most common: too few keywords, duplicates, irrelevant filler, or keywords over 60 characters. We flag every issue before you submit."}];function X(){const[a,y]=o.useState(""),[i,b]=o.useState("shutterstock"),[w,l]=o.useState(!1),{status:d,consume:n,markExhausted:m,bypass:h}=L({toolId:"shutterstock-keyword-checker",defaultLimit:3}),f=o.useCallback(async()=>h?!0:d.allowed?(await n()).allowed?!0:(m(),l(!0),!1):(l(!0),!1),[h,d.allowed,n,m]),r=_(i),u=o.useMemo(()=>W(a),[a]),s=o.useMemo(()=>q(u,r),[u,r]),k=s.keywords.join(", "),g=e.jsx("div",{className:"mx-auto w-full max-w-[1380px]","data-testid":"shutterstock-keyword-checker-tool",children:e.jsxs("div",{className:"rounded-lg border border-slate-200 bg-white p-5 shadow-[0_26px_90px_-64px_rgba(15,23,42,0.55)] sm:p-6 lg:p-8",children:[e.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.jsx("span",{className:"text-xs font-black uppercase text-slate-500",children:"Platform"}),z.map(t=>e.jsx("button",{type:"button",onClick:()=>b(t.key),className:`rounded-md border px-3 py-1.5 text-[11px] font-black uppercase transition ${i===t.key?"border-violet-500 bg-violet-50 text-violet-700":"border-slate-200 bg-white text-slate-700 hover:border-violet-200"}`,children:t.label},t.key))]}),e.jsxs("div",{className:"mt-4 grid gap-5 lg:grid-cols-[1fr_1fr]",children:[e.jsxs("div",{children:[e.jsx("label",{className:"text-xs font-black uppercase text-slate-500",children:"Paste keywords (commas, semicolons, or new lines)"}),e.jsx("textarea",{value:a,onChange:t=>y(t.target.value),rows:14,placeholder:"yoga, woman, beach, sunset, ...",className:"mt-2 w-full rounded-md border border-slate-200 bg-white px-3 py-2.5 font-mono text-sm text-slate-950"}),e.jsxs("div",{className:"mt-3 rounded-md bg-slate-50 p-3 text-xs leading-relaxed text-slate-700",children:[e.jsxs("strong",{className:"font-black",children:[r.label," rules:"]}),e.jsxs("ul",{className:"mt-1 list-disc space-y-0.5 pl-4",children:[e.jsxs("li",{children:["Keywords: ",r.minKeywords,"–",r.maxKeywords]}),r.topKeywordsCount?e.jsxs("li",{children:["First ",r.topKeywordsCount," carry the most weight"]}):null,e.jsxs("li",{children:["Title up to ",r.titleMaxChars," chars"]}),r.notes.map(t=>e.jsx("li",{children:t},t))]})]})]}),e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:`rounded-lg border p-4 ${s.status==="ok"?"border-emerald-100 bg-emerald-50":"border-rose-100 bg-rose-50"}`,children:[e.jsxs("div",{className:`flex items-center gap-2 font-black uppercase ${s.status==="ok"?"text-emerald-800":"text-rose-800"}`,children:[s.status==="ok"?e.jsx(j,{className:"h-4 w-4"}):e.jsx(v,{className:"h-4 w-4"}),s.status==="ok"?`Ready for ${r.label}`:`${s.issues.length} issue(s)`,e.jsxs("span",{className:"ml-auto text-xs font-bold opacity-80",children:[s.count,"/",r.maxKeywords]})]}),s.issues.length?e.jsx("ul",{className:"mt-2 list-disc space-y-0.5 pl-4 text-xs font-semibold",children:s.issues.map(t=>e.jsx("li",{children:t},t))}):null]}),s.duplicates.length?e.jsxs("div",{className:"rounded-lg border border-amber-100 bg-amber-50 p-4",children:[e.jsx("div",{className:"text-xs font-black uppercase text-amber-800",children:"Duplicate keywords removed"}),e.jsx("div",{className:"mt-2 font-mono text-xs text-amber-900",children:s.duplicates.join(", ")})]}
1):null,s.tooLong.length?e.jsxs("div",{className:"rounded-lg border border-rose-100 bg-rose-50 p-4",children:[e.jsx("div",{className:"text-xs font-black uppercase text-rose-800",children:"Too long (over 60 chars)"}),e.jsx("div",{className:"mt-2 font-mono text-xs text-rose-900",children:s.tooLong.join(", ")})]}):null,e.jsxs("div",{className:"rounded-lg border border-slate-200 bg-white p-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx("div",{className:"text-sm font-black text-slate-950",children:"Cleaned keywords"}),e.jsxs(S,{type:"button",size:"sm",onClick:async()=>{await f()&&navigator.clipboard?.writeText(k).catch(()=>{})},className:"rounded-md bg-violet-600 font-black uppercase tracking-wide hover:bg-violet-700",children:[e.jsx(C,{className:"mr-2 h-3.5 w-3.5"}),"Copy"]})]}),e.jsx("div",{className:"mt-3 max-h-60 overflow-auto rounded-md bg-slate-50 p-3 font-mono text-xs leading-relaxed text-slate-800",children:k||"—"})]})]})]})]})});return e.jsxs(T,{containerClassName:"bg-[#F5F5F7] text-slate-900",theme:"light",relatedToolsPath:"/free-shutterstock-keyword-checker",children:[e.jsxs(N,{children:[e.jsx("title",{children:I}),e.jsx("meta",{name:"description",content:p}),e.jsx("meta",{name:"keywords",content:R}),e.jsx("link",{rel:"canonical",href:c})]}),e.jsx(F,{data:A({name:"Free Shutterstock Keyword Checker",description:p,url:c,featureList:["Validate keywords for 9 stock platforms","Detect duplicates and overflow","Free, no signup"],faqs:x,breadcrumb:[{name:"Home",url:"https://cyberstock.lol/"},{name:"Free Tools",url:"https://cyberstock.lol/free-tools"},{name:"Shutterstock Keyword Checker",url:c}]}),id:"schema-free-shutterstock-keyword-checker"}),e.jsx(K,{breadcrumb:[{label:"Free Tools",href:"/free-tools"},{label:"Shutterstock Keyword Checker"}],title:"Free Shutterstock Keyword Checker",subtitle:"Validate keyword sets against Shutterstock, Adobe Stock, iStock, Pond5, Alamy, Depositphotos, Dreamstime, Vecteezy, and Freepik. The most thorough keyword checker on the web.",checklist:["9 stock platforms","Duplicate + length checks","Free, no signup"],primaryCta:{label:"Check keywords free",href:"#free-tool"},secondaryCta:{label:"Get 20 free credits",href:"/auth?mode=signup"},toolSlot:g}),e.jsx(V,{tldr:"Shutterstock allows up to 50 keywords per asset; over-limit lists, duplicates, or keywords over 60 characters can dilute relevance or stall review. This free Shutterstock keyword checker validates your keywords against Shutterstock and 8 other agencies before upload. CyberStock's AI writes the keywords for you from 50M+ real buyer searches.",facts:[{stat:"50 max",text:"Shutterstock caps keywords at 50; this checker flags over-limit lists across 9 platforms."},{stat:"9 platforms",text:"Validates against Shutterstock, Adobe, iStock, Pond5, Alamy, Depositphotos, Dreamstime, Vecteezy, Freepik."},{stat:"50M+ searches",text:"CyberStock's AI keywords are ranked against 50M+ real buyer searches, not generic AI tags."},{stat:"0% commission",text:"CyberPusher one-click submits to Shutterstock, Adobe, Getty and Pond5 with 0% commission."}]}),e.jsx(D,{heading:"Validation is the floor. CyberStock writes the keywords for you.",subheading:"20 free credits. AI keywords ranked against 50M+ buyer searches. Batch up to 1000 files at once. CSV exports tuned to every agency.",primaryCta:{label:"Start free with 20 credits",href:"/auth?mode=signup"},secondaryCta:{label:"See plans",href:"/pricing"}}),e.jsx(P,{subheading:"Stock keyword checker FAQ",items:x}),e.jsx(M,{open:w,onOpenChange:l,toolName:"Keyword Checker"})]})}export{X as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.