Media entity Tumblr

New Drupal Modules - 19 September 2016 - 5:15am

Tumblr integration for Media entity module

Categories: Drupal

Media entity facebook

New Drupal Modules - 19 September 2016 - 5:14am

Facebook integration for Media entity module

Categories: Drupal

Steal This: No Forests On Flat Earth

Gnome Stew - 19 September 2016 - 1:21am

Fringe conspiracy theories are often fertile ground for gaming ideas, but the recent “no forests on flat earth” is so amazingly bizarre that it towers above the competition for material to steal for your game. The original video is an hour and a half long and a bit of a mess, but I’ve embedded it below. Of better value is an article from The Atlantic that sums up the “theory” and gives some interesting context that I won’t get into here but is worth reading.

The general gist of the theory is this: what we know as trees aren’t really trees. Real trees were sky scraping multi kilometer high colossi. In the primordial era they sustained all life on the flat earth. But, some unknown entity used massive machines to clear cut the planet, forever devastating our ecosystem. In the modern era, the only reminder of this past are the massive broken stumps of these world trees which we now call mountains.

Oddly enough it’s apparently gaining some real traction out there, which always weirds me out a little. I’m for spreading fantasy and whimsy in the world, but things like this give me pause. Could that many people really just be running with it as a joke? But they have to be, right?

Here’s a laundry list of elements ripe for the plucking:

  • A cataclysmic extinction event
  • An entire world of world trees
  • A live earth
  • Living information matrices in organic matter
  • Alien forces literally tearing apart a planet
  • An all-connecting life-force
  • A slowly spreading rot of the world
  • The planet is a corpse
  • Symbolic magic

This world is a perfect campaign setting no matter how you slice it.

  • Pre-apocalypse you have a surreal setting where people live in massive world trees, among the colossal fauna that must surely exist in such a forest. Magic is ubiquitous and tied into the bio-memory of trees and a connected life force.
  • Post-apocalypse you have survivors struggling to stay alive without the life sustaining trees, the grand cities are gone, the beasts that once thrived are starving, feral, and just outside your doorstep.
  • Or go with during the apocalypse where parts of the world have been ravaged, refugees are streaming in from their destroyed cities, tensions are high and resources are strained, and the brave, foolhardy, and grim are fighting the hopeless fight even knowing that if they succeed in driving back the forces destroying the world, it may be too late.

It’s bizarre and surreal, sort of Lin Carter’s Green Star meets Jack Vance’s Dying Earth and given the successful kickstarter for Monte Cook’s upcoming surreal Invisible Sun RPG, this couldn’t have come at a better time for gaming.

Categories: Game Theory & Design

Aurelien Navarre: How to return the path to an enabled Drupal module or theme?

Planet Drupal - 19 September 2016 - 12:33am

In Drupal 7, it was fairly easy to retrieve the filesystem path for, say, enabled modules.

mysql> SELECT filename, name FROM system WHERE status = 1 AND name = "xmlsitemap"; +--------------------------------------------------------+------------+ | filename | name | +--------------------------------------------------------+------------+ | sites/all/modules/contrib/xmlsitemap/xmlsitemap.module | xmlsitemap | +--------------------------------------------------------+------------+ 1 row in set (0.00 sec)

Why would you do that? Simply because sometimes you can run into issues caused by duplicate .info files in the filesystem. A common error is when you're deleting a duplicate module or changing directories in the filesystem but the module is still registered in the database in its original location. This will make Drupal sad when it bootstraps.

When this happens, you need to know where a particular module is being loaded from. You may compare the results of the above MySQL query with a simple Linux command to find all occurrences of those filenames in your Drupal docroot and try to narrow down the issue (e.g. is the filename being loaded still present on the filesystem?). This could be with the form:

$ find . -type f -name "*.info" | grep -oe "[^/]*\.info" | sort | uniq -d

Let's say is our culprit. We can refine the Linux find command accordingly:

$ find . -type f -name "" ./sites/all/modules/xmlsitemap/ ./sites/all/modules/contrib/xmlsitemap/

Which gives the full path to the duplicate .info file.

What matters the most here is we don't need to bootstrap Drupal, which can be a lifesaver in case the site is down.

Going forward with Drupal 8

In Drupal 8 we still have drupal_get_path() to help if we can bootstrap Drupal.

Psy Shell v0.7.2 (PHP 5.6.24 — cli) by Justin Hileman >>> drupal_get_path('module', 'xmlsitemap'); => "modules/xmlsitemap"

However, we can no longer query the {system} table. One workaround I found is to decode the corresponding {key_value} entry. E.g.:

$ drush sqlq "SELECT CONVERT(value USING utf8) FROM key_value WHERE collection = 'state' AND value LIKE ''" | grep --color=auto ''

This will return a huge array, so, having a colored output for grep is helpful to get the filename to the loaded .info.yml file.

This gets the job done but not as cleanly as I would. Do you know of any better way to achieve this?

Categories: Drupal

Fuzzy Thinking: Drizzy Do\'Armyden

RPGNet - 19 September 2016 - 12:00am
Fuzzy muchkins.
Categories: Game Theory & Design

Repeat filter

New Drupal Modules - 18 September 2016 - 11:21pm
Categories: Drupal

Traveling through Tuscany

Dries Buytaert - 18 September 2016 - 6:38pm

Four weeks ago we went on a vacation in Tuscany. I finally had some time to process the photos and write down our memories from the trip.

Day 1

We booked a last-minute house in a vineyard called Fattoria di Fubbiano. The vineyard has been producing wine and olive oil since the 14th century. On the eastern edge of the estate, is Al Magrini, a Tuscan farmhouse surrounded by vines and olive trees.

When we arrived, we were struck by the remoteness. We had to drive through dirt roads for 10 minutes to get to our house. But once we got there, we were awestruck. The property overlooks a valley of olive groves and vines. We could have lunch and dinner outside among the rose bushes, and enjoy our own swimming pool with its own sun beds, deck chairs and garden umbrellas.

While it was full of natural beauty, it was also very simple. We quickly realized there was no TV or internet, no living room, and only a basic kitchen; we couldn't run two appliances at the same time. But nothing some wine and cheese can't fix. After some local cheese, olives and wine, we went for a swim in the pool. Vacation had started!

We had dinner in a great little restaurant in the middle of nowhere. We ate some local, traditional food called "tordelli lucchesi". Nearly every restaurant in Lucca serves a version of this traditional Lucchesan dish. Tordelli look like ravioli, but that is where the resemblance ends. The filling is savory rather than cheesy, and the cinnamon- and sage-infused ragù with which the tordelli are served is distinctly Tuscan. The food was exceptional.

Day 2

We were woken up by loud screaming from Stan: "Axl got hurt! He fell out of the window!". Our hearts skipped several beats because the bedrooms were on the second floor and we told them they couldn't go downstairs in the morning.

Turns out Axl and Stan wanted to surprise us by setting the breakfast table outside. They snuck downstairs and originally set the table inside, wrote a sweet surprise note in their best English, and made "sugar milk" for everyone -- yes, just like it sounds they added tablespoons full of sugar to the milk. Axl then decided he wanted to set the table outside instead. They overheard us saying how much we enjoyed eating breakfast outside last time we were in Italy. They couldn't open the door to the backyard so Axl decided to climb out of the window, thinking he could unlock the door from the outside. In the process, he fell out of the window from about one meter. Fortunately since it was a first floor window (ground level window), Axl got nothing but a few scratches. Sweet but scary.

Later on, we went to the grocery store and spent most of the day at the pool. The boys can't get enough of playing in the water with the inflatable crocodile "Crocky" raft Stan had received for his birthday two years ago. Vanessa can't get enough of the sun and she also confiscated my Kindle.

With no Kindle to read on, I discovered poop next to the pool. I thought it was from a wild horse and was determined to go to look for it in the coming days.

In the late afternoon, we had snacks and prosecco, something which became our daily tradition on vacation. The Italian cheese was great and the "meloni" was so sweet. The food was simple, but tasted so much better than at home. Maybe it's the taste of vacation.

Vanessa did our first load of laundry which needed to dry in the sun. The clothes were a little crunchy, but there was something fulfilling about the simplicity of it.

Day 3

In good tradition, I made coffee in the morning. As I head downstairs the morning light peeks through all the cracks of the house, and highlights the old brick and stone walls. The coffee machine is charmingly old school. We had to wait 20 minutes or so for the whole pot to brew.

Vanessa made french toast for breakfast. She liked to shout in Dutch "Het is vakantie!" during the breakfast preparation. Stan moaned repeatedly during breakfast - he loved the french toast! It made us laugh really hard.

Today was a national holiday in Italy so everything is closed. We decided to spend the time at the pool; no one was complaining about that. Most weeks feels like a marathon at work, so it was nice to do absolutely nothing for a few days, not keep track of time, and just enjoy our time together.

To take a break from the pool, we decided to walk through the olive groves looking for those wild horses. Axl and Stan weren't especially fond of the walk as it started off uphill. Stan told us "I'm sweating" as if we would turn back. Instead of wild horses we found a small mountain village. The streets were empty and the shutters were closed to keep the peak heat of the day out. It seemed like we had stepped back in time 30-40 years.

Sitting next to the pool gave me a lot of time to think and reflect. It's nice to have some headspace. Our afternoon treat by the pool was iced coffee! We kept the leftover coffee from the morning to pour over ice for a refreshing drink. One of Vanessa's brilliant ideas.

Our evening BBQs are pretty perfect. We made Spanish style bruschetta; first grilling the bread, then rubbing it with garlic and tomato, drizzle some local olive oil over it, and add salt and pepper. After the first bite it was requested we make this more often.

We really felt we're all connecting. We even had an outdoor dance party as the sun was setting. Axl wrote in our diary: "Vanessa laughed so hard she almost peed her pants. LOL.". Stan wanted to know if his moves made her laugh the hardest.

Every evening we would shower to wash off the bug spray, because mosquitos were everywhere. When it was finally my time to shower, we ran out of water -- just when I was all soaped up. Fortunately, we had a bottle of Evian that I could use to rinse off (just like the Kardashians).

Day 4

We set the alarm for 7:30am so we could head to Lucca, a small city 30 minutes from our house -- 15 minutes of that is spent getting out of the vineyard and mountain trails. We were so glad we rented "Renny", our 4x4 Jeep Renegade, as there are no real paved roads in the vineyard.

We visited "La Boutique Dei Golosi", a tiny shop that sold local wines, olive oils and other Italian goods. The shop owner, Alain, opened bottles of wine and let us taste different olive oils on bread. He offered the boys samples of everything the adults tried and was impressed that they liked it. Interestingly enough, all four of us preferred the same olive oil. We shipped 5 bottles home, along with several bottles of wine, limoncello and 3 jars of white truffle paste. It was fun knowing a big box of Italian goods would arrive once we were home.

When we got back from Lucca, we fired up the grill and drank our daily bottle of prosecco. Every hour we hear bells ring -- it's from the little town up on the hill. The bells are how we kept track of time. The go-at-your-own-pace lifestyle is something all North Americans should experience. The rhythm of Tuscany's countryside is refreshing -- the people there know how to live.

Axl and Stan enjoyed the yard. When they weren't playing soccer or hunting for salamanders, they played ninjas using broomsticks. Axl was "Poison Ivy" and Stan was "Bamboo Sham". Apparently, they each have special moves that they can use once every battle.

Day 5

Today we went wine tasting at our vineyard, Fattoria di Fubbiano, and got a tour of the cellar. It was great that the tour was in "inglese". We learned that they manage 45 hectares and produce 100,000 bottle of wine annually. We bought 21 of them and shipped them home so there is only 99,979 left. The best part? We could walk home afterwards. :)

Our charcoal reserves are running low; a sign of a great vacation.

Day 6

We visited Montecatini Alto, about a 40 minute drive from our house. To get to Montecatini Alto, we took a funicular built in 1898. They claim it is the oldest working cable car in the world. I believe them.

Montecatini Alto is a small medieval village that dates back to 1016. It's up on a hill. The views from the village are amazing, overlooking a huge plain. I closed my eyes and let my mind wonder, trying to image how life was back then over a thousand year ago.

At the very top there was an old church where we lit a candle for Opa. I think about Opa almost every day. I imagined all of the stories and historic facts he would tell if he were still with us.

The city square was filled with typical restaurants, cafes and shops. We poked around in some of the shops and Stan found a wooden sword he wanted, but couldn't decide if that's what he wanted to spend his money on. To teach Axl and Stan about money, we let them spend €20 of their savings on vacation. Having to use their own money made them think long and hard on their purchases. Since the shops close from 1pm to 2:30pm, we went for lunch in one of the local restaurants on the central square while Stan contemplated his purchase. It's great to see Axl explore the menu and try new things. He ordered the carbonara and loved it. Stan finally decided he wanted the sword bad enough, so we went back and he bought it for €10.

When we got back to our vineyard, we spotted wild horses! Finally proof that they exist. Vanessa quickly named them Hocus, Pocus and Dominocus.

In the evening we had dinner in a nearby family restaurant called "Da Mi Pa". The boys had tordelli lucchesi and then tiramisu for dessert. Chances are slim but I hope that they will remember those family dinners. They talked about the things that are most important in life, as well as their passions (computer programming for Axl and soccer for Stan). The conversations were so fulfilling and a highlight of the vacation.

Day 7

Spontaneous last minute decision on what to do today. We came up with a list of things to do and Axl came up with a voting system. We decided to visit the Leaning Tower of Pisa. We were all surprised how much the tower actually leans and of course we did the goofy photos to prove we were there. These won't be published.

Day 8

Last day of the vacation. We're all a bit sad to go home. The longer we stay, the happier we get. Happier not because of where we were, but about how we connected.

Today, we're making the trek to Florence. One of the things Florence is known for is leather. Vanessa wanted to look for a leather jacket, and I wanted to look for a new duffel bag. We found a shop that was recommended to us; one of the shop owners is originally from the Greater Boston area. Enio, her husband, was very friendly and kind. He talked about swimming in Walden Pond, visiting the Thoreau's House, etc. The boys couldn't believe he had been to Concord, MA. Enio really opened up and gave us a private tour to his leather workshop. His workshop consisted of small rooms filled with piles and piles of leather and all sorts of machinery and tools.

I had a belt made with my initials on it (on the back). Stan got a bracelet made out of the leftover leather from the belt. Axl also got a bracelet made, and both had their initials stamped on them. Vanessa bought a gorgeous brown leather jacket, a purse and funky belt. And last but not least, l found a beautiful handmade ram-skin duffel bag in a cool green color. Enio explained that it takes him two full days to make the bag. It was expensive but will hopefully last for many, many years. I wanted to buy a leather jacket but as usual they didn't have anything my size.

We strolled across the Ponte Vecchio and made some selfies (like every other tourist). We had a nice lunch. Pasta for Vanessa, Axl and myself. Stan still has an aversion to ragù even though he ate it 3 times that week and loved it every time. Then we had our "grand finale gelato" before we headed to the airport.

Categories: Drupal

Danny Englander: Drupal 8 Architecture: Video Tour for Designing Structured Modular Content Using Entity Construction Kit (ECK) & Inline Entity Form (IEF)

Planet Drupal - 18 September 2016 - 4:54pm

A few months back, I read an interesting blog post by Chapter Three about something they call the "Slice Template." I was really inspired after I read that, it struck me as a whole new paradigm for content creation, that of "structured modular content." At the same time, I was working on a new Drupal 8 theme and build where my objective was to create something that would give content creators lots of flexibility.

When I've had discussions with content creators in the past, more often than not, the one word that kept coming up was "flexibility." In turn, on site builds, this lead to doing some really wacky things all in one wysiwyg.

In the meantime, I had been playing around with the Paragraphs and Field Collection modules for Drupal 8 but after reading Chapter Three's post, I decided to go in different direction, that being Entity Construction Kit, "ECK."

One way of building with ECK is that you have "slices" which are entities that contain bundles and can also reference other entities that have their own bundles. On the content creation side, you can leverage the Inline Entity Form and Inline Entity Form Preview modules to create a minimalistic interface for content creators. It took me a long time to wrap my head around all this and lots of trial and error.

Now that I feel like I have a good handle on this, I decided to record a video tour of what I have been building. It's still a work in progress but I think it's well enough along to give a little demo.

  • Drupal 8
  • Video
  • Tutorial
  • Drupal Planet
  • Theming
  • Architecture
Categories: Drupal

Red Route: Considerations for a Drupal 8 upgrade

Planet Drupal - 18 September 2016 - 4:00pm

This article was originally posted on the Capgemini Engineering blog

If you're migrating from a different CMS platform, the advantages of Drupal 8 seem fairly clear. But what if you're already on Drupal? There has been a lot of discussion in the Drupal community lately about upgrading to Drupal 8. When is the right time? Now that the contributed module landscape is looking pretty healthy, there aren't many cases where I'd recommend going with Drupal 7 for a new project. However, as I've previously discussed on this blog, greenfield projects are fairly rare.

Future proofing

One of the strengths of an open source project like Drupal is the level of support from the community. Other people are testing your software, and helping to fix bugs that you might not have noticed. Drupal 7 will continue to be supported until Drupal 9 is released, which should be a while away yet. However, if your site is on Drupal 6, there are security implications of remaining on an unsupported version, and it would be wise to make plans to upgrade sooner rather than later, even with the option of long term support. While the level of support from the community will no longer be the same, sites built on older versions of Drupal won't suddenly stop working, and there are still some Drupal 5 sites out there in the wild.

Technical debt

Most big systems could do with some refactoring. There's always some code that people aren't proud of, some decisions that were made under the pressure of a tight deadline, or just more modern ways of doing things.

An upgrade is a great opportunity to start with a blank piece of paper. Architectural decisions can be revisited, and Drupal 8's improved APIs are ideal if you're hoping to take a more microservices-oriented approach, rather than ending up with another MySQL monolith.

Drupal's policy of backward incompatibility means that while you're upgrading the CMS, you have the chance to refactor and improve the existing custom codebase (but don't be suckered in by the tempting fallacy that you'll be able to do a perfect refactoring).

There are no small changes

Don't underestimate how big a job upgrading will be. At the very least, every custom module in the codebase will need to be rewritten for Drupal 8, and custom themes will need to be rebuilt using the Twig templating system. In a few cases, this will be a relatively trivial job, but the changes in Drupal 8 may mean that some modules will need to be rebuilt from the ground up. It isn't just about development - you'll need to factor in the time it will take to define requirements, not to mention testing and deployment. If it's a big project, you may also need to juggle the maintenance of the existing codebase for some time, while working on the new version.

The sites that we tend to deal with at Capgemini are big. We work with large companies with complex requirements, a lot of third party integrations, and high traffic. In other words, it's not just your standard brochureware, so we tend to have a lot of custom modules.

If it ain't broke, don't fix it

Given the fact that an upgrade is non-trivial, the question has to be asked - what business value will an upgrade bring? If all you're doing is replacing a Drupal 7 site with a similar Drupal 8 site, is it really a good idea to spend a lot of time and money to build something that is identical, as far as the average end user can tell?

If the development team is focused on upgrading, will there be any bandwidth for bug fixes and improvements? An upgrade will almost certainly be a big investment - maybe that time, energy and money would be better spent on new features or incremental improvements that will bring tangible business value and can be delivered relatively quickly. Besides, some of the improvements in Drupal 8 core, such as improved authoring experience, are also available in the Drupal 7 contrib ecosystem.

On the other hand, it might make more sense to get the upgrade done now, and build those improvements on top of Drupal 8, especially if your existing codebase needs some TLC.

Another option (which we've done in the past for an upgrade from Drupal 6 to 7) is to incrementally upgrade the site, releasing parts of the new site as and when they're ready.

The right approach depends on a range of factors, including how valuable your proposed improvements will be, how urgent they are, and how long an upgrade will take, which depends on how complex the site is.

The upside of an upgrade

Having said all of that, the reasons to upgrade to Drupal 8 are compelling. One big plus for Drupal 8 is the possibility of improved performance, especially for authenticated users, thanks to modern features like BigPipe. The improved authoring experience, accessibility and multilingual features that Drupal 8 brings will be especially valuable for larger organisations.

Not only that, improving Developer Experience (DX) was a big part of the community initiatives in building Drupal 8. Adopting Symfony components, migrating code to object-oriented structures, improving the APIs and a brand new configuration management system are all designed to improve developer productivity and code quality - after the initial learning curve. These improvements will encourage more of an engineering mindset, and drive modern development approaches. The net benefit will be more testable (and therefore more reliable) features, easier deployment and maintenance methods and increase speed of future change.

Decision time

There is no one-size-fits-all answer. Your organisation will need to consider its own situation and needs.

Where does upgrading the CMS version fit into the organisation's wider digital roadmap? Is there a site redesign on the cards any time soon? What improvements are you hoping to make? What functionality are you looking to add? Does your site's existing content strategy meet your needs? Is the solution architecture fit for your current and future purposes, or would it make sense to think about going headless?

In summary, while an upgrade will be a big investment, it may well be one that is worth making, especially if you're planning major changes to your site in the near future.

If the requirements for your upgrade project are "build us the same as what we've got already, but with more modern technology" then it's probably not going to be worth doing. Don't upgrade to Drupal 8 just because it's new and shiny. However, if you're looking further forward and planning to build a solid foundation for future improvements then an upgrade could be a very valuable investment.

Tags:  Drupal development agile open source All tags
Categories: Drupal

Video Game Deep Cuts: Light Guns & Myst Puzzles

Social/Online Games - Gamasutra - 18 September 2016 - 3:55pm

A compilation of intriguing video game longreads from around the web includes the upcoming death of the 'light gun' game, the trickiest Myst puzzle around, & lots more. ...

Categories: Game Theory & Design

Config Suite

New Drupal Modules - 18 September 2016 - 12:57pm

Config Suite is a set of small changes to the core Config system that eases the experience of working with configuration in a version controlled workflow. The primary function of this module is to improve validation and error messages, but for now, it simply removes an error message.

Categories: Drupal

Vardot: Drupal + SEO: Optimizing Your Site for Search Engines

Planet Drupal - 18 September 2016 - 5:49am
Case Studies Read time: 11 minutes

A few month ago when I wrote my first article about Drupal, some people noticed that for listing essential security modules one should have more development experience. It’s true, when I’ve started working at Vardot, I had to interview many developers and site builders before writing every single blog post, but the topic I’ve chosen this time is my favorite. This topic is something (beside basics of Russian language) that  I’m teaching my colleagues, but not learning from them. And this topic is called search engine optimization.



Vardot boosted its organic traffic up to 202% during last 6 month, and in this article I’ll share with you our best practices - use them to increase search engine ranks of your Drupal sites, too. So how to take the most of search engine optimization when it comes to Drupal? Here are our answers.


1. Pay attention to UX

UX design covers any touch point that the user can have with the organization. This means that a better UX-design leads to happier customers, and a bad UX-design works as a customer repellant. If your product is marketed through word of mouth publicity, than more and more people start searching for it; Google understands that it is a very positive trend and increases your organic visibility. However, latest Google searching algorithms analyze not only the popularity of your brand, but also the behavior of your site visitors. Search engines calculate the amount of time people spent on a webpage, number of pages viewed per session, and bounce rate as an indicator of customer satisfaction. Below you’ll find UX factors that are critically important for developers.


  • Design

If a website attracts a good amount of traffic, but users are not able to find what they are looking for, Google is decreasing the position of the website on search engine result pages. An unattractive design or a slow website make users close it, which affects your SEO. Therefore, UX is becoming one of the important ranking factors.


  • Site structure

Website structure is an organic process that starts with an initial design and undergoes a number of tweaks and redesigns as it starts taking shape. In relation to SEO, the structure of a website plays a crucial role. There are mainly three aspects for site structuring: Site Navigation, Internal Linking, and URL structuring. When it comes to navigation, make sure you avoid the kind that makes it difficult for the search engines to crawl through your website’s pages. Secondly, it would be a good idea to create internal links which offer an opportunity to create and use keyword rich anchor texts. Finally, URL structuring gives that added and a very important benefit of integrating your company’s target keywords with its vital navigation area.

Link Structure: Analyzing the Most Important Methods


  • Proper code

There’s a concept in coding known as the time-space tradeoff. This means the complexity of a code can reduce its size but will increase its processing time and vice versa. The key here is to establish the right balance.

Also, it’s equally important to keep testing your code for bugs. They affect the bounce rate of a website as nobody likes to read a page that has loading or any other issues. Remember, it’s not always about crawlers - it’s much more about customer satisfaction.


  • Improve Site Speed, Performance and Raise Application Performance Index (Apdex)

Apdex measures the ratio of satisfactory response time and unsatisfactory response time against a set threshold. Last investigations show that websites with a load delay of a few seconds have 7% more bounce rate than the others. Make sure to check-list everything that can help you to make your site faster.  


  • Prevent Duplicate Content

Nothing kills a website faster than duplicate content. You need to have original and unique texts that convey your message effortlessly. In case you need to copy and paste an article as it is from somewhere else, make sure you add a canonical URL to let Google now that you’ve mentioned the original source and not plagiarized it.


  • Remove 404 (content-not-found)

Content-not-found occurs on the client side when a given web page is deleted or moved to another location and the new URL is not updated. A big number of broken links on your site can affect its PageRank and decrease its visibility in search engines. Make sure time to time to crawl your website using tools like SEMrush and remove links pointing to inactive or non-existent pages.


2. Tell search engines what is your site about
  • Title tags


Title tags are among the most important aspects for efficient SEO of any web page, and it is highly important to include your main keywords to the title of the page. Google are (or is?) following the approach of repeating your title tag information in the search engine result page (SERP), so it also affects the clicking rate. A well crafted tag is easy to read and gets more clicks. The rule of the thumb is to write like a copywriter or write it in a way so that it can also be used on an advertisement brochure. Make sure that you have only one title tag per page. Keep things short and crisp. A title tag is more like a punch line: if you need to speak more about it, change it. Title tag should be of 60 characters in length and should include the main keyword. For more advice, check this amazing article.


  • Meta tags

Correct use of Meta Tags increases your website’s search rankings. They can be found in the head of every page i.e. between the HTML tags. If you consider the statistics, 90% of users look only at the top 20 to 30 search results, so your goal should be to land somewhere in this range or higher. The top search engines today use meta tags to index your pages, therefore it goes without saying how important it is to use them to get your site indexed and increase its rankings. There exists a range of meta tags that Google understands - use them all.


  • Meta Description


Meta description is a brief description of the page, basically piece of code situated in the header. There you can include extra details. To make it worth for your SEO efforts, there are some rules that you can follow. Keep your description restricted to a range of 135 to 160 characters and don’t forget to include keywords in it. Keep the form of the subject active and actionable which simply means use sentences that drive the reader to click on your link. Make your description unique, structured and a reflection of what your content is about and also at the same time containing the focus keywords. Search Engine Land gives you more advice to the topic.


  • Open Graph

This will provide social identity to every page of your website. One of the key roles of Open Graph is that it adds a snippet that appears automatically when an article is shared. The amount of traffic you attract and clicks you get is proportional to how engaging your OG snippet text is. Facebook established it in order to improve the presentation of pages on their social network. By using this protocol, your webpage will become a part of their social graph. The protocol is to supply accurate information required by the search engines. This increases the SEO rankings of your pages because search engines like Google are optimized to detect these Open Graph Meta Tags. You can integrate the Open Graph Protocol in your web pages to boost the SEO rankings. Facebook also provides Open Graph Testing Protocol which can be used to check the information that will be presented. You can say that this is the new way to represent the data on the internet.


  • ALT Tags for Images


It’s more difficult for search engines to recognize images as compared to texts, and alt tags are used to explain crawlers what is the content of the page about. Search engine queries with respect to your image will be exponentially enhanced if you follow best policies to generate your alt tags. Moreover, for images that are linked, alt tags work in a similar manner as anchor texts for text links. Using alt tags on all your images may consume a little more time than what you originally planned, but remember that this does provide its share in increasing your rankings. Above all, for a better performance of your content make sure to include keywords to your image descriptions.


3. Create friendly environment for Crawlers
  • Search Engine Friendly URLs

Let me illustrate this with an example. Here are two sample URL’s for you “” and “”. Which one do you find easier to read and understand? The same goes for SEO as well. Friendly URLs explain the path to a search engine in a way which is easy to understand and call. In the example we mentioned, it is the latter that will be easily called by search engine bot.


  • XML Site-map

XML sitemap is a document that allows a website’s webmaster to inform Google and other search engines about your website and lets them identify and understand each and every URL that helps in a better crawling. XML sitemap contains information like when was the webpage last updated, how often the website undergoes changes and information regarding relevance and importance of a given page in relation with other web pages. XML sitemap also lets you exclude some pages from bot’s crawl.


  • Add Site Theming

Imagine a web-crawler trying to go through your web page with “divs” everywhere. It would be hard for them to differentiate between the part of the document meant for navigation and the main article. They can analyze your document composition using some hints, like a “ul” list of internal links can mean page navigation. On the other hand, if a “nav” element is used instead of “ul”, the crawler will understand right away that this is for page navigation. H1 heading contains the category name or the product name. H2 is used for subheadings and to segregate content into segregated blocks which are easier to scan. H3 doesn’t hold much information, and they are mostly used for closing the post heading.


4. Help people find you
  • Site Verifications

Site verification on Google, Bing, Yandex and other major search engines lets them know that you are the actual owner of the given website. Once your ownership is verified, Google lets you access the private Google Data, which can improve a spider bot’s crawling abilities on your website.


  • Resource Description Framework (RDF)

Make sure your site interface includes world-wide accepted standards for Resource Description Framework (RDF) that enhances metadata description for the web.


  • Google News Site-map

The Google News sitemap contains a lot of benefits in comparison to merely numbering the URLs of every page of your website. With proper titles and publication dates tagged on a sitemap, crawlers are able to categorize your content more accurately. Moreover, you get the facility to comments on your content with keywords, stock tickers, and other metadata.


  • Multilingual content

If your site supports multiple languages, you can surely talk to more potential clients on the internet (check the statistics here). To increase the traffic of your site, translate it to different languages and make it valuable for many people.


  • Social Media integration

Social media like Facebook, Twitter, LinkedIn, etc generate more traffic and give you additional mentions on the web. Although Google doesn’t consider shares as high as normal backlinks, crawlers still measure the visibility of your site. If people keep talking about it in social networks, your rank in search engines will grow. Produce more valuable content that will be shared by people!


5. Analyze your results
  • Google Analytics Integration

Usually people can not predict everything, that’s why testing has the same importance as an actual development. The best instrument to understand what your site visitors like and what they dislike is Google Analytics. Use it to monitor and analyze the traffic and the performance of your website.



It’s true that Drupal is one of the best CMSs in terms of SEO: it helps you to generate a clean code, prevents duplicate content and spam, easily integrates with third-party tools and is very user-friendly and configurable. However, I’ve seen many Drupal sites that are not optimized at all and as a result they don’t get much organic traffic from search engines.

It is very important to remember that our responsibility as Drupal community members is not only to create an SEO-friendly framework for our customers, but also to educate them on how to get the most of it. I hope this article will help you to build websites that rank high by search engines and prove that Drupal is one of the best available CMSs for SEO.

Tags:  SEO Drupal Planet Title:  Drupal + SEO: Optimizing Your Site for Search Engines
Categories: Drupal

Video Game Deep Cuts: Light Guns & Myst Puzzles - by Simon Carless Blogs - 18 September 2016 - 3:50am
The latest Video Game Deep Cuts compilation of intriguing video game longreads from around the web includes the upcoming death of the 'light gun' game, the trickiest Myst puzzle around, & lots more.
Categories: Game Theory & Design

New Paths 9: the Priest (Pathfinder RPG)

New RPG Product Reviews - 17 September 2016 - 11:03am
Publisher: Kobold Press
Rating: 5
If you've ever had dealings with real-world ministers of religion - be it a father or a vicar, an imam or a rabbi - you know they have very little in common with the average fantasy 'cleric' apart from devotion to their deity. This priest is a bit different from the clerics you're used to playing, and wouldn't dream of picking up a weapon to further his deity's ends (spells, however, are a different matter!).

OK, so what do you get? Like any class, there's some descriptive text explaining what it's all about, the fundamental features of the class... and a rather good and dramatic drawing that suggests a spell is being cast. Then there is the usual game mechanical stuff: hit points, alignment, class skills and progression chart, then the class features are listed.

Spellcasting is a bit interesting. The priest has to prepare his spells in advance, but once he has cast a given spell it's not 'gone' - he can cast it again provided he's not cast his full allowance of spells at that level. The number of spells that can be prepared is a bit limited (and a high Wisdom doesn't help here although feats do), however the choice is wide - pretty much any cleric spell is available. The number of spells the priest can actually cast does attract a wisdom bonus. Priests also get a bonus 'cure' (if good) or 'inflict' (if evil) spell on top of the others they may learn. Neutral priests can choose which type (cure or inflict), but once made that choice is permanent. To prepare spells, the priest needs to meditate or pray for an hour, which should be at the same time every day.

Another neat feature is the Divine Gift. The priest can pray, asking his deity for a specific blessing on himself or the rest of the party - there's a list of benefits from which the priest can choose at the time of uttering the prayer. These include things like spell enhancements, the priest going invisible or being able to fly, and even calling down a divine intervention, allowing any one player to re-roll a single d20 roll with the addition of half the priest's level to the result - and still being able to choose which roll, the new one or the original one, to use!

The book rounds off with a couple of new feats and a nature-based archetype, the Chosen of Nature. They use the druid spell lists rather than the cleric ones. There's an interesting sketch of a rather punk-looking Chosen of Nature having a chat with a young fallow deer, too... although the best piece of art in the book is a white-robed fellow who really gives over the impression of having his God on his side. (Unfortunately it's not signed so I don't know which of the three artists credited is responsible.)

This makes for an interesting class, appealing to the player who enjoys getting into the role and playing a character using his powers in the service of his deity.
Categories: Game Theory & Design

Review Roundup

Tabletop Gaming News - 17 September 2016 - 11:00am
Saturdaaaaaaaaaaaaaaaaaaaaaaaaaay! Woooooooooooooooooooooooooooooooo! *runs around with my arms over my head* Ok, enough of that. Let’s get down to business. You want to see review articles and I’m here to supply them (it is one of the most-popular posts of the week, after all). Today we have: Sky Dynasty, Inis, Flash Point: Dangerous Waters, My Village, […]
Categories: Game Theory & Design

Matrix API

New Drupal Modules - 17 September 2016 - 10:00am is "an open standard for decentralized persistent communication". This module is being developed to connect Drupal sites to Matrix chat rooms. It is in its very early stages (not yet functional) but a wide range of functionality is on the roadmap to develop.

If you are a Matrix user and interested in working with us, please get in touch!

Categories: Drupal

Aram Boyajyan: Custom permissions in Drupal 8

Planet Drupal - 17 September 2016 - 5:31am
Custom permissions in Drupal 8 Sat, 17/09/2016 - 14:31

Drupal's permissions system is at the same time easy to use and very powerful. It covers most of the cases where your module provides different functionality for various roles on the site.

In both versions of Drupal this is fairly straightforward to implement through code. There are two parts to this article: defining custom permissions (both static and dynamic), and performing checks to see if the current user has access to them.

Categories: Drupal How To Force Search API To Reindex a Node / an Entity

Planet Drupal - 17 September 2016 - 5:26am

By default Search API (Drupal 7) reindexes a node when the node gets updated. But what if you want to reindex a node / an entity on demand or via some other hook i.e. outside of update cycle? Turned out it is a quite simple exercise. You just need to ...

Read now

Categories: Drupal

Dave Hall Consulting: The Road to DrupalCon Dublin

Planet Drupal - 17 September 2016 - 3:26am

DrupalCon Dublin is just around the corner. Earlier today I started my journey to Dublin. This week I'll be in Mumbai for some work meetings before heading to Dublin.

On Tuesday 27 September at 1pm I will be presenting my session Let the Machines do the Work. This lighthearted presentation provides some practical examples of how teams can start to introduce automation into their Drupal workflows. All of the code used in the examples will be available after my session. You'll need to attend my talk to get the link.

As part of my preparation for Dublin I've been road testing my session. Over the last few weeks I delivered early versions of the talk to the Drupal Sydney and Drupal Melbourne meetups. Last weekend I presented the talk at Global Training Days Chennai, DrupalCamp Ghent and DrupalCamp St Louis. It was exhausting presenting three times in less than 8 hours, but it was definitely worth the effort. The 3 sessions were presented using hangouts, so they were recorded. I gained valuable feedback from attendees and became aware of some bits of my talk needed some attention.

Just as I encourage teams to iterate on their automation, I've been iterating on my presentation. Over the next week or so I will be recutting my demos and polishing the presentation. If you have a spare 40 minutes I would really appreciate it if you watch one of the session recording below and leave a comment here with any feedback.

Global Training Days Chennai DrupalCamp Ghent

Note: I recorded the audience not my slides.

DrupalCamp St Louis

Note: There was an issue with the mic in St Louis, not there is no audio from their side.

Categories: Drupal

Jay Drupal Relation Module Configuration Manual

Planet Drupal - 16 September 2016 - 9:53pm

Today I'll show you guys how to install the Relation module for Drupal 7. Believe it or not, it took me almost five years to fully figure out how to install what I think is one of the most confusing modules ever made lol.

So what exactly does Relation do? Let's say you have a film and its sequel:

* Film 1 is followed by film 2.
* Film 2 follows film 1.

The beauty of Relation is that once you create one relation (in either direction), it creates the other one for you automatically. It's this simple thing that this module does amazingly well.

Tags: Drupal 7Drupal Planet
Categories: Drupal


Subscribe to As If Productions aggregator