DrupalCon Baltimore 2017 was, without a doubt, a great event. The first DrupalCon to hit the US East Coast since DrupalCon DC in 2009 so this (ex-) New Englander was happy to have just a day's drive to get there.

As I had missed DrupalCon New Orleans in 2016, I was eager to make the most of this year's event. Given I've been the lead maintainer of the Metatag module for a while it should be no surprise that I focused on SEO-related sessions and BOFs this time around. I also have an interest in internationalization and multilingual functionality, so I made time to attend some related sessions and BOFs.

SEO seminar

The person who literally wrote the book(s) on Drupal SEO, Ben Finklea, held a multi-hour mini seminar on improving a Drupal site's SEO rating. Ben stepped through a number of techniques and tools to help, appearing to follow the latest edition of his Drupal book. I stopped by for a few moments and was pleased to see a good crowd in attendance.

SEO BOF

As is my tradition, I held a Birds-of-a-Feather, aka "BOF", focused around search engine optimization. The BOF was very well attended, with a few people having to stand as all the seats had been filled already.

Metatag

We started the discussion on Metatag. I explained how I'd always considered that the release of an an "easy" or "simple" edition of a module to be a sign that the maintainers had failed on their goal of porting a module to a new release of Drupal. upon seeing someone release a module called "Easy Meta" I released Metatag 8.x-1.0 within three days at the end of January, just to get it out the door. I mentioned that the Views integration was a high priority for the next release, which did in fact go into Metatag 8.x-1.1 at the end of May.

One point we discussed was that it could take some effort to properly build out the necessary configuration using Metatag for a site. Ben Finklea joined us and explained that, even as a seasoned user of Drupal 8 and Metatag, it could still take him upwards of eight hours to fully tune each content type, vocabulary, etc on an average site, because of the need to go back ‘n forth between different settings forms to configure everything. I mentioned how I had the same experience, how I had built a spreadsheet to list all meta tags to help plan out how it all should be configured across an entire site, but that after two or three sites it then became almost more effort to go through and copy/paste everything into Metatag. I then shared how I had been working on a huge spreadsheet-like grid UI for managing the default configurations, but that it then lead to other problems, most notably that it could cause PHP to fail due to the number of form fields being submitted. Clearly, further work is necessary to improve upon this, so advice and help would be greatly appreciated.

A few other items came up with regards to Metatag. One item that was discussed was the possibility of being able to have a live-ish preview of what the meta tags would look like before saving changes. Some work was done for that but ultimately I felt it would need to be AJAX-driven and could get complicated to handle, especially with images and other files that could be on the form, but it definitely would be nice to have.

A pain point that some mentioned was that it can be hard to tell where individual meta tag values come from. For example, if a node has an output that contains incorrect information, it can be difficult to tell whether the output is overridden on that individual node, whether it comes from the content type's configuration, the content configuration, or the global configuration. There aren't any current plans to tackle this problem, but I'm definitely open to ideas.

Another idea that was discussed was having a way of uploading files for the various site validation features that some services use, e.g. Google. While many of these prefer something to be added at the DNS level, they still suggest uploading a text file of some sort to help prove ownership over a domain. Right now Metatag has a site validation submodule which supports several services, so it might be useful to have a separate way of uploading the text files into this system, rather than having to go through the global default configuration. There is a separate Site Verify module, but there were plans to deprecate it in favor of using Metatag, but the UI for Site Verify is easier for people who just want to do this limited task.

A final discussion point related to Metatag was in regards to JSON-LD support. Right now there are two sandbox modules available which can add some rudimentary support, though neither one is overly functional and expects the site builder/administrator to have a good deal of knowledge and skill to customize the JSON data correctly. One person I talked to prior to the BOF had suggested leveraging the data from the RDF UI module, which already provides much of this data in an appropriate structure, so it would just take extending the output to match the JSON LD format. This is not something I've personally gotten into yet, but I feel it is the next step in SEO functionality for websites so it is on my list to look at.

Schema.org and microdata

Moving past Metatag, we talked about schema.org. A pain point for people who implemented this functionality on their site was that the specifications appear to change with little notice - Google's validation tool would change its formula fairly frequently without any updates being provided on their official blogs. One site handled the schema.org output at the theme level, which worked but is a little clunky, given it is putting business logic in the theme.

One interesting tidbit that came out of the BOF was related to schema.org's data structures. Apparently, they're "very good", to quote one attendee, at expanding the specifications to cover new data models. So, should that need arise, it's apparently worth taking the time to reach out to the schema.org people. Good to know!

Sitemaps

In the sitemap world, most of the attendees were using Simple XML Sitemap as the original XML Sitemap module's development had pretty much stopped. The module doesn't (yet) cover every use case, but what is available has been very reliable.

On a related note, the GoogleNews module could use some TLC; it's a news standard that isn't used too much, but some sites have had some good success with it.

Google AMP

One of the recent changes in web performance is the AMP system from Google. Lullabot has put together a step-through guide (https://www.lullabot.com/articles/how-to-try-out-amp-with-drupal) on using a module and theme combination for making a site AMP-capable, and several people mentioned they'd used it with good success. Discussing AMP in general, people lauded its speed for visitors but mentioned content had a really high bounce rate, generally a low engagement, and the few who tried had a difficult time trying to break the visitor out of the AMP page.

During the course of the BOF, an idea sprang up about extending the SEO checklist module to have it work on a per-entity basis. Ben Finklea had been considering this functionality but had not built it out yet. The idea would be to help improve the SEO value of individual entities, e.g. nodes, e.g. to make sure that it has a good URL, that it has image and description meta tags, etc. This sounded like a great idea and hopefully something will come of it.

Internationalization (i18n)

For a community and software project that is worked on by thousands of people around the world, the ability to localize content and interface is an important requirement. Drupal 8 really shines in this regard and over the week there were many sessions and BOFs dedicated to helping people make the most of it.

On Monday, while all of the training was being held, about twenty of us gathered for the third Community Summit. First held in New Orleans, my first summit was at DrupalCon Dublin where I enjoyed hearing great insights from the wonderful Jenny Wong about how the WordPress community is organized and operates.

Working as a somewhat unconference style, this time around the summit fairly quickly split into two main subgroups - one focused on event organizing and all that it entails, and another on aspects of promoting and supporting Drupal with an international audience.

It may not come as a surprise to many, but while Drupal the software has amazing flexibility for supporting every single language out there, the drupal.org community site itself and related infrastructure pieces are almost exclusively English. Some regional communities have sprung up around the world to help fill in the gaps locally with their own support infrastructure and events, prime examples being Drupal France and Drupal Brasil, both of which have very active communities.

One attendee, Seferiba Salif Soulama who was able to join us thanks to a grant from the Drupal Association, shared his experiences trying to promote Drupal in his French-dominant home country of Burkina Faso, in mid-Western Africa. He talked about the difficulties he had finding training materials in French and mentors from other countries who would be able to help. Seferiba also discussed how he had set up some training programs at local high schools to get students interested in Drupal, and shared how he was making efforts towards getting Drupal considered as a standard platform within the government; he explained that with people from other OSS communities also attempting to get their platform adopted, there is much work to be done.

The last item I'll mention was a BOF focused around internationalization, lead by two people from Lingotek. The small group of about a dozen people shared stories of different projects they'd worked on and some challenges they'd encountered. There definitely was a strong sense amongst the group that there was a lot of difficulty in getting Drupal 7 working right for different scenarios, given how many different approaches there were, and how many modules could be involved. At several times when a question was raised about a specific use case, it was noted that it would be much easier to achieve the end results with Drupal 8 than with the Drupal 7 instance the person had been using.

SEO meets i18n

On Wednesday Mediacurrent's own Jen Slemp and Lingotek's Calvin Scharffs tag-teamed on a short presentation that brought the worlds of internationalization and search engine optimization together for the first time at a DrupalCon conference. Their presentation was packed with good advice, and the recording is well worth taking the time to watch.

Grand finale

As has become the DrupalCon tradition, the finalé was the Trivia Night, with questions once again provided by the tricksters at Drupal Ireland. With most of the Mediacurrent gang already headed home, I joined a group of Acquians which included Wim Leers and Ted Bowman. While the group had already chosen their table name by the time I arrived, Ted suggested that with me on their team they should have named the group "Wim Ears". Because of my infamous rabbit ears... ==:-)

Anyhoo.. both of my topics of interest came up as questions over the night. The first one was around about round three when the night's emcee, the ever eloquent Jeff Eaton, challenged the audience to name one of the two maintainers of the Metatag module, either by their real names or their drupal.org names. Given that Metatag is the fifth most popular module for Drupal 8 I strongly suspect that a large majority of teams got that question correct, and it was an honor to mentioned in a question! Incidentally, the correct answers were either "Damien McKenna" or "Dave Reid"; alternatively, our drupal.org usernames would have been "DamienMcKenna" or "Dave Reid" - as you can tell, we're an original bunch.

The second question of interest had to do with the number of people who were credited as being part of the internationalization initiative for Drupal 8. Having completed the final piece of the initiative – supporting translation of all configuration entities – the initiative's leader Gábor Hojtsy opened an issue to credit every single person who had been involved at one point or another. Which Alex Pott then scripted. Which subsequently crashed drupal.org for a few minutes. Well, this is what happens when you try to credit 1,661 people. Which, incidentally, was the correct answer. However, what most people remembered was the mentions of "more than 1,600 contributors" in issues, blog posts and tweets that bounced around at the time. Though Mr. Eaton informed the eager attendees that the judges would accept answers to the nearest ten, our motley crew could only count to 1,600. Ah well, next time.

"These are a few of my favorite things"

As always DrupalCon Baltimore was an excellent conference and I'm glad I got to go.

I'd like to thank the Drupal Association and the many, many volunteer organizers for running DrupalCon, the presenters and BOF leaders, Mediacurrent for providing the funding to let me attend, and my wonderful family who made the trip with me and did some sightseeing in Baltimore while I was geeking-it-up.