Friday, Aug 14, 2015
When building a new website, SEO can sometimes be a bit of an afterthought, coming in after design, user experience, functionality, and a host of other considerations. This is a bit strange really, given that if you’re not getting eyeballs to your site, all the rest of it counts for nothing!
Fortunately, Drupal has a bunch of contributed modules available that can help whip your site into Google-friendly shape. A good place to start is with the SEO checklist module, which provides a huge list of ways to improve your SEO. In fact, it probably lists too many items – if you installed all of the modules it suggests on your site, chances are any SEO benefits would be outweighed by performance penalties and the difficulty of maintaining all the extra code.
...
Tuesday, Jul 21, 2015
We’re starting some exciting new Drupal projects for customers over the next few weeks, so we thought we’d take the opportunity to share with everybody what contributed modules we’re downloading for all our new sites, and why. The Will Hall Online Drupal starter kit, if you like.
Without further ado, then:
Dependencies and Basic Functionality Ctools – can’t get much done without ctools Devel – a key project for any Drupal developer Entity API – same reasons as Ctools jQuery Update – updates Drupal’s default jQuery version, which is frequently useful Libraries – we try not to add libraries where not necessary for performance reasons, but one or two we just can’t do without Token – quite a few other modules depend on Token Admin NavBar - We’re big fans of the responsive NavBar project which has been backported from Drupal 8. There’s a patch for it which enables the dropdowns to behave like the old Admin Menu too, see https://www.drupal.org/node/2481207 Module Filter – vastly improves the modules UI Site Building Views – the question is, what don’t you need views for? Flexnav – integrates the lightweight and flexible responsive menu library, flexnav, into Drupal. Our preferred responsive menu solution at the moment. Webform – we haven’t made a site without a contact us page for a while. It’s just good manners. Fences – helps to tackle Drupal 7’s endemic divitis a bit. Drupal 8 should clear this up once and for all with any luck. Paragraphs – a great way of giving the client’s content editors control over the layout and appearance of their content, without the dangerous step of providing them an empty WYSIWYG field with all of the bells and whistles attached. UI CKEditor – clients like them, and we make sure we only provide the bare minimum of text editing options. Linkit – a helpful interface for creating links to other content SEO Google Analytics – almost all of our clients are using Google Analytics to track their website performance to some extent. Don’t turn it on in the Dev environment though! XML Sitemap – Google will be upset with you if you don’t have one. Metatag – enables metadata customization, which we sometimes help our clients out with. URLs Pathauto – automatically geenrate clean URLs for your content Redirect – always turn this on for production sites so that when content is updated the URL changes to match With these twenty contributed modules, a theme and the power of Drupal Core, you could actually put together a pretty advanced site with a great backend and strong SEO. If you think there’s any we’ve missed, or better options available, please leave a comment! We’re all ears…
...
Tuesday, Aug 13, 2013
As a follow up to my previous post on Drupal 6 Post Migration Data Clean Up, I thought that a follow up for Drupal 7 would be useful. In this one I have also included the block_custom table for custom blocks, which seems to be a place I have overlooked before.
Update links inside node body and custom blocks: UPDATE `field_data_body` SET `body_value` = REPLACE(`body_value`, "http://[temporary site]", "http://[new URL]"); UPDATE `field_revision_body` SET `body_value` = REPLACE(`body_value`, "http://[temporary site]", "http://[new URL]"); UPDATE `block_custom` SET `body` = REPLACE(`body`, "http://[temporary site]", "http://[new URL]"); Update links to files/images within nodes and custom blocks: UPDATE `field_data_body` SET `body_value` = REPLACE(`body_value`, "sites/[temporary site]", "sites/[new URL]"); UPDATE `field_revision_body` SET `body_value` = REPLACE(`body_value`, "sites/[temporary site]", "sites/[new URL]"); UPDATE `block_custom` SET `body` = REPLACE(`body`, "sites/[temporary site]", "sites/[new URL]"); Another useful place if you are looking for post migration is to rebuild your sitemap (using xml_sitemap) and clear all the caches.
...
Tuesday, Aug 14, 2012
How to resolve “An AJAX HTTP request terminated abnormally” error on Drupal? As a regular Drupaller I come across quite a few errors now and again. Fortunately (although I get this one quite a bit in views) I do know what I am doing wrong. It is all down to the ````$base_urlthat you have set insettings.php. If you have set it (uncommented the # from http://www.example.com) and you attempt to use it from a non authenticated domain you will get this error. For example if you have set the $base_url``` as “http://www.mydomain.co.uk” but you are using views from the domain “http://mydomain.co.uk” then you will encounter problems. Simple change the url to the correct one!
...
Connect on LinkedIn. Follow me on Twitter. Grab the RSS Feed