Drupal is an excellent platform for SEO-driven sites — when configured correctly. Out of the box, it has several anti-patterns that hurt search performance. This is the checklist we run on every Drupal project before and after launch.
Technical foundation
URL structure
Install and configure Pathauto. The default Drupal URLs (/node/42) are not acceptable for production. Create patterns for each content type: /[node:content-type]/[node:title] is a reasonable starting point, but think about your content hierarchy. For a blog: /blog/[node:title]. For services: /services/[node:title]. Keep URLs lowercase, hyphen-separated, and ideally under 75 characters.
Also install the Redirect module and configure it to automatically create redirects when URLs change. The "generate automatic URL alias" on save option should be enabled, but "create a new alias" rather than "delete the old alias" — the redirect module handles the old URL gracefully.
XML sitemap
Simple Sitemap is the current standard for Drupal. Configure it to include all published content types, taxonomy terms if they have their own pages, and views that generate listing pages. Exclude admin pages, user profile pages, and any URLs that return 403/404 responses.
Submit your sitemap to Google Search Console. Set the sitemap URL in your robots.txt. Check monthly that it's being crawled and that all listed URLs return 200 responses.
Robots.txt
Drupal generates a robots.txt by default. Review it. Add Disallow rules for /admin/, /user/, /search/, and any other pages you don't want indexed. Add your sitemap URL. If you're running a staging environment, the robots.txt should disallow all crawling — use the Environment Indicator module to make this automatic based on the environment.
Canonical URLs
Drupal generates canonical link tags for nodes. Verify they're present and correct on every content type. Common problems: views that display the same content at multiple URLs without canonical tags, and content that's accessible both at its node path and through a view path.
The Metatag module
Install Metatag and configure global defaults first, then override at the content type level, then at the individual node level. This hierarchy prevents the most common SEO mistake: leaving fields blank because no one set defaults.
Critical meta tags: title (configure the pattern, don't just use the node title — add the site name), description (use the summary field or a truncated version of the body), og:image (set a default and allow override per node), canonical URL.
Don't install Metatag and leave all fields at their default values. That's worse than not having the module — it generates empty meta tags that confuse crawlers.
Content structure
Heading hierarchy
Each page should have exactly one H1 — the node title. The body content should use H2 for top-level sections, H3 for subsections. This sounds obvious but it's routinely broken when editors use heading levels for visual styling rather than semantic structure. CKEditor 5 can be configured to restrict heading options — do this.
Internal linking
Drupal doesn't help you with internal linking out of the box. The Linkit module improves the editor experience for linking to other nodes, but the content strategy itself requires editorial discipline. At minimum, every piece of content should link to the primary service or topic page it relates to. Consider adding a "Related content" field and populating it for your top-traffic pages.
Page speed
See our Core Web Vitals guide for the full treatment. The short version: enable Drupal's page cache and dynamic page cache, use Redis for the database cache, serve images as WebP, and use CSS/JS aggregation in production.
Monitoring
Connect Google Search Console and submit your sitemap. Set up Google Analytics 4 with server-side events for form submissions. Review Search Console monthly — crawl errors, coverage issues, and manual actions require prompt attention. Set up alerting for significant drops in impressions.
The Search Console URL Inspection tool is your first debugging stop when a specific page isn't ranking. Check the indexed URL, the canonical as Google sees it, and whether the page has been crawled recently.
Run this checklist at project launch. Run it again three months after launch when you have real crawl data to verify against. Our SEO & Performance service includes a full technical audit with prioritized fixes.