Platform guide
Drupal
Capable of more than any other platform here, and the most likely to be misconfigured. The work is configuration rather than code.
Drupal can do all of this properly. It has structured content, fine-grained field control and mature modules for metadata. What it does not have is a sensible default, so two Drupal sites can be at opposite ends of the score range with the same version installed.
The modules that matter
Schema.org Metatag — the main one. It extends the Metatag module to emit JSON-LD, mapped to your content types and fields. This is where most of pillar one is won.
Metatag — a dependency of the above, and what handles titles, descriptions and canonical URLs.
Simple XML Sitemap — generates and maintains a sitemap. Configure which content types are included; the default includes more than you want quoted.
That is usually enough. Resist adding more — the common Drupal failure is four modules emitting overlapping metadata and no one knowing which is winning.
The configuration that actually matters
Schema.org Metatag works by mapping content types to schema types. Do that mapping deliberately. An Article content type mapped to Article is obvious; a Service content type mapped to Service with the right fields is where the value is.
Map your fields too, not just the type. Schema with a name and nothing else tells an assistant almost nothing.
The rendering question
Standard Drupal renders server-side, which is the right answer here. If you are running a decoupled front end — Drupal as an API with React or Vue in front — you have the same problem as any JavaScript application: check that content exists in the HTML before scripts run, and use server-side rendering if it does not.
This is worth checking rather than assuming. A decoupled Drupal site can look fine to a visitor and be nearly empty to a crawler.
llms.txt and robots.txt
Both go in the web root as plain files. Drupal ships a robots.txt it will happily overwrite on update, so if you edit it, note that somewhere or manage it outside the repository.
Once configured, run the free check on a real node rather than the front page — content type mappings are where the mistakes live.
Common questions
Which Drupal modules do I actually need?
Metatag, Schema.org Metatag and Simple XML Sitemap will cover almost all of it. Adding more usually creates conflicts rather than coverage.
Why do two Drupal sites score so differently?
Because Drupal has no opinionated default. Everything depends on how content types and fields were mapped to schema types, which is configuration rather than code.
Take this to your assistant
Paste it into ChatGPT, Copilot, Claude or Gemini and apply it to your own website.
Nothing is sent anywhere. The text is copied to your clipboard.