Drupal Planet

OPTASY: 10 Drupal SEO Mistakes You Do Not Want to Make on Your Website: From Least to Most Harmful- Part 2

2 months ago
10 Drupal SEO Mistakes You Do Not Want to Make on Your Website: From Least to Most Harmful- Part 2 adriana.cacoveanu Mon, 08/27/2018 - 15:33

You've put so much effort into crafting and polishing the content on your Drupal website and it just won't... rank? Why is it that search engines' web crawlers won't index its “juicy” content? Why they won't give your site a big push right to first-position rankings? As it clearly deserves... Could it be because you're making these 10 Drupal SEO mistakes

Knowingly or just recklessly...

OpenSense Labs: HowTo: Migrate Content from a CSV file to Drupal 8

2 months ago
HowTo: Migrate Content from a CSV file to Drupal 8 Gaurav Mon, 08/27/2018 - 18:21

Upgrading involves shifting lots of files and content from one site to another. Although there are a number of modules to help you migrate to and in Drupal, the process can turn out to be messy. 

Migration of content can have various meanings and the scope of file formats - JSON, CSV, spreadsheet or text files - is also important.

In this article, I am going to demonstrate the migration of taxonomy terms using CSV files to Drupal 8. Thanks to Drupal’s entity-based system, the process of migration is more or less similar for all kinds of entities. Once you master the migration process, you can easily migrate nodes, users, vocabularies and custom entity data.

You can use various modules for migration to Drupal 8

Drupal 8 core provides the Migrate and Migrate Drupal modules which are useful when migrating from Drupal 6/7 to Drupal 8. In other cases, we have to use contributed modules. Install Migrate Plus which provides a powerful API for data migration from CSV and spreadsheets and is one of the foremost dependencies.

We will take a sample use case of the States list where our taxonomy terms will be the States' list. Let's get started.

Read Upgrade to Drupal 8 | Complete Migration Guide

  • Download the Migrate Source CSV module and install it on your Drupal website. Use Composer to install all the required dependencies.
composer require ‘drupal/migrate_source_csv:^2.2’
  • Enable the module from Extend menu or Drush Command. 
$ drush en migrate_tools $ drush en migrate_source_csv
  • In this example, I am going to migrate the USA States data. I have already created a vocabulary as ‘States’ with fields Name (Default Field in Taxonomy) and State Code (the abbreviation).
  • Prepare a CSV file with Headers containing Fields Name and also add an ID field which will act as a unique identifier and can also be later used in migration in case States vocabulary is used by a reference field. Here is the CSV which I have prepared:



















    and so on.
  • Next and the most important step is to write a migration plugin which is a .yml file describing the mapping between data in CSV and Drupal Fields. 

    Here is the migration plugin which I wrote: id: state_data class: null field_plugin_method: null cck_plugin_method: null migration_tags: - 'USA States' migration_group: default label: 'State migration from CSV' source: plugin: csv path: 'public://USAStates.csv' header_row_count: 1 keys: - id column_names: - id: id - title: state - abbreviation: abbreviation process: name: title field_abbreviation: abbreviation destination: plugin: 'entity:taxonomy_term' default_bundle: state migration_dependencies: null I have provided a Migration ‘id’, ‘class’, ‘field_plugin_method’, ‘cck_plugin_method’. ID acts as a unique identifier for the migration process. Rest of keys mentioned above aren’t needed in this migration.

    Other keys and their importance:
    • Migration Tags: These are displayed as a description in migration UI.
    • Migration Group: It is an important field in case you have various migration processes. I have used the default group for this migration.
    • Label: It is also a description field for the migration displayed in Migration UI.
    • Source: It is the important key and we provide type of plugin i.e CSV in our case, path of our CSV file, Header Row Count so that migration API is able to distinguish between Data and Labels, Key i.e the unique identifier in CSV file.

      Next, we have a mapping of columns in CSV with temporary identifiers which are used in process key. Process key defines mapping with Drupal field and a temporary identifier in format (Drupal Field: Temporary Identifier).
    • Destination: This key is used to provide the target entity and bundle if any. Since we are migrating terms data so I have used ‘taxonomy_term’ and bundle ‘state’.
  • Once you have created the plugin, it is time to inform the system about. Migration plugin can be imported via Single Config Import menu (/admin/config/development/configuration/single/import). Paste your plugin with config type ‘Migration’ and press import.
  • Once you have imported the migration plugin you can run the migration process via UI or drush command.

    UI: Go to /admin/structure/migrate and under the list migration menu, you can execute the migration process for the respective migration type.

    Drush: Enter the drush command ‘drush mi state_data’ where state_data is the unique ID of the state's migration.

  • Once the migration process is complete all the Terms are created and the abbreviation field is populated as well.

  • You can rollback, resume and stop migration from Migration UI as well in case something goes wrong or you have some extra data to migrate later on. 

  • In case you have to do any changes in Plugin after importing it, you will first have to export its config file from (admin/config/development/configuration/single/export) and then import it again. 

    And it is done!

That is how you can migrate content from a CSV file to Drupal 8. Drop a comment below in case of a query. 

blog banner blog image Blog Type Tech Is it a good read ? On

Ramsalt Lab: Expo.se - Magazine started by the famous author Stieg Larsson - nominated for two publishing awards

2 months ago
  • Expo just got nominated for two prestigious publishing awards in Sweden, best magazine and best magazine website. The winners will be announced 7th of November 2018 in Stocholm where Ramsalt Lab will be present. We are very excited for this news and have decided to share with you the secrets behind building Expo.se on Drupal. So stay tuned for more the following days. 

    Short about the Expo 

    Expo is a Swedish anti-racist magazine started in 1995 by Stieg Larsson, also known as the author of the Millennium novel series, where the inspiration comes from Expo. Expo magazine is issued by the non-profit Expo Foundation. The magazine contains investigative journalism focused on nationalist, racist, anti-democratic, anti-semitic, and far-right movements and organisations. Expo became widely known in Sweden after 1996 following a string of threats and attacks directed against companies printing and selling the magazine, and organisations supporting it. The magazine is headquartered in Stockholm. More about Expo on Wikipedia

    Have a look at the website on Expo.se


    OpenSense Labs: In the Pursuit of Headless with Contenta

    2 months ago
    In the Pursuit of Headless with Contenta Akshita Mon, 08/27/2018 - 11:23 When I first heard of Contenta (not aware of what it was), I was perplexed as to how could anyone use such a funny name for a tech product? Was it so good that it made people happy and content with it?  What Is Contenta?  

    With Drupal 8’s rise as the headless platform, one of the inferences of the DrupalCon Baltimore was to make the headless transition smoother. And this is how Contenta was born.

    Droptica: 13 lectures and presentations worth seeing at DrupalEurope 2018

    2 months ago
    DrupalEurope is this year’s largest European conference devoted to Drupal. In previous years, each edition of the conference (formerly known as DrupalCon) was attended by about 2000 participants. We already know the programme of the conference with 162 hours of lectures over the course of three days! I decided to go through the programme and make a list of 13 lectures that I think are worth seeing. 1. Driesnote On Wednesday, 12th of September at 9:00 a.m. Dries Buytaert will talk about the status of Drupal 8. This is a lecture I always attend at DrupalCon. You can learn interesting things about Drupal usage statistics and the system development plans. It's definitely worth attending if you want to know what will happen with Drupal in the coming months.

    ActiveLAMP: Deploying Docker containers - Introduction to Kubernetes

    2 months ago

    We are going to take the Drupal image that I created from my last post “Creating a deployable Docker image with Jenkins” and deploy it. You can find the image that we created last time up on Docker Hub, that is where we pushed the image last time. You have several options on how to deploy Docker images to production, whether that be manually, using a service like AWS ECS, or OpenShift, etc… Today, I’m going to walk you through a deployment process using Kubernetes also known as simply k8s.


    Hook 42: August Accessibility (A11Y) Talks - A11Y Meetups, Camps, and Beyond

    2 months ago

    Dennis Deacon has been involved in digital accessibility for the past four years, most recently as an Accessibility Engineer with The Paciello Group. He’s led the Chicago Digital Accessibility & Inclusive Design Meetup since December 2014. He is organizing Chicago's first Accessibility Camp later this year. And, he leads the curation of the 24 Accessibility article series.

    Dennis Deacon spoke about starting the Chicago Digital Accessibility and Inclusive Design Meetup. He spoke about digital accessibility but focused on delivering the most accessible events possible.

    Zhilevan Blog: Drupal Global Services, How to use global services in Drupal 8

    2 months ago
    One of the significant improvements of Drupal 8 that got me excited was the services & dependency-injection throughout the entire Drupal system. From aspects like routing, templating, managing configuration, querying and persisting data, you name it everything is done with services. it's fantastic because it grants developers a level of flexibility in extending Drupal that is far greater than what Drupal 7 was able to. by using well-disposed structure developers get ride of ravioli coding.

    Ashday's Digital Ecosystem and Development Tips: Drupal Module Spotlight: Reroute Email

    2 months 1 week ago

    “Excuse me, Mr./Mrs. Client, I’m so sorry but I accidentally just sent your 3000 users a fake purchase email receipt when I was testing.”


    Big complex systems are a lot to keep track of, especially when it comes to email. There are emails for resetting passwords, emails for new users, email receipts, email notifications for workflows, etc, and it’s frankly a little terrifying to rely on yourself to remember all the implications of what’s going on when working on local environments, or test servers or anywhere but production. All you have to do to experience this pain is trigger an accidental FAKE email send to REAL people. 

    That’s where modules like today’s spotlight comes in. 

    OPTASY: 10 Drupal SEO Mistakes You Do Not Want to Make on Your Website: From Least to Most Harmful- Part 1

    2 months 1 week ago
    10 Drupal SEO Mistakes You Do Not Want to Make on Your Website: From Least to Most Harmful- Part 1 adriana.cacoveanu Fri, 08/24/2018 - 17:17

    You have made, are currently making and will continue to make various Drupal SEO mistakes. From those easy to overlook gaffes to (truly) dumb neglects, to critical mistakes severely impacting your site's ranking... 

    Just face it and... fix it! 

    And what better way of becoming aware of their impact on your site than by... getting them exposed, right? By bringing them into the spotlight...

    Therefore, here are the 10 SEO mistakes you really don't want to make on your website: the “culprits” for your site's poor ranking.

    Take note of them, assess their occurrence/risks for your Drupal site's SEO and strive to avoid them:

    1. Overlooking or Misusing Header Tags

    Do it for the crawlers or do it for your site visitors.

    OpenSense Labs: A Tryst With Drupal And Virtual Reality

    2 months 1 week ago
    A Tryst With Drupal And Virtual Reality Shankar Fri, 08/24/2018 - 18:11

    Ever felt so intrigued by the movie that you were watching in a cinema hall and were completely immersed in it? Not only sometimes it can make you reminisce about instances from your own life but let you identify yourself with the characters in the film. You can start feeling like you are part of the film only to realise in the end it was just a film after all. Immersive experiences can happen in a spectacularly made film. To take the immersive experience to the next level, virtual reality is the answer.

    Eelke Blok: Quick tip: generating a site hash for Drupal 8

    2 months 1 week ago

    Drupal 8 will actively complain when your site does not have a hash_salt configured, which usually gets generated when installing the site. (The complaint, mind you, might be fairly obscure; your site might just say "The website encountered an unexpected error. Please try again later." Depending on your error reporting settings, the message might be a bit more helpful). If, for example, you "install" a site by copying over a database and files, you will not have this.

    OPTASY: What Are Some Good Ways to Write Secure Drupal Code? Most Common Vulnerabilities and Secure Coding Practices

    2 months 1 week ago
    What Are Some Good Ways to Write Secure Drupal Code? Most Common Vulnerabilities and Secure Coding Practices radu.simileanu Fri, 08/24/2018 - 08:44

    With the Drupalgeddon2 "trauma" still “haunting” us all — both Drupal developers and Drupal end-users — we've convinced ourselves that prevention is, indeed, (way) better than recovery. And, after we've put together, here on this blog, a basic security checklist for Drupal websites and revealed to you the 10 post-hack “emergency” steps to take, we've decided to dig a bit deeper.

    OpenSense Labs: How NLP & Drupal Can Be Combined To Provide The Best User Experience

    2 months 1 week ago
    How NLP & Drupal Can Be Combined To Provide The Best User Experience Akshita Fri, 08/24/2018 - 08:21 Knowledge and reasoning have enabled machines to beat even humans while bringing new power to the web.

    Inspired by complex human autonomy, Artificial Intelligence (AI) is the perfect mix of science and art. The application of machine learning has advanced to an extent that it can read, understand, analyze and process the language. Siri, Cortana, Echo, and the Google Assistant are all great examples.

    OSTraining: 5 New Features You'll See in Drupal 8.6

    2 months 1 week ago

    Every six months, Drupal releases a new version.

    Drupal 8.6 is not ready yet and is scheduled for release on September 5.

    However, we already know what features will be in the final version. A Release Candidate is now available and at this point, the core is frozen and no new features will be added. 

    So, now is a great time to dive in and discover what new features we'll see. Some of these features are outstanding!

    Palantir: The MIT Press

    2 months 1 week ago
    The MIT Press brandt Thu, 08/23/2018 - 10:26

    How we developed a Drupal 8 site and integrated with a custom API for the MIT Press to showcase their collection.

    mitpress.mit.edu Providing Readers New Ways to Discover Timeless Works of Literature On

    The MIT Press is known for publishing works that showcase iconic design, rigorous scholarship, and creative technology. Their collection represents a strong heritage of art, science, and technology, which is displayed by their catalog of over 8,000 unique, significant works by pioneering authors including Noam Chomsky, Paul Krugman, and Patricia Churchland. The Press advances knowledge by publishing work that serves a global audience, and they have been committed to this effort for almost 60 years.

    In late 2016, change was afoot at the Press. The marketing team was energized by the addition of a new director to their lineup, their website was long overdue for a modernization, and they had recently partnered with a design agency (Pentagram) to begin a brand overhaul.

    And so they began their search for a seasoned agency to undertake their website redesign process. Enter Palantir.

    The Key Results
    • Prototyping a semantic HTML framework for a responsive, mobile-first experience.
    • Developing a Drupal 8 website that provides the MIT Press with marketing tools for the promotion of their catalog.
    • Integrating MIT’s book data services into the Drupal site, so that editors can leverage existing tools along with those required for web publishing.
    • Supporting an e-commerce experience that provides the best user experience for customers.
    The Challenge

    The former MIT Press website was a Drupal 6 instance last designed in 2012, and aside from having an outdated technical stack, it suffered in overall user experience. The new site needed to make it easy for visitors to peruse the Press’ catalog of beautiful books with amazing covers. It needed to offer new and exciting ways to present content and enhance the search experience. Most importantly, it needed to continue driving that pursuit of knowledge that the Press endeavored to promote when they set-up shop in 1962.

    Creating a Living Style Guide

    We were fortunate to work with Pentagram, a design partner who authentically showcased the MIT Press’ refreshed brand identity. They provided a brand guide that we were able to adapt beautifully for the web. Palantir’s design implementation process began on a foundation of static compositions that we received from Pentagram.

    Our design team expanded on these comps to build out a living style guide that addresses web accessibility standards and documents responsive content layouts, all while maintaining the integrity and feel of the original designs.

    The Ability to Market Their Collection

    Mitpress.mit.edu is intended to be the canonical source for all information relating to MIT Press’ published works. At the forefront of their team’s minds was one important question: how do we make it easier for readers to find the titles they are looking for, and ultimately, start curating their own collection of books?

    Palantir addressed this need by building out a suite of marketing tools that the MIT Press publishing team had never before had. These tools allowed them to create new kinds of content to showcase information about the collection in new, visually exciting ways.

    The MIT Press team can now create book landing pages, self-managed static pages, campaign landing pages and custom microsites.

    Custom API Integration

    MIT Press’ internal database already housed a record of all of their books, including information like when a title was published, cover image files, and more. Because it was already part of their workflow as a publishing house, MIT Press needed to continue maintaining book information using that specific system.

    The main challenge they faced was how to pull all of that book data in from their publishing system and expose it on the new website. Their previous workflow involved exporting a large file from the publishing database and then importing that data into the website, but this produced challenges as there was no control over editorial workflow or how information appeared on the site. It also meant updates to titles on the site only happened when they had time to import massive files to their site.

    After migrating the site to Drupal 8, Palantir integrated custom Drupal entities with MIT Press’ custom API which provides all of their book data. Nearly all of the information about books and contributors comes from the MIT Press API, even related book titles. The MIT Press marketing team can now use information pulled in through the API to spin up the landing pages and other content that help showcase their collection.

    The API integration between the internal publishing system and the Drupal website allows MIT Press content authors to continue using their existing editorial workflows, which frees up precious time for their team to concentrate on higher level strategic objectives.

    We have quite a few different audience types, and Palantir has helped make the website accessible to all of them. They made sure the pathways are clear and prominent, making them easier to navigate, which will hopefully lead to higher conversions and more books being purchased.

    Sara Fleming


    The End Result

    Having a streamlined user interface has been the biggest win for the Press. Many of the titles they publish are ones that are considered timeless references in the fields of architecture, design, science, and technology, and the new site not only puts those works in context but also makes it easier for visitors to discover new ones as well.  

    This project was recognized in the 2018 Webby Awards as an Official Honoree in the category of Corporate Communications Websites.

    Web Wash: Drupal CLI: Drush and Drupal Console

    2 months 1 week ago

    Drupal Console and Drush are two command line (CLI) tools built for Drupal. For a long time Drush was the only CLI tool and it was very useful for managing Drupal sites. Common tasks you’d do with Drush are rebuild caching, installing sites, import/export configuration and so much more.

    Then Drupal Console came onto the scene and offered other goodies such as the ability to generate boilerplate code, which Drush 9 can now do as well. People often ask "Can you run Drush and Drupal Console together" and the answer is yes, I personally use both. If you install Drupal using drupal-composer/drupal-project then you get both Drush and Drupal

    In the video above, you'll learn how to use Drush and Drupal Console.

    Drupal Europe: The Inspiration of our Blockchain Panel:

    2 months 1 week ago
    Image by LuckyStep @shutterstock
    • to revolutionize publishing, with a new rewarding model in an environment which can build trust and allows community governance.
    • to reshape open source communities, with a better engagement and rewarding system.
    • to free digital identity, thus killing the need of middlemen at the protocol layer.

    Blockchain is an universal tool and can be applied in many different areas.

    Communities, like the Drupal Community, can find new ways to flourish. Even larger and risky projects can be financed in new ways, with ICO (Initial Coin Offer). Taco Potze (Co-Founder Open Social) has a 10 year Drupal background and is an expert on Communities. He is working on blockchain technology to build a better engagement and rewarding systems for communities. Wouldn’t that be really nice for us?

    See also Taco’s session: ICOs, a revolutionary way to raise money for your company

    Publishing and its classic monetization model is challenged. Intermediates are about to disrupt the relationship between authors and publishers and their readers. This is based on a troublesome business model, with massive tracking and profile building, to turn our engagement in advertisement money. At the same time poor content and fake news has become a threat to our society. Gagik Yeghiazarian (CEO, Co-Founder Publiq) is looking for new ways to address these problems, with a non profit, distributed media platform based on blockchain.

    See also Gagik’s session: Blockchain Distributed Media — A Future for good publishing

    The Internet is broken and blockchain can fix it. The biggest promise with blockchain is to make middlemen obsolete, by creating trusted identities in an open protocol. This is to break the monopoly of the middlemen and to retain a free web. We recognize aribnb, amazon, ebay, netflix, itunes as middlemen. We understand, when we by or book, they get their share. With Google, Facebook and YouTube there are some other huge monopoly middlemen, they get their share based on our attention and personal data. They know how to transfer our attention into dollars, by selling it to advertisers. Ingo Rübe (CEO Bot Lab) is working on a protocol, which will allow people to gain control of their digital identity. It will be called KILT Protocol. (Ingo is well known in the Drupal Community and a Member of Drupal’s Advisory Board. As a former CTO of Burda he was the Initiator of the Drupal Thunder Distribution)

    Our Panel will be moderated by Audra Martin Merrick, a board member of Drupal Association.

    Drupal Europe
    Your Track Chairs

    1 week 2 days ago
    Drupal.org - aggregated feeds in category Planet Drupal
    Subscribe to Drupal Planet feed