[{"data":1,"prerenderedAt":315},["ShallowReactive",2],{"DefaultLayouten":3,"language-blog-slug-how-to-make-your-website-visible-and-digestible-for-llms-i18n-slugs":134,"language-blog-slug-en-how-to-make-your-website-visible-and-digestible-for-llms":141},{"app":4,"menu":31,"footer":66},{"githubUrl":5,"youtubeUrl":6,"linkedinUrl":7,"phoneNumber":8,"emailAddress":9,"legal":10,"addresses":20},"https:\u002F\u002Fgithub.com\u002Fvoorhoede\u002F","https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCzHuhQVYFRixtQN2-swcuGg","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fde-voorhoede","+31 20 2610 954","post@voorhoede.nl",[11,14,17],{"title":12,"value":13},"KvK","56017235",{"title":15,"value":16},"BTW","NL851944620B01",{"title":18,"value":19},"IBAN","NL14TRIO0320142078",[21,26],{"address":22,"city":23,"googleMapsLink":24,"postalCode":25}," Ridderspoorweg 115","Amsterdam","https:\u002F\u002Fwww.google.com\u002Fmaps\u002Fplace\u002FDe+Voorhoede+%7C+Front-end+Development\u002F@52.396847,4.8700823,17z\u002Fdata=!3m1!4b1!4m5!3m4!1s0x47c5e21d502d2d59:0xbf570944a96ebf45!8m2!3d52.347647!4d4.8502154","1032 LL",{"address":27,"city":28,"googleMapsLink":29,"postalCode":30},"Koornmarkt 22","Delft","https:\u002F\u002Fwww.google.nl\u002Fmaps\u002Fplace\u002FKoornmarkt+22,+2611+EG+Delft\u002F@52.0093477,4.3573054,17z\u002F","2611 EG",{"title":32,"callToActions":33,"links":39},"Site Menu",[34],{"id":35,"title":36,"link":37},"163140902","Contact",{"__typename":38},"ContactRecord",[40,46,51,56,61],{"id":41,"title":42,"link":43},"163140904","Impact",{"__typename":44,"slug":45},"PageRecord","impact",{"id":47,"title":48,"link":49},"163140905","Services",{"__typename":50},"ServiceOverviewRecord",{"id":52,"title":53,"link":54},"163140906","Cases",{"__typename":55},"CaseOverviewRecord",{"id":57,"title":58,"link":59},"163140908","About us",{"__typename":44,"slug":60},"about-us",{"id":62,"title":63,"link":64},"d6WdFJq2SOuc3dWtpibbXQ","Work at",{"__typename":44,"slug":65},"work-at",{"links":67,"copyrightTitle":93,"copyrightLabel":94,"copyrightLink":95,"privacyTitle":96,"privacyLabel":97,"privacyLink":98,"certificatesGrid":99},[68,71,74,77,82,85,88],{"id":69,"title":42,"link":70},"144185264",{"__typename":44,"slug":45},{"id":72,"title":48,"link":73},"144185265",{"__typename":50},{"id":75,"title":53,"link":76},"144185266",{"__typename":55},{"id":78,"title":79,"link":80},"144185267","Blog",{"__typename":81},"BlogPostOverviewRecord",{"id":83,"title":58,"link":84},"144185268",{"__typename":44,"slug":60},{"id":86,"title":36,"link":87},"144185269",{"__typename":38},{"id":89,"title":90,"link":91},"144185270","FAQ",{"__typename":44,"slug":92},"faq","Creative Commons licence and disclaimer","CC BY 4.0","https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\u002F","De Voorhoede privacy statement (pdf)","Privacy statement","https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1780323242-vh-isms-006-privacy-statement-de-voorhoede.pdf",[100,112,123],{"id":101,"image":102,"link":107},"Xq4bBfg_TZ6Fkjax9mkbLQ",{"url":103,"alt":104,"width":105,"height":106},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1687353463-b-corp-logo-black-rgb.png","B Corp logo",404,680,{"__typename":108,"id":109,"title":110,"url":111},"ExternalLinkRecord","fGW1ak8XQYaYDLkBSyncog","B Corp","https:\u002F\u002Fwww.bcorporation.net\u002Fen-us\u002Ffind-a-b-corp\u002Fcompany\u002Fde-voorhoede\u002F",{"id":113,"image":114,"link":119},"c5mCXRTiSraRIB25fw1p7Q",{"url":115,"alt":116,"width":117,"height":118},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1687353461-dda-boxlogo-black.png","Dutch Digital Agencies logo",627,480,{"__typename":108,"id":120,"title":121,"url":122},"P6Jh7B0cTv2cKyNEeKVWVQ","Dutch Digital Agencies","https:\u002F\u002Fdutchdigitalagencies.com\u002Fleden\u002Fde-voorhoede\u002F",{"id":124,"image":125,"link":129},"MT5SCyNxSTSr_v5eeATMZw",{"url":126,"alt":127,"width":128,"height":128},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1775730283-dnv.png","DNV logo",518,{"id":130,"title":131,"link":132},"BRtNB5HnT5i-7HkA8IYzBw","DNV",{"__typename":44,"slug":133},"impact\u002Fdigitale-producten-privacy-by-design",[135,138],{"locale":136,"value":137},"en","how-to-make-your-website-visible-and-digestible-for-llms",{"locale":139,"value":140},"nl","je-website-zichtbaar-en-begrijpelijk-maken-voor-llms",{"page":142},{"slug":137,"i18nSlugs":143,"social":146,"title":147,"subtitle":79,"isArchived":151,"headerIllustration":152,"date":157,"authors":158,"introTitle":167,"items":168,"pivots":242,"relatedBlogPosts":243,"tags":266,"onMountedScript":161,"onUnmountedScript":161},[144,145],{"locale":136,"value":137},{"locale":139,"value":140},{"title":147,"description":148,"image":149},"How to make your website visible and digestible for LLMs","AI search visibility is the new SEO. Whether ChatGPT, Claude, and Perplexity cite your site comes down to what you build around it.",{"url":150},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1784707585-blog-james-llm-visibility-en.jpg",false,{"url":153,"alt":154,"width":155,"height":156},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1784706369-ai_chat_gpt-1.svg",null,582,409,"2026-07-22T10:35:30.863+02:00",[159],{"name":160,"lastName":161,"slug":162,"image":163},"James","","james",{"url":164,"alt":154,"width":165,"height":166},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1683534742-james.jpg",1811,2415,"This space moves fast. I've spent the last few years trying to keep up, reading the research and testing things on our own site to see what gets us cited. For websites, I've crystallised what works best to make them work with LLMs. That's what's below.",[169,173,177,181,185,190,194,198,202,206,210,214,218,222,226,230,234,238],{"__typename":170,"id":171,"title":161,"body":172},"TextSectionRecord","YR_eltEDRLirWX3D5ZjNjQ","\u003Cp>More and more people ask LLMs their questions instead of typing them into Google, and most websites haven't caught up. SEO best practices still help, but LLMs have their own needs. Whether you build the site or write for it, there are concrete things you can do to make your content easier for them to find, read, and cite. Just know that most of this is what we know right now: it should stay relevant, but some of it won't be true in a few months, so always verify before you make changes.\u003C\u002Fp>",{"__typename":170,"id":174,"title":175,"body":176},"cG0zP38aTIKPsaOZci1vfQ","How AI search actually works","\u003Cp>When we ask new clients at De Voorhoede how they found us, the answer used to be their network or Google. Now we hear \"Chat recommended you.\" So how does that work?\u003C\u002Fp>\n\u003Cp>An LLM's answer comes from one of two places: what the model already learned in training, or a live web search it runs in the moment for more up-to-date information. When it searches, it grabs a handful of pages from its prebuilt index, writes a single answer based on them, and cites the ones it used. That live-search path is the one you can influence, and it has a name: retrieval-augmented generation, or RAG. It powers every major AI search today.\u003C\u002Fp>\n\u003Cp>The big shift is the results page: there isn't one. No list of ten blue links to climb. The model reads a few sources, writes one answer, and either your page makes the cut or it doesn't. There's no position #2.\u003C\u002Fp>\n\u003Cp>So the goal changes from ranking number one to being one of the sources the model picks. Everything below is about that: making sure the model can reach your pages, read them cleanly, and trust you enough to cite you over someone else.\u003C\u002Fp>\n\u003Cp>Each model also has its own index. Google, OpenAI, and Anthropic crawl the web themselves and build separate ones, so what a given model can see, and how fresh it is, won't always match the Google results you're used to.\u003C\u002Fp>\n\u003Cul>\u003C\u002Ful>",{"__typename":170,"id":178,"title":179,"body":180},"M8pGflj0R7e7dkrwDpdrmA","Make your site reachable and readable","\u003Cp>First, the technical side. Can the model actually fetch your pages and read them without tripping over clutter? This part is mostly developer work.\u003Cb id=\"docs-internal-guid-21926cd8-7fff-5b66-3253-f057aec252bc\">\u003Cspan>\u003C\u002Fspan>\u003C\u002Fb>\u003C\u002Fp>",{"__typename":170,"id":182,"title":183,"body":184},"Z0--2811QPKedcFBaUl4PQ","Can the bots even reach you?","\u003Cp dir=\"ltr\">\u003Cspan>Before any of this matters, the AI crawlers have to be able to fetch your pages, and plenty of sites block them without knowing it. Do everything else right and you can still be invisible.\u003Cbr>\u003Cbr>\u003C\u002Fspan>\u003Cb>\u003C\u002Fb>\u003Cspan>There's two things you need to check. Start with your \u003C\u002Fspan>\u003Ccode>\u003Cspan>robots.txt\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> and make sure nothing blocks the AI bots. Then check your CDN or firewall, because tools like Cloudflare can block AI bots at the edge, sometimes by default, no matter what \u003C\u002Fspan>\u003Ccode>\u003Cspan>robots.txt\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> says. To confirm they're getting through, check your server logs to see the bots actually show up.\u003Cbr>\u003Cbr>\u003C\u002Fspan>\u003Cb>\u003C\u002Fb>\u003Cspan>It also helps to know there's no single \"AI bot\". There are three kinds:\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cul>\n\u003Cli dir=\"ltr\">\u003Cspan>\u003Cstrong>Training crawlers\u003C\u002Fstrong> (\u003Ccode>GPTBot, ClaudeBot\u003C\u002Fcode>) collect data for future models.\u003C\u002Fspan>\u003C\u002Fli>\n\u003Cli dir=\"ltr\">\u003Cspan>\u003Cstrong>Search crawlers\u003C\u002Fstrong> (\u003Ccode>OAI-SearchBot, Claude-SearchBot\u003C\u002Fcode>) build the index the model searches when it answers. This is the one that gets you cited.\u003C\u002Fspan>\u003C\u002Fli>\n\u003Cli dir=\"ltr\">\u003Cspan>\u003Cstrong>Live fetchers\u003C\u002Fstrong> (\u003Ccode>ChatGPT-User, Claude-User\u003C\u002Fcode>) grab a page when a user's prompt asks for it.\u003C\u002Fspan>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>They're controlled separately, so you can block the training crawler and still stay visible in AI search. Here's that in \u003Ccode>robots.txt\u003C\u002Fcode>:\u003C\u002Fp>",{"__typename":186,"id":187,"language":188,"body":189},"CodeBlockRecord","CZdmKPZvSDGyjMAFfmD_lA","markdown","# Block OpenAI's training crawler\nUser-agent: GPTBot\nDisallow: \u002F\n\n# But let its search crawler through\nUser-agent: OAI-SearchBot\nDisallow:",{"__typename":170,"id":191,"title":192,"body":193},"C9Cz8QynQQKFv69VAiUnzw","Add structured data (schema)","\u003Cp dir=\"ltr\">\u003Cspan>Structured data is markup that tells machines what your page is about without making them guess. It spells out the facts in a format built for parsing: this is an article, here's the author, here's the company, here's when it was published.\u003C\u002Fspan>\u003Cb>\u003C\u002Fb>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>The simplest way to start is JSON-LD, the format Google recommends and the easiest to drop in. Add the types that fit your content: \u003C\u002Fspan>\u003Ccode>\u003Cspan>Article\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> or \u003C\u002Fspan>\u003Ccode>\u003Cspan>BlogPosting\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> for posts, \u003C\u002Fspan>\u003Ccode>\u003Cspan>Organization\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> for your company, \u003C\u002Fspan>\u003Ccode>\u003Cspan>Person\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> for authors, \u003C\u002Fspan>\u003Ccode>\u003Cspan>FAQPage\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> for Q&amp;A. Link your entities with \u003C\u002Fspan>\u003Ccode>\u003Cspan>sameAs\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> so the model can connect your brand to its profiles and pin down who you are. The full vocabulary lives at \u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Fschema.org\u002F\">\u003Cspan>schema.org\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan>.\u003C\u002Fspan>\u003Cb>\u003C\u002Fb>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>It's proven for traditional search and gives models clean entity data to read. How much each model leans on it for citations hasn't really been measured, but it's cheap and standard, so it's worth adding.\u003C\u002Fspan>\u003C\u002Fp>",{"__typename":170,"id":195,"title":196,"body":197},"KuabZPnlS06CioAZ417TNg","Serve markdown page alternatives","\u003Cp dir=\"ltr\">\u003Cspan>Serve a clean markdown version of every page. It gives the model just the content: no nav, no footer, no unlabelled images, no markup to dig through. That means fewer tokens to process and a cleaner read, so the model spends its attention on what you actually wrote. We do this on our own site. Add&nbsp;\u003C\u002Fspan>\u003Ccode>\u003Cspan>.md\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> to a page URL and you get the clean version, this post included.\u003C\u002Fspan>\u003Cb>\u003C\u002Fb>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>To make it discoverable, do three things:\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cul>\n\u003Cli dir=\"ltr\" aria-level=\"1\">\n\u003Cp dir=\"ltr\" role=\"presentation\">\u003Cspan>Serve it with the right content type, \u003C\u002Fspan>\u003Ccode>\u003Cspan>text\u002Fmarkdown; charset=utf-8\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan>, so it renders as markdown instead of downloading as a file.\u003C\u002Fspan>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli dir=\"ltr\" aria-level=\"1\">\n\u003Cp dir=\"ltr\" role=\"presentation\">\u003Cspan>Add a \u003C\u002Fspan>\u003Cspan>\u003Ccode>rel=\"alternate\u003C\u002Fcode>\"\u003C\u002Fspan>\u003Cspan> link in the page head pointing at the \u003C\u002Fspan>\u003Ccode>\u003Cspan>.md\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan>.\u003C\u002Fspan>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli dir=\"ltr\" aria-level=\"1\">\n\u003Cp dir=\"ltr\" role=\"presentation\">\u003Cspan>Add a visible link on the page so people and agents can find it.\u003C\u002Fspan>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp dir=\"ltr\">\u003Cspan>For the full setup, including content negotiation and headers, the&nbsp;\u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Fspecification.website\u002Fspec\u002Fagent-readiness\u002Fmarkdown-source-endpoints\u002F\">\u003Cspan>Website Specification\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan> goes deep. Anthropic, Stripe, Vercel, and Cloudflare all serve markdown versions of their docs.\u003C\u002Fspan>\u003C\u002Fp>",{"__typename":170,"id":199,"title":200,"body":201},"MFaZ0ryiQtqEALeVY9sl3Q","Let users chat with your page","\u003Cp dir=\"ltr\">\u003Cspan>This one helps your readers rather than your visibility, but it's worth copying, and you've almost certainly seen it. Docs sites now ship a small \"Copy page\" menu: copy the page as markdown, open the raw markdown, or start a chat about it in ChatGPT or Claude. Claude's own docs and Vercel both have it.\u003C\u002Fspan>\u003Cb>\u003C\u002Fb>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>It builds straight on the markdown work above. The chat option opens an AI with a prompt prefilled to point at your page's markdown, so a reader can start asking questions in one click. Both ChatGPT and Claude take the prompt from the URL (\u003C\u002Fspan>\u003Cspan>\u003Ccode>chatgpt.com\u002F?q=...\u003C\u002Fcode>\u003C\u002Fspan>\u003Cspan>). Why only those two? We'd happily add Mistral's Le Chat and Proton's Lumo, but neither supports this at the time of writing.\u003C\u002Fspan>\u003Cb>\u003C\u002Fb>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>We put this on all our blog posts, including the one you're reading right now.\u003C\u002Fspan>\u003C\u002Fp>",{"__typename":170,"id":203,"title":204,"body":205},"eSCQ3v75RkSZVoDNtCjbCA","llms.txt: worth it?","\u003Cp dir=\"ltr\">\u003Cspan>Probably not for citations, but it's cheap and some tools read it.&nbsp;\u003C\u002Fspan>\u003Ccode>\u003Cspan>llms.txt\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> is a proposed file at your site root, a curated markdown map of your content, pitched as an \"AI sitemap\" like \u003C\u002Fspan>\u003Ccode>\u003Cspan>sitemap.xml\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan>.\u003C\u002Fspan>\u003Cb>\u003C\u002Fb>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>The evidence isn't kind. \u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Fseranking.com\u002Fblog\u002Fllms-txt\u002F\">\u003Cspan>SE Ranking checked 300,000 domains\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan> and found no link between having an \u003C\u002Fspan>\u003Ccode>\u003Cspan>llms.txt\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> and getting cited, only about 10% of sites use it, and Google has said it has no plans to support it. Where it does get used is developer tooling. It's a clean way to feed your docs to AI coding assistants. LangChain, for example, publishes an \u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Fdocs.langchain.com\u002Fllms.txt\">\u003Cspan>llms.txt\u003C\u002Fspan>\u003Cspan> for its own docs\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan> and built a server to hand these files to IDE agents. So if you ship developer docs and your audience uses those tools, it's worth having.\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>Add one if you already serve markdown, it's quick and harmless. Just don't count on it for visibility, or put it ahead of the things that actually work.\u003C\u002Fspan>\u003C\u002Fp>",{"__typename":170,"id":207,"title":208,"body":209},"IM4tIgClSJSaKff9u-KEgg","Make your content worth citing","\u003Cp dir=\"ltr\">\u003Cspan>Now the editorial side. Is your content actually worth citing? This part is mostly content work\u003C\u002Fspan>\u003C\u002Fp>",{"__typename":170,"id":211,"title":212,"body":213},"OIEikk_1S-S6C2PpYjt9sQ","Write chunk-friendly content","\u003Cp>Retrieval (RAG) doesn't grab your whole page. It splits the page into chunks and pulls the few that match the question, so each chunk needs to make sense on its own.\u003C\u002Fp>\n\u003Cp>Write each section so it works without the rest of the page around it. Give it a clear heading, keep it focused on a single point, and answer that point inside the section instead of relying on something three paragraphs up. Short, self-contained sections work better than one long argument, because the model might only ever see one of them.\u003C\u002Fp>\n\u003Cp>That's also why the markdown version helps: clean structure makes for clean chunks.\u003C\u002Fp>",{"__typename":170,"id":215,"title":216,"body":217},"eFiFmcQrQQWg2hk0WIn8_w","Answer the question first","\u003Cp>Put the answer in the first sentence, then explain it. The reader gets the point straight away, and so does the model.\u003C\u002Fp>\n\u003Cp>Phrase your headings as the questions people actually ask, and answer each one in the opening line. The model matches your content against a question, so a section that leads with the answer is easy to pull and cite. Everything after that first line is supporting detail: the why, the caveats, the example.\u003C\u002Fp>\n\u003Cp>This post does the same: the first line answers the heading, the rest backs it up.\u003C\u002Fp>",{"__typename":170,"id":219,"title":220,"body":221},"KB3s7VgvSlao5ocUTt4QZA","Publish original data","\u003Cp>Run your own research, surveys, or benchmarks and publish the numbers. When a model uses a fact, it has to attribute it, and if the fact came from you, you're the attribution.\u003C\u002Fp>\n\u003Cp>Original data is some of the most citable content you can make. Models lean on verifiable, sourced facts, and a number that only exists on your page leaves them no one else to credit. Repeat what everyone already says and you're just one of a dozen interchangeable sources.\u003C\u002Fp>",{"__typename":170,"id":223,"title":224,"body":225},"SOvaHhYMQS6JofibHrMiTQ","Keep content fresh","\u003Cp>Update your important pages and show when you last did it. AI search leans toward recent content, so a page that was clearly updated last month has an edge over one that looks five years old.\u003C\u002Fp>\n\u003Cp>Put a visible update date on the page and set \u003Ccode>dateModified\u003C\u002Fcode> in your schema. Revisit your cornerstone pages on a schedule, fix what's gone stale, and bump the date when you do.\u003C\u002Fp>\n\u003Cp>It's an uneven signal, stronger in ChatGPT and Perplexity, lighter in Claude. But it's one of the few you can change on demand, so it's worth the habit.\u003C\u002Fp>",{"__typename":170,"id":227,"title":228,"body":229},"VhQMloFySoK9pX7I5FvjLA","Separate information from sales","\u003Cp>Keep your informational pages focused on answering, not selling. Models favour content that informs over content that pitches, so a page stuffed with sales copy and calls to action gets cited less than one that just answers the question.\u003C\u002Fp>\n\u003Cp>Put the conversion work somewhere else. Let your guides, docs, and explainers do the explaining, and keep the \"book a demo\" and \"buy now\" pages separate. You still get the sale, the model just has a clean page to cite on the way there.\u003C\u002Fp>",{"__typename":170,"id":231,"title":232,"body":233},"RZd9ukklSKet0Ebl2DkLSg","Earn off-site authority","\u003Cp>Some of what gets you cited doesn't live on your site at all. Models weigh how often you're mentioned across other trusted places, so being talked about elsewhere matters too, not just the work you do on your own pages.\u003C\u002Fp>\n\u003Cp>Earn mentions where it counts: industry sites, reviews, and active communities. Reddit carries real weight here, partly because \u003Ca href=\"https:\u002F\u002Fblog.google\u002Fcompany-news\u002Finside-google\u002Fcompany-announcements\u002Fexpanded-reddit-partnership\u002F\">Google\u003C\u002Fa> and OpenAI have paid \u003Ca href=\"https:\u002F\u002Fredditinc.com\u002Fnews\u002Freddit-and-google-expand-partnership\">licensing deals\u003C\u002Fa> for its data, used both to train models and to surface Reddit in their answers. When reputable sources reference you, the model trusts you more and is more willing to cite your pages. Sometimes it cites the other site instead, and over time those mentions feed what the model knows about you, no search required.\u003C\u002Fp>\n\u003Cp>Keep in mind, this one is correlation, not a guarantee. Brands that get talked about tend to get cited, but one mention won't do it. Treat it as recognition you build over time, not a quick win.\u003C\u002Fp>",{"__typename":170,"id":235,"title":236,"body":237},"QNV1VCmJQfqsNT59InJ3FQ","How to know it's working","\u003Cp dir=\"ltr\">\u003Cspan>Start with your analytics. If people are arriving from \u003C\u002Fspan>\u003Ccode>\u003Cspan>chatgpt.com\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan>, \u003C\u002Fspan>\u003Ccode>\u003Cspan>perplexity.ai\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan>, and the like, AI tools are surfacing your pages and sending you traffic. It's the easiest signal, and you can check it today.\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>The catch is that referral traffic only counts clicks. Much of AI use is zero-click: the model answers from your page and the reader never visits. So you can be cited often and still see small numbers.\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>For the fuller picture, track your share of answers. Take a fixed set of questions your audience would ask, run them through the LLMs, and count how often you show up. Run each question a few times, since answers vary, and check each engine on its own. It's a chore by hand, so tools like&nbsp;\u003C\u002Fspan>\u003Ca href=\"https:\u002F\u002Fpromptwatch.com\u002F\">\u003Cspan>Promptwatch\u003C\u002Fspan>\u003C\u002Fa>\u003Cspan> can run it for you.\u003C\u002Fspan>\u003C\u002Fp>",{"__typename":170,"id":239,"title":240,"body":241},"dl20ZfvPQZOozV5A4bB9bQ","Wrapping up","\u003Cp dir=\"ltr\">\u003Cspan>None of this is magic, and you don't need all of it. Most of it is good web hygiene aimed at a new goal: being the source a model reaches for. Make sure the bots can reach you, serve clean content, and be worth citing, and you've covered most of the ground.\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>This groundwork pays off for your own site too. The same setup makes it easier to add features like AI-assisted search or a chat assistant: your content is already in clean chunks, and your&nbsp;\u003C\u002Fspan>\u003Ccode>\u003Cspan>llms.txt\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> doubles as an editorial steer on which pages matter most.\u003C\u002Fspan>\u003C\u002Fp>\n\u003Cp dir=\"ltr\">\u003Cspan>The specifics will keep shifting. New conventions like&nbsp;\u003C\u002Fspan>\u003Ccode>\u003Cspan>llms.txt\u003C\u002Fspan>\u003C\u002Fcode>\u003Cspan> get proposed, crawlers change their rules, and what helps in one model matters less in another. But the direction holds: clear, reachable, trustworthy content is what gets picked. Start with the basics and adjust as the tools do.\u003C\u002Fspan>\u003C\u002Fp>",[],[244,255],{"slug":245,"title":246,"date":247,"authors":248},"making-your-design-system-agent-ready","Make your design system agent-ready","2026-06-30T10:37:20.000+02:00",[249],{"name":250,"image":251},"Sjoerd",{"url":252,"alt":154,"width":253,"height":254},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1683534892-sjoerd.jpg",1637,2182,{"slug":256,"title":257,"date":258,"authors":259},"how-close-to-the-user-should-your-code-be","How close to the user should your code be?","2025-10-30T10:07:10.411+01:00",[260],{"name":261,"image":262},"Jasper",{"url":263,"alt":154,"width":264,"height":265},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1683535518-jasper.jpg",1892,2523,[267,298],{"id":268,"title":269,"slug":270,"blogPosts":271},"b-HOCOQTRJKMsff0UxhDcg","Web performance ","web-performance",[272,283,287],{"slug":273,"title":274,"date":275,"authors":276},"reclaiming-digital-sovereignty-on-european-infrastructure","Reclaiming Digital Sovereignty on European Infrastructure","2026-01-29T12:02:28.591+01:00",[277],{"name":278,"image":279},"Luuk",{"url":280,"alt":154,"width":281,"height":282},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1721036156-luuk-edit-edit.jpg",2198,2969,{"slug":256,"title":257,"date":258,"authors":284},[285],{"name":261,"image":286},{"url":263,"alt":154,"width":264,"height":265},{"slug":288,"title":289,"date":290,"authors":291},"lessons-learned-debugging-inp"," Lessons learned debugging Interaction to Next Paint (INP)","2024-08-16T09:46:11.712+02:00",[292],{"name":293,"image":294},"Declan",{"url":295,"alt":154,"width":296,"height":297},"https:\u002F\u002Fwww.datocms-assets.com\u002F6524\u002F1683534636-placeholder.jpg",1235,1646,{"id":299,"title":300,"slug":301,"blogPosts":302},"NJN9K2rdSY2pn9MvchHLtw","Strategy","strategy",[303,307,311],{"slug":245,"title":246,"date":247,"authors":304},[305],{"name":250,"image":306},{"url":252,"alt":154,"width":253,"height":254},{"slug":273,"title":274,"date":275,"authors":308},[309],{"name":278,"image":310},{"url":280,"alt":154,"width":281,"height":282},{"slug":256,"title":257,"date":258,"authors":312},[313],{"name":261,"image":314},{"url":263,"alt":154,"width":264,"height":265},1788443880270]