Author: Matthias Kerstner

WordPress Simple Latest Posts Shortcode Plugin

Although there exist numerous WordPress plugins for integrating the latest posts into pages this new Simple Latest Posts Shortcode Plugin was created to specifically serve those people who just want to have a single line of shortcode in order to display the latest posts in their blog. Nothing more, nothing less. And yes, there also will […]

SEO Key Metrics and Factors for implementing a SEO quick check tool

In case you are searching for ways on how to implement a simple but useful SEO quick check tool here are some tips on the key metrics and factors required to get you started. The SEO quick check tool itself is based on PHP to provide a proof of concept that can be easily adapted […]

Manually update WordPress

So you want to manually upgrade your WordPress installation since the one-click update option is not available due to an ancient (pre 2.7) version or missing file permissions. Although using the one-click update option is the most comfortable one you can almost as easily update WordPress manually. The following steps show you how to manually update […]

Install PHP intl extension using Homebrew on XAMPP

Recently, when trying to install the PHP intl extension for a Symfony2 based web project using Homebrew to following error message kept showing up: /usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory /usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0 This post steps explains what is needed to install PHP intl extension using Homebrew on […]

WCAG 2.0 – Web Content Accessibility Guidelines

When designing web sites and portals make sure to also address general accessibility issues governed for instance by the WCAG 2.0 – Web Content Accessibility Guidelines. WCAG 2.0 – Web Content Accessibility Guidelines Basically, the WCAG is composed of three priority levels: Level A (beginner), Level AA (intermediate) Level AAA (advanced) Each level adds additional requirements concerning […]

Resolving IPv6 issues with GMail using qmail smtp

In case you are running into problems with Google Mail (GMail) rejecting mail from your qmail server running on native IPv6 with the following message 2a00:1450:4013:0c01:0000:0000:0000:001a failed after I sent the message. Remote host said: 550-5.7.1 [xxx:xxx:xxx:xxx::x 12] Our system has detected that this 550-5.7.1 message is likely unsolicited mail. To reduce the amount of […]

Currency conversion for Google Shopping Feed in Magento

When generating Google Shopping Feeds you need to make sure to use the correct currency for the target country. Thus, if you are planning for instance to target Great Britain make sure to use GBP as currency for prices in the Products Feed. This can be easily achieved by using the Magento extension Wyomind Data […]

Disable caching of API callbacks for Viveum Magento extension

Using a caching server like Varnish is mandatory for running Magento (efficiently). When using extensions that make use of callback API calls make sure that you exclude them from your caching rules. As we are using Viveum as payment gateway service for most eCommerce projects we generally deploy the official Viveum Magento extension. When using […]

Google mobile search update

Today, Google has released its newest search algorithm update for mobile search results. It is specifically targeted at displaying mobile-friendly website results in favor on non-mobile versions. In the first phase of this update the focus lies in searches conducted on smartphones only, tablets and other mobile devices are not yet being targeted by this […]

Mass import products to Magento multi-store setup

So, you are about to import a large amount of products into Magento. Well, there are a couple of different approaches available. First, you could use the ancient Data Flow import based on specific profiles. Then, you could use the improved Data Import version, which still is (very) resource consuming. Lastly, there is magmi – […]

String comparison in Typoscript through user functions in TYPO3

Generally, string comparison using the on-board tools provided by TypoScript can be quite cumbersome in TYPO3. Although, for instance for globalStrings there exists the possibility to use regular expressions and the * character as wildcard, oftentimes this is not flexible enough to handle more complex conditions, such as combined conditions. User functions in TypoScript Luckily, […]

WordPress Rating-Widget shows blank reporting graph when using SSL

By default, the free version of the WordPress Rating-Widget does not officially “support” SSL/https setups. In reality, there are no problems using it on SSL setups except when it comes to the reporting graph which is loaded via a http connection set in the configuration, thus causing CORS to kick and prohibit non-safe external requests: […]

Retrieving value of hidden input DOM element in Google Tag Manager (GTM)

When implementing event tracking of user comments using Google Tag Manager for WordPress I came across a pretty strange behavior when trying to retrieve the value of a hidden <input> field holding the current comment post id (comment_post_ID) that should serve as event label for Google (Universal) Analytics. WordPress Comment Form Below you find the WordPress […]