Get a Drupal SEO Audit

Test your site below to see which issues need to be fixed. We will fix them and optimize your site 100% for Google and Bing. (Allow 30-60 seconds to gather data.)

Powered by

Drupal SEO: On-Page Master Configuration

Without proper configuration, your site is never going to get the traffic results that you desire. Our Drupal SEO experts know exactly the tweaks you need to get the Google love. This is a must before you look at doing any off-site SEO.

This service includes these details and more:

  • Pathauto install and configuration for SEO-friendly URLs.
  • Meta Tags install and configuration with dynamic tokens for meta titles and descriptions for all content types.
  • Install and fix all issues on the SEO checklist module.
  • Install and configure XML sitemap module and submit sitemaps.
  • Install and configure Google Analytics Module.
  • Install and configure Yoast SEO.
  • Install and configure the Advanced Aggregation module to improve performance by minifying and merging CSS and JS.
  • Install and configure Schema.org Metatag.
  • Configure robots.txt.
  • Google Search Console setup snd configuration.
  • Find & Fix H1 tags.
  • Find and fix duplicate/missing meta descriptions.
  • Find and fix duplicate title tags.
  • Improve title, meta tags, and site descriptions.
  • Optimize images for better search engine optimization. Automate where possible.
  • Find and fix the missing alt and title tag for all images. Automate where possible.
  • The project takes 1 week to complete.

Drupal SEO Frequently Asked Questions

What is On-site SEO?

Before you can give attention to offsite optimizations like backlinking, social relevance, and visibility throughout the web, you must be sure your website is correctly configured. On-site SEO (or on-page SEO) is the practice of optimizing elements within a content management system-based website in order to rank higher and earn more relevant traffic from search engines.

What modules are used for Drupal On-page SEO?

Here is a list of modules used for Drupal on-site SEO and associated tasks. 

What is the Drupal SEO Checklist?

The SEO Checklist module is a critical tool in optimization for Drupal. It uses Drupal best practices to check your website across all points for ideal search engine optimization. Over the course of our optimization workflow, we go through the SEO checklist task by task.

The SEO Checklist does several things that speed up work optimization. For example, it provides a to-do list with a checkbox for each module to install and a task to complete, organized by function. It also checks for installed modules and checks them off.

Why should I improve my Drupal URLS for SEO?

URLs and paths lay the groundwork for many other aspects of SEO. They’re the hardest item to change once they’re set. It’s important to get them right. Just URLs have the power to turn a good site into a great site. We optimize a site’s URLs, setting up redirects, and creating Pathauto patterns for keyword-rich paths.

How do meta tags affect Drupal SEO?

We address the SEO keys related to your meta tags. We set up site-wide meta tags and title tags using the Metatag module, and make sure that non-translated pages have proper tags using the alternate hreflang module. We ensure that the site is communicating with Google, Facebook, and Twitter across each page of content using meta tags. This is a major requirement for SEO.

How does Drupal communicate with search engines?

We will optimize your website's communication with the search engines. We will create search engine accounts, build sitemaps, authenticate ownership, and submit the website's content to the search engines so your site is fully represented in the major search engines. We use Google Analytics to see what visitors are doing on your site. It’s an important step in making Drupal 8 effective in helping you make marketing decisions.

How do you optimize Drupal content for SEO?

We add breadcrumbs to the top of site pages. RDF markup will be added to help search engines better understand the content. We create valid, aliased, marked up links throughout the content. Overall, the content is more optimized for Google and Drupal on-page SEO.

IS code validation important to Drupal SEO?

We validate the website’s code, create a sitemap for your visitors, and make sure they can find content when they are lost. These are requirements to make sure visitors and Google can find the site, see what’s there, get to the content they want, and engage it easily.

How do you optimize Drupal pages for SEO?

We optimize keywords on nodes with the Yoast SEO module. Set-up revisions tracking. tracking revisions to your content, so you an admin easily see what changed on a node with the Diff module. We configure the site to publish and unpublish content on a schedule that meets content marketing needs with the Scheduler module. In all, we ensure properly optimized, trackable, and easily scheduled content.

Does Drupal site performance affect SEO?

On-page SEO won't matter if a site gets hacked or is slow. We complete twelve SEO items that improve security and speed. We fix any holes in the site’s security with the Security Review module. Block spam with the Mollom module. Make sure the website is transmitting securely to users’ browsers with HTTPS. 

We recommend items to optimize performance admin settings. Install the Advanced CSS/JS Aggregation module. Send correctly-sized images by setting up Image styles. We may verify the quality of hosting.

How do AMP Mobile Pages influence SEO?

AMP works by stripping pages down to their most essential parts and storing a cached version on Google servers, which allows them to deliver content almost immediately. Accelerated Mobile Pages, also called AMPs, are an open-source coding project created by Google to help websites load faster on mobile devices. We address the important aspects of mobile SEO including responsive design and the Accelerated Mobile Pages (AMP). We will address general aspects of social optimization.

How do I Configure Drupal 8 for On-Page or Onsite Drupal SEO?

The Drupal community has created tens of thousands of contributed modules. Every once in a while, a widely-used and well-written Contrib module is added to Core. This is one of the ways that Drupal Core gets new features. In fact, with the release of Drupal 8, several modules and functions that used to be Contrib are now included in Core. This means less installation, less code for you to update, and a more stable website.

The page at https://www.drupal.org/documentation/install/modules- themes/modules-8 has good explanations of the primary ways to install a module. If you’re working with a developer, ask her the best method as it can vary based on your server configuration, security, access levels, and what’s already installed. Below are the most popular methods.

How Do I install an SEO module using the Drupal admin interface?

This method is the easiest but least secure way to install a Drupal module. It’s not secure because you’re required to enter your File Transfer Protocol (FTP) password which is then transmitted in an unencrypted way to your server. If your enterprise security alarm bells are going off, skip this method. However, if you are practicing “security by obscurity”, this method is quick.

1. Copy the URL of the module file from the module’s project page on https://drupal.org/.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Click the + Install new module button and follow the prompts.

4. Paste the URL from step 1 into the Install from a URL field.

5. Click the Install button. You will see a confirmation screen like this one:

How do I Install a Drupal On-page SEO module using SFTP?

If your server supports SFTP, then you can securely upload modules to the server.

1. Download the module from the module’s project page on https://drupal.org/.

2. Extract the files. The downloaded module package will be in a compressed file such as ‘tar.gz’. Extract it using your system’s extraction program. Often, you can double-click the file and Windows or macOS will extract it for you.

3. Using an FTP program like WinFTP on Windows or Transmit on macOS, login to your server.

4. Upload the extracted Contrib module folder to the drupal/web/modules/contrib folder on your server.

How do I install an SEO module using the command line?

Composer, Drush and Drupal Console Using command-line tools like Composer (the PHP package manager), Drush (the DRUpal SHell), and Drupal Console (the new Command Line Interface for Drupal) can be the fastest and easiest way to install modules for the more technically-savvy marketer. These Command-Line Interfaces (CLI) are powerful ways to manage your Drupal 8 site, update Core and Contrib, and more. Most marketers aren’t going to get this deep into the technical side of things, but if you’re a techie marketer, these tools can save you hours every day.

1. SSH into your Drupal server. (If you don’t understand this step then you should skip this section.)

2. Navigate to your Drupal installation.

3. Enter the command for the system that you’re using: * Composer: composer require drupal/module_name * Drush: drupal module:download module_name * Drupal Console: drupal module:install module_name –latest

What Drupal modules are used for on-page Drupal SEO?

Here are the modules that you will install as you on-page SEO your Drupal website while going through this book. It may be easier to upload them all at once—just don’t enable them yet.

SEO Checklist module - https://www.drupal.org/project/seo_checklist

Admin Toolbar module - https://www.drupal.org/project/admin_toolbar

Coffee module - https://www.drupal.org/project/coffee

Pathauto module - https://www.drupal.org/project/pathauto

Redirect module - https://www.drupal.org/project/redirect

Metatag module - https://www.drupal.org/project/metatag

XML Sitemap module - https://www.drupal.org/project/xmlsitemap

Alternate hreflang module - https://www.drupal.org/project/hreflang

Google Analytics module - https://www.drupal.org/project/google_analytics

Easy Breadcrumbs module - https://www.drupal.org/project/easy_breadcrumb

RDF UI module - https://www.drupal.org/project/rdfui

Linkit module - https://www.drupal.org/project/linkit

D8 Editor Advanced link - https://www.drupal.org/project/editor_advanced_link

W3C Validator module - https://www.drupal.org/project/w3c_validator

Sitemap module - https://www.drupal.org/project/sitemap

Search 404 module - https://www.drupal.org/project/search404

Yoast SEO module - https://www.drupal.org/project/yoast_seo

Diff module - https://www.drupal.org/project/diff

Scheduler module - https://www.drupal.org/project/scheduler

Mollom module - https://www.drupal.org/project/mollom

Advanced CSS/JS Aggregation module - https://www.drupal.org/project/advagg

AMP module - https://www.drupal.org/project/amp

 

How do I use the Drupal Module Filter?

One of the handiest modules that moved from Contrib into Drupal 8 Core is the Module Filter module. This module adds a filter to the Extend section of Drupal admin. It allows you to quickly find the Core and Contrib modules installed on your site. When you go to Manage > Extend, you’ll see a field that says “Enter a part of the module name or description” under it. This easily missed field saves a lot of time when installing (and uninstalling) modules. If you’ve recently installed a module but haven’t turned it on yet, use the module filter to narrow your choices and find the new module. Begin typing the name of the module into the field and Drupal will display any modules that match.

To enable a module, select the checkbox next to it and click the blue Install button. Drupal installs the module and you get the functionality that the module provides.

How do I install and enable the SEO Checklist Module for Drupal 8?

1. Install the SEO Checklist module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules.

3. Enter “seo checklist” into the module filter field to quickly find the SEO Checklist module.

4. Select the checkbox next to “SEO Checklist” and click the Install button at the bottom of the page.

5. You may get a message stating, “You must enable the Checklist API module to install Drupal SEO Checklist. Would you like to continue with the above?” If so, click the Continue button.

If necessary, give yourself permissions to use the SEO Checklist module.

1. Click Manage > People > Permissions (Coffee: “perm”) or visit http://yourDrupal8site.dev/admin/people/permissions.

2. Select the appropriate checkboxes for * “Edit any checklist” * “View any checklist” * “View the Checklists report” * “Edit the SEO checklist” * “View the SEO checklist checklist” (Yes, the word checklist appears twice.)

3. Click the Save permissions button at the bottom of the page.

How do I use the SEO Checklist module?

1. Go to Manage > Configuration > Search and metadata > SEO Checklist (Coffee: “seo”) or visit http://yourDrupal8site.dev/admin/config/search/seo-checklist in your browser.

2. You may see the message, “SEO checklist found X unchecked items…”. If you do, it means that there are some tasks already completed. Nice! You’re ahead of the game. If this happens, click the Save button near the bottom of the page.

3. Click on the Be efficient tab. You’ll notice: * A progress bar that shows you how many tasks remain; * Timestamps on your saved tasks (if you’ve done any yet); * Commands for Composer, Drupal Console, and Drush; * Task links to help you quickly get things done.

As you continue on your on-page Drupal SEO journey you can use the SEO Checklist module to make sure you’ve done all you can to get the most out of your Drupal 8 seo site.

How do I use the Coffee Module for Drupal SEO?

The Coffee module is the fastest way to get to any admin screen in Drupal. As you on-page SEO your Drupal 8 site, you will spend a lot of time jumping into admin to change a setting or check on updates. You’ll have to go through menu navigation if you don’t have the Coffee module. That’s fine, but sometimes it’s hard to remember where every single setting is.

With the Coffee module installed, you can type ALT-D on your keyboard (Option-D for macOS) to have a text field pop up. Start typing into this field and the Coffee module will show you the admin menu items that match. Press the Enter key to select the first item or use the arrow keys to select a different item and press the Enter key to go directly to the admin page that you want.

1. Install the Coffee module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules.

3. Select the checkbox next to “Coffee” and click the Install button at the bottom of the page.

If necessary, give yourself permissions to use the Coffee module.

1. Click Manage > People > Permissions (Coffee: “perm”) or visit http://yourDrupal8site.dev/admin/people/permissions.

2. Select the appropriate checkboxes for * “Access Coffee” * “Administer Coffee”

3. Click the Save permissions button at the bottom of the page.

How do I configure the Coffee module for SEO?

1. Go to the Coffee admin page: Click Manage > Configuration > User Interface > Coffee (Coffee: “coffee”) or visit http://yourDrupal8site.dev/admin/config/user- interface/coffee.

2. Select the checkbox next to any additional menus that you want to include in the Coffee interface. I typically include them all, but if it starts getting cluttered, then you can take them out later.

3. Click the Save configuration button at the bottom of the page.

The Coffee module makes getting to the right admin screen much quicker.

How do I use the Admin Toolbar Module for Drupal on-page SEO?

The Admin Toolbar module gives you one-click access to Drupal 8 admin screens. It works like the drop-down and slide-out menu system that is so popular on the web. While I prefer the speed and ease-of-use of the Coffee module, there are times I need to see the hierarchy. The Admin Toolbar module provides that ability.

Install and Enable the Admin Toolbar Module

1. Install the Admin Toolbar module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules.

3. Select the checkbox next to “Admin Toolbar”.

4. Click the Install button at the bottom of the page. The Admin Toolbar module uses the Admin menu permissions. If you can access the Admin menu, then you have the permissions you need.

How do I Enable Clean URLs for Drupal 8?

A query string is text in a URL preceded with a “?”. Drupal’s “clean URLs” rewrite query strings into human-readable text. Query strings get in the way of search engines. Google’s not bad at understanding URLs with query strings, but it does not always get it right. Make sure your URLs don’t contain query strings. Clean URLs are installed on your Drupal 8 site by default and cannot be turned off. But, it is possible that the proper software isn’t installed on your server, so it’s worth checking, just to be sure.

How do I tell if clean URLs are enabled in Drupal?

1. Open an Incognito window and go to the homepage of your website.

2. Click on a piece of content on your site. You need to navigate to an actual blog post or node, not the home page.

3. Look for “?q=” in the URL.
A. If the URL looks like this: http://drupal8.dev/my-blog-post- title then clean URLs are enabled and you can skip to the next section of the book.
B. If the URL looks something like this: http://drupal8.dev/?q=node/4 then clean URLs are not enabled. Continue in this section.
The URL on top is “clean”. The URL on the bottom is “dirty”.

How do I fix URLs if they are dirty?

Here’s the good news: there’s nothing you can do yourself to fix your dirty URLs. You need to get in touch with your developer or hosting company and say this magic sentence: “It looks like my URLs are dirty because I’m seeing “?q=” in the paths. Would you please enable mod_rewrite for Apache on my server?” You can point them to this URL: https://www.drupal.org/getting-started/clean- urls#dedicated which explains things in more detail, but the magic sentence above will normally get the job done. Once mod_rewrite is turned on, you should use an incognito window to test it again.

How do I use the Redirect Module for Drupal SEO?

The Redirect module creates 301 redirects from old URLs to new URLs on your website. 301 redirects help your SEO by making sure that any URL that ranks in Google will still resolve when a visitor arrives. If you don’t install this module, you will have to regularly look for any URL that changed and fix them. There are reports in Google Search Console that can help, but it’s better to prevent missing pages from the start. This module highlights the power of Drupal, automating what used to be an arduous and ongoing SEO chore. Thanks to the power of Drupal 8 and the Redirect module, fixing links is a much less frequently needed task.

1. Install the Redirect module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules.

3. Select the checkbox next to “Redirect” and click the Install button at the bottom of the page.

If necessary, give yourself permissions to use the Redirect module.

1. Click Manage > People > Permissions (Coffee: “perm”) or visit http://yourDrupal8site.dev/admin/people/permissions.

2. Select the appropriate checkbox for “Administer URL redirections”.

3. Click the Save permissions button at the bottom of the page.

How do I configure the Drupal Redirect Module for SEO?

1. Visit the Redirect Admin page: Click Manage > Configuration > Search and metadata > URL redirects > Settings (Coffee: “url redirect” then click the Settings tab) or visit http://yourDrupal8site.dev/admin/config/search/redirect/sett ings.

2. Make sure your settings match the image above. These are the correct settings for most websites. A. Select the appropriate checkbox next to “Automatically create redirects when URL aliases are changed”. B. Select the checkbox “Retain query string through redirect”. C. Select “301 Moved Permanently” from the “Default redirect status” drop-down. D. Select the checkbox “Redirect from paths like index.php and /node to the root directory”. E. Select the checkbox “Redirect from non-clean URLs to clean URLs.” F. Select the checkbox “Redirect from non-canonical URLs to the canonical URLs”. G. Select the checkbox “Normalize aliases”. H. Select the checkbox “Taxonomy Term Path Handler”.

3. If you changed anything, click the Save configuration button at the bottom of the page.

How do I create a manual redirect in Drupal?

The Redirect module also allows you to create manual redirects. If you move content, put the wrong URL on some printed advertising, or you’re migrating content, this is an invaluable function to understand.

1. Go to the URL Redirects page: Click Manage > Configuration > Search and metadata > URL redirects (Coffee: “redirects”) or visit http://yourDrupal8site.dev/admin/config/search/redirect.

2. Enter the From and To URLs. A. “From” is the old URL that is broken. B. “To” is the new URL. If it’s a link on your site, you can use just the path beginning with the /. For example: /your/path/here. If it’s an external URL, put the entire URL including the http://.

3. Select “301 Moved Permanently” (or one of the other options as suited to the situation) from the Status code drop-down menu.

4. Set the “Original language” as appropriate.

5. Click the Apply button. Now, when someone visits the old URL, they’ll be automatically redirected to the new one.

How do I use the Pathauto Module for Drupal SEO?

https://www.drupal.org/project/pathauto

The Ctools module is required: https://www.drupal.org/project/ctools

The Pathauto module generates URLs for your content without requiring you to enter the path alias manually. In other words, if the title of your new blog post is “My Big Cat” then Pathauto will set the URL to yourDrupal8site.dev/my-big-cat instead of yourDrupal8site.dev/node/23. Putting the right words in the URL is great for SEO, so this module is essential to your project. If you don’t use the Pathauto module, you must remember to create every single content URL on your website manually.

How do I install and enable the Pathauto Module?

1. Install the Pathauto module and required Ctools module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules.

3. Select the checkbox next to Pathauto and click the Install button at the bottom of the page. You may get a message asking for your permission to install the Ctools module. If you do, click the Continue button.

If necessary, give yourself permissions to use the Pathauto module.

1. Click Manage > People > Permissions (Coffee: “perm”) or visit http://yourDrupal8site.dev/admin/people/permissions.

2. Select the appropriate checkboxes for * “Administer pathauto” * “Notify of Path Changes”

3. Click the Save permissions button at the bottom of the page.

gs.

How do I configure the Pathauto module for Drupal SEO?

The Pathauto module adds four tabs to the URL aliases admin page. They are Patterns, Settings, Bulk generate, and Delete aliases.

1. Go to the Pathauto admin page: Click Manage > Extend (Coffee: “URL aliases”) or visit http://yourDrupal8site.dev/admin/config/search/path/patterns.

2. Click on Settings. The default settings are fine for most websites but check them to be sure that they haven’t been changed. An important setting to double check is Update action. Ensure that Create a new alias. Delete the old alias. is selected.

3. If you changed anything, click the Save configuration button at the bottom of the page.

4. Click on the Redirect module settings link just below the Update action section.

5. Update your settings to match those in the box above:
A. Select “Automatically create redirects when URL aliases are changed”.
B. Select ‘Retain query string through redirect”.
C. Set Default redirect status to “301 Moved Permanently”.

6. After any changes, be sure to click the Save configuration button at the bottom of the page.

A Brief Overview of the Token System To fully take advantage of patterns, you need to understand a little about the Token system. Tokens are variables in Drupal. There are thousands of Tokens available for you to use. To see what they are and get a better understanding of how they work you can visit http://yourDrupal8site.dev/admin/help/token.

For now, we are going to focus on just a handful of critical Tokens that we’ll use to create our URL path patterns. They are: [node:title] - The title of the piece of content being displayed. [term:vocabulary] - The vocabulary (top level category, so to speak) of the current term.

[term:name] - The name of the current term (bottom level category).

How do I create Drupal Pathauto Patterns?

Drupal URL paths operate in patterns. Instead of creating a path to every single piece of content, it’s better to specify a pattern (using tokens) for groups of content. Drupal will follow the pattern to create the path for each new piece of content, ensuring consistency across your website. You’re going to add a Pathauto pattern for each Content Type and taxonomy that you have.

1. On the URL alias > Pattern tab (or visit http://yourDrupal8site.dev/admin/config/search/path/patterns) , click the + Add Pathauto pattern button.

2. From the Pattern type drop-down, select Content. Several more fields will be displayed.

3. Fill out the fields as shown. A. Path pattern: “[node:title]” B. Content type: select “Article” and “Basic page” C. Label: Anything goes. I use the name of the Content Types: Articles & Basic D. Select the Enabled checkbox.

4. Click the Save button near the bottom of the page. The resulting page will look something like this:
The [node:title] will be replaced with a normalized version of the title of the content. Drupal will turn the letters lowercase, replace spaces with dashes, and remove any odd characters.

5. Repeat for each of your Content Types.

How do I use the Metatag Module for Drupal on-site SEO?

https://www.drupal.org/project/metatag

About the Metatag module

The Metatag module allows you to set up Drupal 8 to dynamically provide title tags and structured metadata, aka meta tags, on each page of your site.
Giving you control over your HTML title tag is the most important thing that the Metatag module does for on-page Drupal SEO. That all-important tag is critical to your search engine ranking. Besides handling the title tag, the Metatag module programmatically creates meta tags for your website. Meta tags are snippets of text that tell a search engine about your pages. Meta tags help your SEO by communicating clearly to the search engine and social networks what each page on your website is about and how you want them to describe it in the search results. If you don’t do this, you will have to rely on search engines to identify and classify your content. While they’re kind of good at this, it’s important enough that you don’t want to leave it to chance.

Install and Enable the Metatag Module

1. Install the Metatag module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules.

3. Select the checkboxes next to: * “Metatag” * “Metatag: Google Plus”
* ‘Metatag: Open Graph’ * “Metatag: Twitter Cards” * ‘Verification’

4. Click the Install button at the bottom of the page. You may get a message asking for your permission to install the Token module. If you do, click the Continue button.

If necessary, give yourself permissions to use the Metatag module.

1. Click Manage > People > Permissions (Coffee: “perm”) or visit http://yourDrupal8site.dev/admin/people/permissions.

2. Select the appropriate checkbox for “Administer Metatag”.

3. Click the Save permissions button at the bottom of the page.

How do I use the Alternate Hreflang module for on-page Drupal SEO?

https://www.drupal.org/project/hreflang

About Alternate Hreflang module
The Alternate hreflang module automatically adds hreflang tags to your pages. Search engines reference the alternate hreflang tag to serve the correct language or regional URL in search results which is important for multilingual websites. In Drupal 8, the Core Content Translation module does already add hreflang tags to translated entity pages. Hreflang tags should be added to all pages, even untranslated ones. This module takes care of this for you.

Install and Enable the Alternate hreflang module

1. Install the Alternate hreflang module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”)

3. Select the checkbox next to “Alternate hreflang” and click the Install button at the bottom of the page. There are no permissions to set or further settings to change.

How do I use the XML Sitemap Module for onsite Drupal SEO?

https://www.drupal.org/project/xmlsitemap

About the XML Sitemap module
The XML Sitemap module creates an XML Sitemap of your content that you can submit to the search engines. An XML sitemap is a specially formatted summary of each piece of content on your website. You can read more at http://www.sitemaps.org/.

Having an XML sitemap helps your SEO by giving Google a list of the pages that you wish them to crawl. While Google can crawl your site without an XML sitemap, bigger and more complex sites confuse the crawler so it could potentially miss pages and even whole sections. If you don’t do this, you will have to manually submit every single page of your site to Google which is ridiculously time-consuming.

Install and Enable the XML Sitemap Module

1. Install the XML Sitemap module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules. 3. Select the checkbox next to “XML sitemap”, “XML sitemap custom”, and “XML sitemap engines” and click the Install button at the bottom of the page.

If necessary, give yourself permissions to use the XML Sitemap module.

1. Click Manage > People > Permissions (Coffee: “perm”) or visit http://yourDrupal8site.dev/admin/people/permissions.

2. Select the appropriate checkbox for “Administer XML sitemap settings”.

3. Select the appropriate checkbox for “User > View user information” if you wish for your XML sitemap to include user information.

4. Click the Save permissions button at the bottom of the page.

The XML sitemap is automatically updated when Cron runs. That makes it unnecessary to rebuild your sitemap again unless you run into problems.

Set up Cron
Cron is a system built into your server that runs maintenance tasks on a regular basis. The Drupal cron tasks maintain and clean up your Drupal site. It does things like check for updates, indexes content, and rebuilds XML sitemaps.

1. Click Manage > Configuration > System > Cron (Coffee: “cron”) or visit http://yourDrupal8site.dev/admin/config/system/cron in your browser.

2. Set Run cron every to “3 hours”. You can set this to be more frequent or less frequent depending on how often you update your website.

3. Click the Save configuration button at the bottom of the page.
Now your XML sitemap will stay up to date with your site content.
To view your XML sitemap, visit http://yourDrupal8site.dev/sitemap.xml. In the next few sections, we’ll submit your newly created XML sitemap to Google and Bing.

Submit your site to Google
An account with Google is a gateway to many excellent tools offered by the world’s largest search engine. You will get access to: * Google Search Console (previously known as Google Webmaster Tools)—a free web service for webmasters. It allows you to check indexing status and optimize the visibility of your websites. * Google Analytics—a free web analytics service that tracks and reports website traffic, sources, usage, and more. * Google Adwords Keyword Planner—a free keyword research tool that allows you to see how many times words and phrases are searched in Google. * and much more.
If you don’t already have one, sign up for free at https://accounts.google.com/SignUp

How do I verify my site with the Google Search Console?

By verifying your website, you prove to Google that you own that domain. Then, Google will accept your XML sitemap and start sending you alerts if there are any issues with your site.
1. Sign-in to Google Search Console at https://www.google.com/webmasters/.

2. Put your website’s URL in the field provided. If you use HTTPS, be sure to include the “s” as Google treats them as two separate sites.

3. Click the red Add a Property button.

4. You can authenticate with your Domain Name provider. Often, that option is challenging and time-consuming. Fortunately, there are easier methods available.

5. Click the Alternate methods tab.

6. Select the HTML tag radio button.

7. Copy just the content part of the meta tag from the page. You may need to copy the entire line into a text editor and then copy the code. The piece you need looks something like this: cI6eQDoCfyX5evqvtJagR3LkKYLUgFsWqeqw-B7EK-0

8. On your Drupal 8 site go to Manage > Configuration > Search and metadata > Metatag (Coffee: “metatag”) or visit http://yourDrupal8site.dev/admin/config/search/metatag in your browser.

9. Click the Edit button next to “Front Page”.

10. Under Site Verification > Google, paste in the meta tag copied from Google Search Console.

11. Click the Save button at the bottom of the page.

12. Go to Admin > Configuration > Performance (Coffee: “performance”). Click the Clear all caches button.

13. Go to the front page of your website. View source and search for google-site-verification. You will see the new meta tag as highlighted in the screenshot.

14. Return to Google Search Console and click the Verify button.

15. You will get a message that says “Congratulations, you have successfully verified your ownership of http://yourDrupal8site.dev/.” ? Submit XML sitemap to Google

How do I submit an XML sitemap to Google for on-site Drupal SEO?

1. Visit Google Search Console at https://www.google.com/webmasters/ and sign in.

2. Select your site from the list.

3. Click on Crawl > Sitemaps in the left-hand navigation.

4. Click the Add/Test Sitemap button.

5. Enter sitemap.xml in the blank provided and click the Submit button.

6. You will get a message, “Item submitted. Refresh the page.”

7. Refresh the page to verify your sitemap has been submitted. That’s it! You’ve submitted your XML sitemap to Google. It may take a few days for Google to retrieve it and even longer before they index the pages. You can track their progress in Google Search Console > Crawl > Sitemaps. Now, let’s submit the same XML sitemap to Bing.

How do I use the Google Analytics Module for Drupal?

https://www.drupal.org/project/google_analytics

About the Google Analytics Module The Google Analytics module adds the Google Analytics code snippet to your website and allows you to control how and when it is used. Google Analytics is a valuable tool for any web marketer. It allows you to find valuable insights about your visitors including demographics, behavior on your site, where they found you online, what keywords they used to find you, and more. However, Google Analytics isn’t perfect. For example, it tracks all visitors by default— even Admins. The Google Analytics module can be configured to show the Google
Analytics code snippet only when a non-admin is visiting the site. This keeps your data clean and your reports more useful.

Install and Enable the Google Analytics Module

1. Install the Google Analytics module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules.

3. Select the checkbox next to “Google Analytics” and click the Install button at the bottom of the page.

Configure the Google Analytics module First, you’ll create a Google Analytics property for your website. Then, you’ll add the tracking code to the Google Analytics module in Drupal 8.

1. Sign in to Google Analytics at https://www.google.com/analytics/. Use your existing Google ID or the one you created earlier in this chapter.

2. Create a Google Analytics property for your website.

3. First-time Google Analytics users will need to Sign up, agree to the terms of service, and create an account. As part of the process, you’ll create your first Google Analytics property.

4. If you already have a Google Analytics account, click the Admin link. From the left-hand ACCOUNT column, click the Accounts drop-down menu and select Create a new account.

5. Fill out the New Account form and click the Get Tracking ID button at the bottom of the page.

6. The tracking ID for your website will be on the next page. Copy it.

7. On your Drupal 8 site, click Manage > Configuration > System > Google Analytics (Coffee: “google”) or visit http://yourDrupal8site.dev/admin/config/system/google- analytics in your browser.

8. Under General Settings > Web Property ID, paste in the Google Analytics Tracking ID copied from the Google Analytics website.

9. Click the Roles tab and select the Anonymous user checkbox. You may want to track more roles depending on your website configuration.

10. The rest of the Google Analytics module settings should be left on default for most sites.

11. Click the Save configuration button at the bottom of the page.

Verify the Google Analytics installation

1. Open an incognito window in your browser. Go to your website’s homepage and view source.

2. Look for your Google Analytics Tracking ID number to verify that the Google Analytics code is installed on your website.

3. Open your website in an Incognito window. Click around on your site to generate some test traffic.

4. Now, log in to Google Analytics and go to your property.

5. Click Admin > Property > .js Tracking Info > Tracking Code.

6. At the top, under “Status”, you should see “Receiving traffic…”.

How do I use the Easy Breadcrumbs Module for Drupal on-page SEO?

https://www.drupal.org/project/easy_breadcrumb

About the Easy Breadcrumbs module The Easy Breadcrumbs module uses the current URL (path alias) and the current node title to automatically create breadcrumbs. Breadcrumbs are those essential navigational elements that show visitors where they are on a website. They look something like this:

Breadcrumbs help your SEO by revealing the hierarchy in your content. Google loves hierarchy because it helps them understand your content. Visitors love hierarchy, too, because it helps them figure out your site’s organizational structure.

Install and Enable the Easy Breadcrumbs Module

1. Install the Easy Breadcrumbs module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “Easy Breadcrumbs” and click the Install button at the bottom of the page. There are no separate permissions required for the Easy Breadcrumbs module.

Configure the Easy Breadcrumbs module

1. Click Configuration > User Interface > Easy Breadcrumbs (Coffee: “breadcrumbs”) or visit http://yourDrupal8site.dev/admin/config/user-interface/easy- breadcrumb in your browser.

2. Configure the module as demonstrated in the screenshot above: a. Select the checkbox next to “Include invalid paths alias as plain-text segments”.
b. Select the checkbox next to “Include the front page as a segment in the breadcrumb”.
c. For the “Title for the front page segment…” field, use something more descriptive than “Home”. You could use your company name or experiment with using a keyword that describes your website, service, or product.
d. Select the checkbox next to “Include the current page as a segment in the breadcrumb”. This gets your title on the page again which is useful for keyword optimization.
e. Select the checkbox next to “Use the real page's title when available”, which will use the page title instead of the URL for the last (right-most) breadcrumb.

3. Click the Save configuration button at the bottom of the page.

Easy Breadcrumb module builds the breadcrumbs from the path. Each / becomes a part of the breadcrumb. The first breadcrumb comes from the Easy Breadcrumb configuration page while the title of the node becomes the last breadcrumb.

How is the Schema Module important to Drupal SEO?

As you have seen in the section on meta tags, it is beneficial to describe your content in search-engine-friendly ways. A second, more robust standard than meta tags for marking up your content is Schema.org.

The Schema.org website describes the Schema.org project as “...a joint effort, in the spirit of sitemaps.org, to improve the web by creating a structured data markup schema supported by major search engines. On-page markup helps search engines understand the information on web pages and provide richer search results.” Schema.org markup functions similarly to meta tags except instead of being at the top of the page; schema.org markup is placed directly on each bit of content that it is describing.

Google can understand your content correctly because you were explicit about what it means. Is that number near the product the price or the discount? Is that the date when the content is posted or the birthdate of the person on the page? Is that the title of the movie, the title of the event, or the name of the event venue? Schema.org clears up these questions and countless others. You can implement Schema.org on your website using Resource Description Framework, or RDF for short. It’s a family of World Wide Web Consortium (W3C) specifications designed as a metadata model. W3C developed RDF as a way to markup content to describe it better.

How is the Drupal RDF module used in Drupal SEO?

Drupal 8 has RDF built-in. There’s a Core module called “RDF” that is probably already enabled (but you can check to be sure at http://yourDrupal8site.dev/admin/modules). RDF isn’t meant to be touched much. In fact, Drupal 8 doesn’t provide any mechanism for setting RDF tags to you, the marketer. To add Schema.org markup to your content, you need the RDF UI module.
The RDF UI Module https://www.drupal.org/project/rdfui
Credits & Thanks Thank you to Sachini Herath (Sachini on Drupal.org) for creating this module. Thank you to Stéphane Corlosquet (scor) who created the excellent predecessor module that got rolled into Drupal Core. Kudos!

About the RDF UI module, The RDF UI module allows site builders to integrate Schema.org seamlessly during or after the site-building process on Drupal 8.

Install and Enable the RDF UI Module

1. Install the RDF UI module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “RDF UI” and click the Install button at the bottom of the page.

4. There are no separate permissions required for the RDF UI module. Set Schema.org schemas for your content To configure Schema.org settings, you need to go to the setup page for each of your Content Types. We’ll start with Blog Postings. 1. Go to Manage > Structure > Content Types > Blog Postings (or whatever you have named your blog post content type).

5. Select the vertical tab near the bottom of the page called Schema.org Mappings.

6. In the field Schema.org type, start typing “Blog…” and then select “BlogPosting” from the type-ahead menu.

7. Click the Save content type button at the bottom of the page.

8. Now go to Admin > Structures > Content types (http://yourDrupal8site.dev/admin/structure/types) and click the Manage Fields button next to “Blog Postings”.

9. Click the RDF Mappings sub-tab.

10. Select the RDF Property for each field listed and click the Save button.

11. Repeat steps 1-7 for each of your Content Types.
*Full list of schemas: https://schema.org/docs/schemas.html

How do you use the Linkit Module for Drupal on-site SEO?

https://www.drupal.org/project/linkit

Install and Enable the Linkit Module

1. Install the Linkit module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”)

3. Select the checkbox next to “Linkit” and click the Install button at the bottom of the page.

Configure the Linkit module

To use the Linkit module, you need to enable it, select the profile, add it as a filter, arrange the filters in the proper order, and a couple of other settings. Please follow these steps carefully:

1. Visit the Linkit admin page at http://yourDrupal8site.dev/admin/config/content/linkit (Coffee: “linkit”).

2. Click the “Edit profile” link next to the Default profile.

3. Click the “Manage matchers” tab. Then, click the Edit button next to the Content matcher.

4. Here, you can select which types of content will show up in the link selector. Leave all of the checkboxes unchecked to include all content types.

5. You can also allow links to unpublished Nodes. Be careful, though, that you’re not linking to content that Google or your visitors cannot see.

6. If you made any changes, click the Save changes button at the bottom of the page.

How do I Configure Text Formats to use the Linkit module for Drupal SEO?

1. Go to the Manage > Configuration > Content Authoring > Text Formats and Editors (Coffee: “text”) or visit http://yourDrupal8site.dev/admin/config/content/formats in your browser.

2. Note which text formats use the CKEditor. (CKEditor is the default WYSIWYG editor in Drupal). Click the Configure button next to the first one.

3. Next to “Roles”, assign the roles that can use the Linkit module.

4. Scroll down the page to see the “CKEditor plugin settings” set of vertical tabs. Click on the Drupal link tab.

5. Select the checkbox next to “Linkit enabled”. The “Linkit profile” field will appear. For the “Linkit profile” field, select “Default”.

6. Scroll down a little more and select the checkbox next to “Linkit filter” under “Enabled filters”.

7. Scroll down to “Filter processing order”. Drag “Linkit filter” to the top of the list.

8. Under Filter settings > Linkit filter, make sure the checkbox next to “Automatically set the title attribute to that of the (translated) referenced content” is checked. This setting will put an SEO-friendly “title” element on the link.

9. Under “Limit allowed HTML tags and correct faulty HTML” you will see a field called “Allowed HTML tags”. Put your cursor in this field and use the arrow keys on your keyboard to scroll to the right until you find the link element . Make sure that “title” is part of the element. If not, add a title to the element. It will look something like this: “”. (bold added)

10. Click the Save configuration button at the bottom of the page. 11. Repeat steps 3-10 for each of the Text formats that use the CKeditor. These steps will probably work if you’re using a text editor other than CKeditor, too. Always click the Save configuration button after each one.

How do I use the Linkit module to add links to Drupal nodes?

The Linkit module replaces the built-in linking mechanism in your WYSIWYG editor. Select text in the node you’re editing and click the link button.

1. Open a node and click the “Edit” tab or create a new node.

2. Select some text that you wish to link. Click the link button.

3. In the modal window that opens, start typing the name of a node that you are linking to. As you type, a list of matching nodes will appear. Select the node that you want to link to.

4. The text that is displayed as the link will show up as something like: “entity:node/102”. This is an internal Drupal link and will always resolve to the node path—which is an SEO-friendly, keyword-rich link. Click the Save button.

5. Your newly added link will appear as blue and underlined. Scroll to the bottom of the page and click the Save and keep published button (or Save and publish if it’s a new node.)

6. View the source HTML of the node you just edited and find your link. You’ll see that it is using the proper, SEO-friendly path and it has used the title of the node that you linked to as the link title. While it can prove tedious to configure the first time, Linkit module provides useful functionality for your website’s content creators.

How do I use the D8 Editor Advanced Link Module for Drupal on-page SEO?

https://www.drupal.org/project/editor_advanced_link

About the D8 Editor Advanced Link Module The D8 Editor Advanced link module allows you to define title, class, id, target, and rel for links in CKEditor. This functionality helps your SEO by placing more text information about each link on the page.

Install and Enable the D8 Editor Advanced Link Module

1. Install the D8 Editor Advanced link module on your server. (See Chapter 1 for more instructions on installing modules.)

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to Advanced Link and click the Install button at the bottom of the page. There are no separate permissions required for the D8 Editor Advanced link module.

Configure text formats to use D8 Editor Advanced link module

1. Go to the Manage > Configuration > Content Authoring > Text Formats and Editors (Coffee: “text”) or visit http://yourDrupal8site.dev/admin/config/content/formats in your browser.

2. Click the Configure button next to the first text type listed. This will allow you to edit the configuration options.

3. Scroll down to the vertical tab near the bottom of the page called Limit allowed HTML tags and correct faulty HTML. If that tab is not there, then skip to step 6.

4. Under the Limit allowed HTML tags and correct faulty HTML you will see a field called “Allowed HTML tags”. Put your cursor in this field and use the arrow keys on your keyboard to scroll to the right until you find the link element . Add “title class id target rel” to the link element. It will look something like this but could vary: “”. (bold added)

5. Click the Save configuration at the bottom of the page. 6. Repeat steps 1-5 for each of the text formats. Always click the Save configuration button after each one.

Using the D8 Editor Advanced link module when adding links to your nodes

1. Open a node and click the Edit tab or create a new node.

2. Select the text to be linked. Click the link image button in the editor menu bar.

3. Open the Advanced drop-down.

4. There are options to add a Title and Rel, and a checkbox that will open the link in a new window. Fill in appropriate fields as needed.

5. Click the Save and keep published button (or Save and publish if it’s a new node.)
Conclusion In this chapter we covered nine SEO Checklist items: * You created navigational elements on your nodes with the Easy Breadcrumbs module, * You gave yourself access to RDF with the RDF UI module, * You marked up your node content with Schema.org settings, * You avoided the nightmare of broken links with the Linkit module, and * You added key fields to your links with the D8 Editor Advanced link module. By completing these items, you content is much more optimized for Google and SEO than it was before. In the next chapter, we’ll continue down the SEO Checklist with a look at the W3C Validator module and the Sitemap module.

s.

How do I use the W3C Validator Module for Drupal on-site SEO?

https://www.drupal.org/project/w3c_validator

The W3C Validator module uses W3C standards to tell you if your web pages are properly formed or if there are issues to fix. This HTML and CSS checker helps your SEO because badly-written pages might confuse the Google bot or even your visitors’ browser. Perfection is not necessary, though. Many websites have problems with their HTML and still rank in Google. It’s better to be safe than sorry.

Install and Enable the W3C Validator Module

1. Install the W3C Validator module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “W3C Validator” and click the Install button at the bottom of the page. There are no separate permissions required for the W3C Validator module.

Configure the W3C Validator module

1. Click Manage > Reports > W3C Validation Report (Coffee: “w3c”) or visit http://yourDrupal8site.dev/admin/reports/w3c_validator in your browser.

2. Configure the module as shown above: a. Uncheck “Validate as logged user.” Google visits your website as an anonymous visitor, so that’s what you should validate.

3. Click the Re-validate all pages’ button. You will be asked if you’re sure. Click the Confirm button.

4. The next page shows you the warning and errors that the validator has returned on each page.

5. Click the drop down arrow next to a page to see the specific errors for that page.

You can turn these errors and warnings over to your developer or themer. W3C validator is strict while Googlebot is much more forgiving. In other words, fix the big problems and knock out as many as your budget allows without obsessing over every single error.

How do I use the Drupal Sitemap Module for onsite SEO?

https://www.drupal.org/project/sitemap
 Install and Enable the Sitemap Module

1. Install the Sitemap module on your server. (See Chapter 1 for more instructions on installing modules.)

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser. 3. Select the checkbox next to “Sitemap” and click the Install button at the bottom of the page.

Configure the Sitemap module

1. Click Manage > Configuration > Search and metadata > Sitemap (Coffee: “sitemap”) or visit http://yourDrupal8site.dev/admin/config/search/sitemap in your browser.

2. Set the Page title using some keywords or your site name.

3. Select the appropriate checkboxes under Menus to include in the Sitemap. Likely your Main navigation or any other visitor-facing menus.

4. Under Vocabularies to include in the sitemap, select your main categories and Tags if you have them.

5. Under Sitemap Settings, select the “Show titles” checkbox. 6. Click the Save configuration button at the bottom of the page.

You can view the sitemap at http://yourDrupal8site.dev/sitemap. The little orange icons next to each section are links to RSS feeds. Visitors who want to subscribe to your site and return when you’ve published new content will use that link in their newsreader applications.

How do I set-up the Search 404 Module for Drupal on-page SEO?

https://www.drupal.org/project/search404

The module performs a search using the keywords in the missing URL to select appropriate content to show to the lost visitor. For example, if a visitor goes to http://yourDrupal8site.dev/animals/cute- cats (which I assume doesn’t exist on your website) and finds nothing then this module will search for “animals cute cats” and display those search results below the “404 Page Not Found” error. This tweak to the 404 page helps your SEO by making sure that old or badly written links to your site will still resolve. It helps visitors find your content. You want visitors to find great content on your site. You especially want Google to be able to find related content if the indexed page has been removed.

Install and Enable the Search 404 Module

1. Install the Search 404 module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “Search 404” and click the Install button at the bottom of the page. There are no separate permissions required for the Search 404 module.

Configure the Search 404 module

1. Go to the Search 404 module admin page by clicking Manage > Configuration > Search and metadata > Search 404 Settings (Coffee: “search404”) or visit http://yourDrupal8site.dev/admin/config/search/search404 in your browser.

2. Configure the module as shown above: A. Select the checkbox “Jump directly to the search result when there is only one result”. B. Select the checkbox “Use a 301 Redirect instead of 302 Redirect”. C. Select the checkbox “Use auto-detection of keywords from search engine referer”. D. Although there are many options on this page, you can leave most of them as you find them.

3. Click the Save configuration button.

How do I set-up the Yoast SEO Module for Drupal on-site SEO?

https://www.drupal.org/project/yoast_seo

Install and Enable the Yoast SEO Module

1. Install the Yoast SEO module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “Yoast SEO for Drupal” and click the Install button at the bottom of the page.

Configure the Yoast SEO module

1. Click Manage > Configuration > Development > Yoast (Coffee: “yoast”) or visit http://yourDrupal8site.dev/admin/config/yoast_seo in your browser.

2. Configure the Yoast SEO module to work on the appropriate Content Types as shown above.

3. Click the Save button.

Using the Yoast SEO module The Yoast SEO module adds functionality to your node edit screens.

1. Create a new blog posting by visiting http://yourDrupal8site.dev/node/add/blog_posting in your browser (Coffee: “blog”).

2. Fill out the form to create the new content. As you get down the page, you’ll see a drop-down section called Yoast SEO for Drupal. Fill in the field Focus keyword with your chosen keyword for this page and the Yoast SEO module will analyze your content.

3. The Snippet editor shows you what your listing will look like in Google. To fix the Google search snippet, click on each line.

A. Use the “SEO title” field to update your HTML title tag. (Same as going to Meta tags > Basic tags > Page title on a node.)
B. Use the “Slug” field to update the URL alias. (Same as URL Path Settings > URL alias on a node.) C. Use the “Meta description” field to update the meta description tag. (Same as going to Meta tags > Basic tags > Description on a node.)

4. Fix any issues you find in the Content Analysis section of the Yoast SEO section. As you fix those items, the indicator will turn green.

5. Be sure to click the Save button at the bottom of the page.

6. Repeat steps 1-5 for every node. Start with the most important ones!

How do I set-up the Diff Module for SEO?

https://www.drupal.org/project/diff

When editing a node, you can create a new revision without overwriting the original. You do this by selecting the Create new revision checkbox from the Publishing options tab. You can set your Content Types to select the checkbox by default when creating new content. This preset saves a little time and ensures that revisions are saved no matter who edits your content. 1. Click Manage > Structure > Content types (Coffee: “content types”) or visit http://yourDrupal8site.dev/admin/structure/types in your browser.

2. Next to your first Content Type, open the drop-down menu next to “Manage fields” and click the Edit link.

3. Click the Publishing options tab and select the Create new revision checkbox.

4. Click the Save content type button at the bottom of the page.

5. Repeat steps 1-4 for each Content Type.

Install and Enable the Diff Module

1. Install the Diff module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “Diff” and click “Install” and click the Install button at the bottom of the page. There are no separate permissions required for the Diff module.

Configure the Diff module

1. Go to the Diff admin page by clicking Manage > Configuration > Content authoring > Diff (Coffee: “diff”) or visit
http://yourDrupal8site.dev/admin/config/content/diff/general in your browser.

2. The default settings on the Settings and Configurable Fields tabs are fine.

3. Click on the Fields tab and ensure the module is configured as shown above, paying close attention to these settings: A. Body is set to “Text with Summary Field”. B. Title is set to “Core Field Diff”. C. Authored by is set to “Entity Reference Field Diff”. D. Revision log message is set to “Core Field Diff”.

4. Click the Save button at the bottom of the page.

Using the Diff module

1. Go to a piece of content where you have saved revisions.

2. Click the Revisions tab.

3. You will see a list of revisions with radio buttons. Select the two revisions you wish to compare.

4. Click the Compare button.

The node’s fields are displayed side-by-side with the changes highlighted. This screen makes it easy to see what edits made a difference in your search rankings, click-through rates, and conversions. If you see “+” between the fields, that means some text was added. If you see “-“, it means that some text was deleted.

How do I use the Scheduler Module for on-site SEO?

https://www.drupal.org/project/scheduler

Install and Enable the Scheduler Module

1. Install the Scheduler module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “Scheduler” and click the Install button at the bottom of the page.

4. You may get the message “Some required modules must be enabled” and “You must enable the Actions module…”. If you do, click the Continue button.

Configure the Scheduler module

1. Go to the Scheduler module admin page by clicking Manage > Configuration > Content authoring > Scheduler (Coffee: “sch”) or visit http://yourDrupal8site.dev/admin/config/content/scheduler in your browser.

2. Configure the Scheduler module:
A. You can leave the Date format setting at the default; however, since I’m from the USA, I prefer to change up the date and time formats. If you’re like me then in the Date format field, enter “n/j/y g:ia” (without quotes). This setting will give you a formatted date that looks like this: 10/15/16 3:52pm.
B. Select the checkbox Allow users to enter only a date and provide a default time. C. Set the Default time to 10:15:00. That way, if a time is not specified, it will default to this time, in this case, 10:15 A.M., which is a good time to publish business content. 3. Click the Save configuration button.

4. Go to the Content types admin page by clicking Manage > Structure > Content Types (Coffee: “content types”) or visit http://yourDrupal8site.dev/admin/structure/types in your browser.

5. Next to your first Content Type, open the drop-down menu next to Manage fields and click Edit.

6. Click the Scheduler tab and select the Enable scheduled publishing for this content type and Change content creation time to match the scheduled publish time options.

7. Click the Save content type button at the bottom of the page.

8. Repeat steps 4-8 for the Content Types that need scheduling.

How do I use the Security Review Module for on-page Drupal SEO?

https://www.drupal.org/project/security_review

Install and Enable the Security Review Module

1. Install the Security Review module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “Security Review” and click the Install button at the bottom of the page.

Configure the Security Review module

1. Go to the Security Review module admin page by clicking Manage > Reports > Security Review (Coffee: “security”) or visit http://yourDrupal8site.dev/admin/config/security-review in your browser.

2. Set any untrusted roles. These are for typical site visitors.

3. Under Advanced, you can skip any tests that aren’t appropriate for your site. If you’re unsure, don’t skip any of the tests.

4. Click the Save configuration button at the bottom of the page.

Using the Security Review module

1. Go to the Security Review module admin page by clicking Manage > Reports > Security Review (Coffee: “security”) or visit http://yourDrupal8site.dev/ admin/reports/security-review in your browser.

2. Click the Run checklist button.

3. The Security Review module will run. It can take several minutes.

As you can see, the Security Review module shows where your site might be vulnerable to attack. Follow its recommendations to harden your website against malicious hackers.

.

How do I configure the Mollom Module for SEO?

https://www.drupal.org/project/mollom

The Mollom module and service combine to create an “intelligent content moderation web service.” It uses data collected from the 60,000+ websites that use the service to figure out if comments or content posted on your site are spam. If it is, it blocks it. If Mollom can’t determine if it’s spam or not, the module will use a Captcha and ask the submitter to prove they are a real person. Mollom boasts a 99.98% efficiency rate which means that for every 10,000 spam messages posted; only two will get through. Spam on your website negatively affects your Google ranking. Google prefers to send visitors to non-spammy pages. Spam comments can sometimes be used to inject unwanted code into your site. Fortunately, Drupal 8 has come a long way in preventing this kind of attack. Blocking spam with Mollom is an excellent way to protect your investment in your website. If you don’t use Mollom (or some other spam-prevention service), then you should carefully moderate every submission to your site— comments, content, user accounts, etc.

Install and Enable the Mollom Module

1. Install the Mollom module on your server.

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “Mollom” and click the Install button at the bottom of the page.

Sign up for the Mollom service

1. Go to https://www.mollom.com/pricing and pick a plan. You can try the service out before buying with Mollom Free. It will handle up to 50 legit posts per day—enough for a small website.

2. Add your site to Mollom site manager.

3. Click “View keys” on the Mollom site.

4. Leave that window open so you can copy and paste those keys into the Mollom module.

Configure the Mollom module

1. Go to the Mollom module admin page by clicking Manage > Configuration > Content authoring > Mollom content moderation (Coffee: “mollom”) or visit http://yourDrupal8site.dev/admin/config/content/mollom/settings in your browser.

2. Click on the Settings tab on the Mollom module admin page.

3. Copy and paste the Public key and Private key from Mollom.com into your Mollom module admin settings page.
A. Paste the Public key into the Public key field.
B. Paste the Private key into the Private key field.

4. Select your site’s languages in the Expected languages field.

5. Click the Save configuration button at the bottom of the page.
Now, let’s protect your forms.

6. Click the Forms tab.

7. Click “Mollom Form” and select a form that your site uses.

8. The default options usually work well.

9. Click the Create Protected Mollom Form button.

10. Repeat steps 6-9 for the rest of the forms that your site uses.

Test Mollom. View one of the forms you added in an incognito window. Use words like “viagra”, “refinance”, and “enlargement” and add a link or two. Try to submit the form and see what happens.

How do I Secure my Drupal website with HTTPS?

HTTPS (HyperText Transport Protocol Secure) is how servers send encrypted web pages to visitors’ browsers. What does this have to do with SEO? In June 2020, Google called for “HTTPS everywhere” on the web. They then began testing out using secure, HTTPS websites as a ranking signal. You’re reading that right: If your website is secured using HTTPS with at least a 2048-bit key certificate, Google will rank you higher in their search results.
You secure your website by installing an SSL certificate and adjusting your DNS and server settings. It can be a complicated process and differs depending on your server software, hosting company, and many other factors. Consult your web hosting company for the exact details. The process will look something like this:

1. Buy an SSL Certificate from an issuing authority. .
A. You’ll typically use a single-domain certificate, but you can use a multi-domain or wildcard certificate.
B. I recommend an EV (Extended Validation) SSL Certificate as it provides a visible green address bar as feedback to your site’s visitors that the site is secure. It’s not required, though—a standard certificate will work for onsite Drupal SEO purposes.
C. The process involves proving to the issuing authority that you control the domain name in your request. The process usually takes from one to seven days and you may be asked to provide information about your business.

2. After you receive your certificate, contact your hosting company and request that they install it on your server. They may ask you to get a pre-configured version of the certificate for your particular server software. Apache is the most common but ask your hosting company. You’ll get the specially- configured certificate from the issuing authority.

3. During testing, you’ll be able to access your website at both http://yourDrupal8site.dev and https://yourDrupal8site.dev. Make sure you thoroughly test forms and the checkout process.

4. Google Search Console
A. Verify the HTTPS version of your site with Google Search Console. Make sure that you verify both the HTTP and HTTPS version of your website.
B. Submit the HTTPS version of your XML Sitemap to Google Search Console.

5. When you’re ready to make the switch to HTTPS, ask your hosting company (or your server admin) to redirect HTTP queries to HTTPS.

6. Monitor your traffic in Google Search Console. Pay particular attention to the Index Status and Crawl Errors.

.

How do I adjust my Drupal Performance admin settings for SEO?

Drupal 8 enables caching by default for anonymous visitors. That is sufficient for small to medium-sized websites with moderate traffic. You can turn it off for development purposes by setting it to “”. Be sure to turn it back on before you launch or your site will be slow.

1. Go to the Performance admin page by clicking Manage > Configuration > Development > Performance (Coffee: “performance”) or visit http://yourDrupal8site.dev/admin/config/development/performance in your browser.

2. You need to make a judgment call on Page caching maximum age. How quickly does your website content change? Every fifteen minutes? Every hour? Daily?
A. 1 day—for websites that are only updated a couple of times per week. There is no commenting or other interaction on the site. (e.g. lead generation brochure site)
B. 1 hour—for websites that are updated once or twice per day. (e.g. eCommerce)
C. 15 minutes—for frequently updated websites. (e.g. news sites) 3. Under “Bandwidth Optimization”, make sure “Aggregate CSS files” and “Aggregate JavaScript files” are both selected.

4. Click the Save configuration button. 5. If you use Views or Panels, you can get more fine-grained in your cache settings. The caching on each block can be customized as well.

How do I configure the Advanced CSS/JS Aggregation Module for Drupal on-site SEO?

https://www.drupal.org/project/advagg

Install and Enable the Advanced CSS/JS Aggregation Module
1. Install the Advanced CSS/JS Aggregation module on your server. (See Chapter 1 for more instructions on installing modules.)

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkboxes next to:
A. AdvAgg Bundler
B. AdvAgg CDN
C. AdvAgg CSS/JS Validator
D. AdvAgg External Minification
E. AdvAgg Minify CSS
F. AdvAgg Minify JavaScript
G. AdvAgg Modifier
H. Advanced CSS/JS Aggregation

4. Click the Install button at the bottom of the page.

Configure the Advanced CSS/JS Aggregation module

1. Go to the Advanced CSS/JS Aggregation module admin page by clicking Manage > Configuration > Development > Performance > AdvAgg (Coffee: “advagg”) or visit http://yourDrupal8site.dev//config/development/performance/a dvagg in your browser.

2. To start out, don’t change anything! The default settings for this module are pretty spot-on for error-free performance.

3. Test your site. Make sure all of your pages are loading properly.

4. You can squeeze faster performance out of your website by testing the High and Aggressive settings. Just be aware that they may cause some pages to display incorrectly. As with all things, check your results thoroughly. JavaScript Minification “Minification (also minimization or minimization), in computer programming languages and especially JavaScript, is the process of removing all unnecessary characters from source code without changing its functionality. These unnecessary characters usually include white space characters, new line characters, comments, and sometimes block delimiters, which are used to add readability to the code but are not required for it to execute.” —Wikipedia By default, Advanced CSS/JS Aggregation does not minify JavaScript files. You can turn on Minification like this:

1. Go to the Advanced CSS/JS Aggregation module admin page by clicking Manage > Configuration > Development > Performance > AdvAgg > JavaScript Minification (Coffee: “javascript”) or visit http://yourDrupal8site.dev//config/development/performance/a dvagg/js-minify in your browser.

2. There are 3 built-in options. Select JSqueeze.

3. Click the Save configuration button at the bottom of the page. 4. Test! Make sure your site is working properly. Be sure to check all of your contact forms. Take a post-installation benchmark with Google’s PageSpeed Insights tool (https://developers.google.com/speed/pagespeed/insights/) and WebPageTest.org (http://www.webpagetest.org/). These tools will help you determine if more aggressive caching will improve your site’s speed.

Controlling Image Bandwidth with Image Styles
Drupal 8 Core can resize images and serve the right image for any situation. It can scale them, crop them, and much more. Consistent image sizes reduce the bandwidth required and decrease load time.

Configure Image Styles

1. Go to the Image Styles admin page by clicking Manage > Configuration > Media > Image styles (Coffee: “image styles”) or visit http://yourDrupal8site.dev/admin/config/media/image-styles in your browser.

2. Click the +Add image style button.

3. Enter a name for your new style and click the Create new style button.

4. Under Effect, select Scale from the drop-down and click the Add button.

5. Enter the maximum allowable dimensions for the image. In this case, we’ll use 1200 x 630. Leave “allow upscaling” unchecked.

6. Click the Add effect button.

Applying the new image style to your blog

Now that you’ve created a great new style let’s apply it to your blog.

1. Go to the Blog posting admin page by clicking Manage > Structure > Content Types and click the Manage fields button (Coffee: “blog postings”) or visit http://yourDrupal8site.dev/admin/structure/types/manage/blog _posting in your browser.

2. Click the Manage display tab.

3. Click the gear icon next to the Image field.

4. For Image style, select the new image style you just created.

5. Click the Update button.

6. Click the Save button.

To verify that it worked, go to any blog post. Right-click on the main image and select “Inspect”.
You’ll see that the scaled image is displayed. You can do the same with each Content-Type, user photos, etc.
Drupal Update-Party Speed Options There are a few third-party tools that you can use with Drupal to speed up your website. I mention them here to show you the possibilities.

Set up a CDN

A CDN, or “Content Distribution Network” stores a cache of your website on servers across the globe. CDN companies own data centers on every continent and in every region. Think of it as taking your server cache and making copies of it to servers that are a lot closer to your visitors—in both a physical and network sense. If the HTML does not need to be recreated by Drupal, then it is served directly from the CDN, significantly reducing the load times involved. Example companies include (my personal favorite) CloudFlare, Level3, Amazon, and Akamai. The CDN module for Drupal can be downloaded at https://www.drupal.org/project/cdn. There are also service-specific modules for CloudFlare - https://www.drupal.org/project/cloudflare and Akamai - https://www.drupal.org/project/akamai.

Does hosting account affect my Drupal SEO?

When you look for hosting, you’ll find many options.

Managed Dedicated Server(s) Managed dedicated server takes care of all your hosting needs for you. Not only do you get the hardware but also a team of experts who make sure everything is running as it should. They will keep your software up-to-date and alert you if there are any problems—often after they’ve already fixed the issue. You can deploy multiple servers in many configurations. For example, a firewall, caching server, database server or multiple HTTP servers could all be part of a complete hosting solution. It’s fast and reliable hosting. Adding multiple servers or getting help designing the perfect configuration for you is part of the service. Blackmesh (my personal favorite) is the Drupal-specific company for this kind of hosting. Dedicated Server(s) A dedicated server provides low latency which means a fast response time for most small to medium-sized sites. Consider that you need to provide your own technical staff to manage the hardware and software stack. Examples include HostGator and Viawest. Cloud Hosting Cloud hosting is scalable. The “cloud” means that there is a data center with lots of dormant servers. As your site’s needs scale up (or down), the servers in the data center spin up to provide you with more server power. While it may be a panacea for some, latency and cost are critical concerns. Examples include Acquia Cloud, Pantheon, and Platform.sh.

Virtual Private Server (VPS) / Server Slice A VPS offers a good balance between cost and performance. It’s similar to shared hosting in that you share a single server with other tenants. However, you get a guaranteed amount of performance on that server—maybe 10% (or more) dedicated to you—which helps preserve your performance when someone else’s site gets busy. Examples include HotDrupal and Green VPS. Shared Hosting Shared hosting is the rookie league of hosting. Your site sits on a server with many other tenants. It’s slow and not scalable, but it’s inexpensive. Examples include Bluehost and SiteGround.
Conclusion In this chapter we covered twelve SEO Checklist items that are related to security or speed: * You’ve fixed any holes in your site’s security with the Security Review module, * You’re blocking Spam with the Mollom module. * Your website is transmitting securely to users’ browsers with HTTPS, * Your website is performing faster because you set Performance admin settings, * Data is flowing quickly because you installed the Advanced CSS/JS Aggregation, module, * You’re sending correctly-sized images by setting up Image styles, * Your site is getting to your visitors faster because you’re using a CDN, and finally * Your site is more responsive because you’ve upgraded your hosting. By completing these items, you can be sure that your site speed is as fast as it reasonably can be. Security and speed are staples of great Google rankings. In the next chapter, we’ll continue down the SEO Checklist with a look at mobile and social tools for Drupal 8 SEO.

How do I configure AMP or Accelerated Mobile Pages for on-site Drupal SEO?

“The Accelerated Mobile Pages (AMP) Project is an open-source initiative that embodies the vision that publishers can create mobile optimized content once and have it load instantly everywhere.” Accelerated Mobile Pages Project https://www.ampproject.org/

Drupal AMP Module, Theme, & PHP Library Suite https://www.drupal.org/project/amp https://www.drupal.org/project/amptheme https://github.com/Drupal Update/amp-library

Install and Enable the AMP Suite

1. Installing the AMP Suite requires the use of Composer. This must be done at the command line so ask your developer for help if you need it.
A. The commands typically are: >composer require drupal/amp >composer require drupal/amptheme

2. Go to the Extend page: Click Manage > Extend (Coffee: “extend”) or visit http://yourDrupal8site.dev/admin/modules in your browser.

3. Select the checkbox next to “Accelerated Mobile Pages (AMP)” and click the Install button at the bottom of the page. There are no separate permissions required for the AMP module.

Install the AMP themes

1. Go to the Appearance admin page by clicking Manage > Appearance (Coffee: “appearance”) or visit http://yourDrupal8site.dev/admin/appearance in your browser.

2. Click the Install link below ExAMPle Subtheme.

Configure AMP

1. Go to the AMP module admin page by clicking Manage > Content authoring > AMP Configuration (Coffee: “amp”) or visit http://yourDrupal8site.dev/admin/config/content/amp in your browser.

2. Configure the module as shown above: A. Under AMP theme, select ExAMPle Subtheme. B. Enter your Google Analytics Web Property ID which can be found in your Google Analytics module settings (coffee: “Google Analytics”) or by logging in to Google Analytics and visiting Admin > Property Settings > Tracking ID. C. If you use AdSense or Doubleclick, enter their respective numbers in the fields provided.

3. Click the Save configuration button at the bottom of the page.

How do I enable AMP for Drupal Content Types?

1. Go to the AMP module admin page by clicking Manage > Content authoring > AMP Configuration (Coffee: “amp”) or visit http://yourDrupal8site.dev/admin/config/content/amp in your browser.

2. Click “Enable AMP in Custom Display Settings” link

3. On the following page, open the “Custom Display Settings” drop down.

4. Select the “AMP” checkbox.

5. Click the Save button at the bottom of the page.

6. Repeat steps 1-5 for each Content Type that will use AMP.

Configure display blocks for the AMP theme You can see the AMP version of your pages by adding “?amp” to the end of any node that you’ve set up in this way. You may see a lot of extra blocks in the header that pushes your content down below the fold. You can rearrange the blocks or remove them from the theme. In this example, we’ll go with the ExAMPle sub-theme but this works on any theme.

1. Go to the ExAMPle subtheme Block layout admin page by clicking Manage > Structure > Block layout and then clicking ExAMPle Subtheme (Coffee: “block”)

2. In the Region column next to each Block, change the drop-down from “Header” to “Footer” or “None”. Header blocks appear at the top, Footer blocks at the bottom, and None will be hidden on this theme.

3. Click the Save blocks button at the bottom of the page. Take another look at your AMP pages. They should look cleaner and easier to read.
Validate AMP pages 1. Go to one of your AMP pages on your website. 2. View source and copy the HTML.

3. Visit https://validator.ampproject.org/

4. Paste in the HTML.

5. The site will give you inline error reporting alongside the HTML source of the page. Now, you wait for Google to crawl your website. The Googlebot will automatically detect that you have AMP-compatible pages. After you added AMP.