Version 1
[yaffs-website] / web / modules / contrib / metatag / README.txt
diff --git a/web/modules/contrib/metatag/README.txt b/web/modules/contrib/metatag/README.txt
new file mode 100644 (file)
index 0000000..765777a
--- /dev/null
@@ -0,0 +1,228 @@
+Metatag
+-------
+This module allows a site's builder to automatically provide structured
+metadata, aka "meta tags", about the site and individual pages.
+
+In the context of search engine optimization, providing an extensive set of
+meta tags may help improve the site's and pages' rankings, thus may aid with
+achieving a more prominent display of the content within search engine results.
+They can also be used to tailor how content is displayed when shared on social
+networks.
+
+For additional information, see the online documentation:
+  https://www.drupal.org/docs/8/modules/metatag
+
+This version should work with all Drupal 8 releases, though it is always
+recommended to keep Drupal core installations up to date.
+
+
+Requirements
+--------------------------------------------------------------------------------
+Metatag for Drupal 8 requires the following:
+
+* Token
+  https://www.drupal.org/project/token
+  Provides a popup browser to see the available tokens for use in meta tag
+  fields.
+
+
+Features
+--------------------------------------------------------------------------------
+The primary features include:
+
+* An administration interface to manage default meta tags.
+
+* Use of standard fields for entity support, allowing for translation and
+  revisioning of meta tag values added for individual entities.
+
+* A large volume of meta tags available, covering commonly used tags, Open
+  Graph tags, Twitter Cards tags, Dublin Core tags, Google+ tags, App Links
+  tags, site verification tags and more; all but the basic meta tags are kept
+  in separate submodules.
+
+* The fifteen Dublin Core Basic Element Set 1.1 meta tags may be added by
+  enabling the "Metatag: Dublin Core" submodule.
+
+* The Open Graph Protocol meta tags, as used by Facebook, Pinterest, LinkedIn
+  and other sites, may be added by enabling the "Metatag: Open Graph" submodule.
+
+* The Twitter Cards meta tags may be added by enabling the "Metatag: Twitter
+  Cards" submodule.
+
+* Certain meta tags used by Google+ may be added by enabling the "Metatag:
+  Google+" submodule.
+
+* Facebook's fb:app_id, fb:admins and fb:pages meta tags may be added by
+  enabling the "Metatag: Facebook" submodule. These are useful for sites which
+  are using Facebook widgets or are building custom integration with Facebook's
+  APIs, but they are not needed by most sites and have no bearing on the
+  Open Graph meta tags.
+
+* Site verification meta tags can be added, e.g. as used by the Google search
+  engine to confirm ownership of the site; see the "Metatag: Verification"
+  submodule.
+
+* The Metatag: Mobile & UI Adjustments submodule adds the MobileOptimized,
+  HandheldFriendly, viewport, cleartype, theme-color, format-detection,
+  apple-mobile-web-app-capable, apple-mobile-web-app-status-bar-style, the
+  android-app and ios-app alternative link meta tags, and the Android manifest
+  tag.
+
+* The hreflang meta tags are available via the Metatag:hreflang submodule.
+
+* The App Links meta tags may be added by enabling the Metatag: App Links
+  submodule.
+
+* Support for meta tags specific to Google Custom Search Appliance are available
+  in the "Metatag: Google Custom Search Engine (CSE)" submodule.
+
+* Meta tags specific to Facebook are included in the "Metatag: Facebook"
+  submodule.
+
+* A plugin interface allowing for additional meta tags to be easily added via
+  custom modules.
+
+* Integration with DrupalConsole [1] to provide a quick method of generating new
+  meta tags.
+
+
+Standard usage scenario
+--------------------------------------------------------------------------------
+1. Install the module.
+2. Open admin/config/search/metatag.
+3. Adjust global and entity defaults. Fill in reasonable default values for any
+   of the meta tags that need to be customized. Tokens may be used to
+   automatically assign values.
+4. Additional bundle defaults may be added by clicking on "Add metatag
+   defaults" and filling out the form.
+5. To adjust metatags for a specific entity, the Metatag field must be added
+   first. Follow these steps:
+
+   5.1 Go to the "Manage fields" of the bundle where the Metatag field is to
+       appear.
+   5.2 Select "Meta tags" from the "Add a new field" selector.
+   5.3 Fill in a label for the field, e.g. "Meta tags", and set an appropriate
+       machine name, e.g. "meta_tags".
+   5.4 Click the "Save and continue" button.
+   5.5 If the site supports multiple languages, and translations have been
+       enabled for this entity, select "Users may translate this field" to use
+       Drupal's translation system.
+
+
+Programmatically assign meta tags to an entity
+--------------------------------------------------------------------------------
+There are two ways to assign an entity's meta tags in custom module. Both
+scenarios require a "Metatag" field be added to the entity's field settings, the
+field name "field_meta_tags" is used but this is completely arbitrary.
+
+Option 1:
+
+  $entity_type = 'node';
+  $values = [
+    'nid' => NULL,
+    'type' => 'article',
+    'title' => 'Testing metatag creation',
+    'uid' => 1,
+    'status' => TRUE,
+    'field_meta_tags' => serialize([
+      'title' => 'Some title',
+      'description' => 'Some description.',
+      'keywords' => 'Some,Keywords',
+    ]),
+  ];
+  $node = \Drupal::entityTypeManager()->getStorage($entity_type)->create($values);
+  $node->save();
+
+Option 2:
+
+  $node = Node::create(array(
+    'type' => article,
+    'langcode' => 'en',
+    'status' => 1,
+    'uid' => 1,
+  ));
+  $node->set('title', 'Testing metatag creation');
+  $node->set('field_meta_tags', serialize([
+    'title' => 'Some title',
+    'description' => 'Some description.',
+    'keywords' => 'Some,Keywords',
+  ]));
+  $node->save();
+
+In both examples, the custom meta tag values will still be merged with the
+values defined via the global defaults prior to being output - it is not
+necessary to copy each value to the new record.
+
+
+DrupalConsole integration
+--------------------------------------------------------------------------------
+Using the DrupalConsole, it is possible to generate new meta tags, either for
+use in new custom modules that require custom meta tags, or to create patches
+for extending Metatag's options.
+
+To generate a new tag, install DrupalConsole and then use the following command:
+
+  drupal generate:plugin:metatag:tag
+
+This will guide the site builder through the necessary steps to create a new
+meta tag plugin and add it to a module.
+
+There is also a command for generating meta tag groups:
+
+  drupal generate:plugin:metatag:group
+
+Again, this provides a guided process to create a new group.
+
+
+Related modules
+--------------------------------------------------------------------------------
+Some modules are available that extend Metatag with additional or complimentary
+functionality:
+
+* Real-time SEO for Drupal
+  https://www.drupal.org/project/yoast_seo
+  Uses the YoastSEO.js library and service (https://yoast.com/) to provide
+  realtime feedback on the meta tags.
+
+
+Known issues
+--------------------------------------------------------------------------------
+* In order to uninstall the module any "Metatag" fields must first be removed
+  from all entities. In order to see whether there are fields blocking the
+  module from being uninstalled, load the module uninstall page
+  (admin/modules/uninstall) and see if any are listed, it will look something
+  like the following:
+    The Meta tags field type is used in the following field:
+    node.field_meta_tags
+  In order to uninstall the module, go to the appropriate field settings pages
+  and remove the Metatag field listed in the message. Once this is done it will
+  be possible to uninstall the module.
+
+
+Credits / contact
+--------------------------------------------------------------------------------
+Currently maintained by Damien McKenna [2] and Dave Reid [3]. Drupal 7 module
+originally written by Dave Reid. Drupal 8 port by Damien McKenna and Michelle
+Cox [4] and sponsored by Mediacurrent [5], with contributions from Lee Rowlands
+[6], Rakesh James [7], Ivo Van Geertruyen [8], Michael Kandelaars [9], and many
+others.
+
+Ongoing development is sponsored by Mediacurrent and Lullabot [10].
+
+The best way to contact the authors is to submit an issue, be it a support
+request, a feature request or a bug report, in the project issue queue:
+  https://www.drupal.org/project/issues/metatag
+
+
+References
+--------------------------------------------------------------------------------
+1: https://www.drupal.org/project/console
+2: https://www.drupal.org/u/damienmckenna
+3: https://www.drupal.org/u/dave-reid
+4: https://www.drupal.org/u/michelle
+5: https://www.mediacurrent.com/
+6: https://www.drupal.org/u/larowlan
+7: https://www.drupal.org/u/rakesh.gectcr
+8: https://www.drupal.org/u/mr.baileys
+9: https://www.drupal.org/u/mikeyk
+10: https://www.lullabot.com/