Digital.Services / 2021

Case study  ·  SEO & AEO  ·  this website

How this website is built for search engines and AI answer engines.

Short answer

digitalservices.me is Digital Services' own website and a working example of how it builds SEO and AEO into a site: 32 pages of server-rendered HTML, structured data on every page, an llms.txt summary and a Markdown copy of each page for language models, a robots.txt that admits 22 named AI crawlers, honest modification dates and IndexNow notifications when pages change. This page lists what is in place and measures it; it does not yet claim rankings or citations.

01 What is in place

Ten things, measured.

The figures below are measured from the site itself every time it is built, so they stay true as it changes.

PracticeHow it is done hereWhy it matters
Server-rendered HTMLAll 32 indexable pages are plain HTML files generated before upload. No content needs JavaScript to appear.AI crawlers generally do not run JavaScript when they fetch a page, so text that only appears in the browser is invisible to them.
Page weightMedian page 6.9 KB compressed, largest 11.0 KB. One stylesheet (6.6 KB) and one small script (1.6 KB) serve the whole site.Light pages load fast on mobile and are cheap for crawlers to fetch in full.
Structured data32 of 32 pages carry JSON-LD, using 16 schema.org types: AboutPage, Article, BreadcrumbList, CollectionPage, ContactPage, FAQPage, ItemList, ItemPage, MobileApplication, Organization, ProfessionalService, Service, SoftwareApplication, TechArticle, WebPage, WebSite.It confirms who the business is, the same way on every page. It is entity infrastructure, not a citation trick.
Answer-first pages20 pages open with a short, self-contained answer directly under the main heading.A plainly stated answer near the top of a page is what an answer engine can lift and attribute.
Open to AI crawlersrobots.txt names 22 AI crawlers and allows them, and no CDN sits in front of the site blocking them by default.A page that cannot be fetched cannot be quoted, however good it is.
llms.txt and Markdown copiesAn llms.txt summary, an llms-full.txt with the whole site in one file, and a Markdown copy of each of the 32 pages, linked from every page.It gives language models clean text without navigation or layout. Few AI companies have confirmed they use these files, so this is cheap insurance, not a ranking factor.
Honest update datesEvery page shows when its content last changed, and the same date goes into its structured data and the sitemap. A date moves only when the content does.Engines weigh freshness; dates that change on every rebuild teach them to ignore yours.
IndexNowWhen a page changes, its address is sent to IndexNow, which notifies Bing and the other participating search engines.Search engines hear about a change when it happens, instead of waiting for their next crawl. Bing's index also feeds AI assistants such as Microsoft Copilot.
One source of truthEvery page, the structured data, the sitemap and llms.txt are generated from a single file of facts.The facts can't drift between pages, which makes the business easier for engines and models to describe correctly.
One address per pagehttp, www and /index.html variants all redirect to a single canonical address; Markdown copies point back to their HTML page.Signals are not split across duplicate addresses.

02 What we don't do

The shortcuts we leave out.

  • No text hidden from people and shown only to crawlers.
  • No invented figures, reviews or client logos.
  • No pages written around a keyword count.
  • No FAQ markup added in the hope that it gets a page cited on its own.

03 What this page doesn't claim

No results yet — on purpose.

There are no ranking, traffic or AI-citation figures here. The site was repositioned in November 2026, and anything measured so soon would say more about timing than about the method. This page will be updated as real data comes in.

Want your website built the same way?

Every website we build gets SEO and AEO in its structure, and we keep managing both after launch.

Last updated  ·  Read this page as Markdown